From 987fb91bfa64ebeebb7b96af89b58a149508e70f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 8 Jun 2008 15:44:54 +0200 Subject: [PATCH 0001/1254] Add simplified chinese by zhengpeng.hou@gmail.com --- src/locale/zh_CN.ts | 1522 +++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 3 +- 2 files changed, 1524 insertions(+), 1 deletion(-) create mode 100644 src/locale/zh_CN.ts diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts new file mode 100644 index 00000000..09ee1fae --- /dev/null +++ b/src/locale/zh_CN.ts @@ -0,0 +1,1522 @@ + + + + AboutDialog + + + About + 关于 + + + + AddBookmarkDialog + + + Add Bookmark + 添加书签 + + + + Type a name for the bookmark, and choose where to keep it. + 请为此书签输入名称,然后选择位置保存。 + + + + BookmarksDialog + + + Open + 打开 + + + + Delete + 删除 + + + + New Folder + 新建文件夹 + + + + Bookmarks + 书签 + + + + &Remove + 移除(&R) + + + + Add Folder + 添加文件夹 + + + + Open in New Tab + 在新标签中打开 + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + 在打开书签的第 %1 行和 %2 列时出错: + + + + Toolbar Bookmarks + 工具栏书签 + + + + Menu + 菜单 + + + + Open File + 打开文件 + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + 导入的 %1 + + + + Save File + 保存文件 + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + 导出错误 + + + + error saving bookmarks + 保存书签时出错 + + + + Remove Bookmark + 移除书签 + + + + Insert Bookmark + 插入书签 + + + + Name Change + 更改名称 + + + + Address Change + 更改地址 + + + + BookmarksModel + + + Title + 标题 + + + + Address + 地址 + + + + BookmarksToolBar + + + Bookmark + 书签 + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + 当前有 %1 个窗口和 %2 个标签打开,您真的要退出吗? + + + + BrowserMainWindow + + + &File + 文件(&F) + + + + &New Window + 新建窗口(&N) + + + + &Open File... + 打开文件(&O)... + + + + Open &Location... + 打开位置(&L)... + + + + &Save As... + 另存为(&S)... + + + + &Import Bookmarks... + 导入书签(&I)... + + + + &Export Bookmarks... + 导出书签(&E)... + + + + P&rint Preview... + 打印预览(&r)... + + + + &Print... + 打印(&P)... + + + + Private &Browsing... + 秘密浏览(&B)... + + + + &Quit + 退出(&Q) + + + + &Edit + 编辑(&E) + + + + &Undo + 撤销(&U) + + + + &Redo + 重做(&R) + + + + Cu&t + 剪切(&t) + + + + &Copy + 复制(&C) + + + + &Paste + 粘贴(&P) + + + + &Find + 搜索(&F) + + + + &Find Next + 搜索下一个(&F) + + + + &Find Previous + 搜索前一个(&F) + + + + &Preferences + 选项(&P) + + + + Ctrl+, + Ctrl+, + + + + &View + 视图(&V) + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+| + Ctrl+| + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + 停止(&S) + + + + Reload Page + 刷新页面 + + + + &Make Text Bigger + 增大文字(&M) + + + + &Make Text Normal + 恢复文字正常大小(&M) + + + + &Make Text Smaller + 缩小文字(&M) + + + + Page S&ource + 页面源文件(&o) + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + 全屏(&F) + + + + Hi&story + 历史(&s) + + + + Back + 后退 + + + + Forward + 前进 + + + + Home + 主页 + + + + Restore Last Session + 恢复最后一次的会话 + + + + &Bookmarks + 书签(&B) + + + + Manage Bookmarks... + 管理书签... + + + + Add Bookmark... + 增加书签... + + + + &Window + 窗口(&W) + + + + &Tools + 工具(&T) + + + + Web &Search + Web搜索(&S) + + + + Ctrl+K + Web Search + Ctrl+K + + + + Enable Web &Inspector + Enable Web &Inspector + + + + &Help + 帮助(&H) + + + + About &Qt + 关于Qt(&Q) + + + + About &Arora + 关于Arora(&A) + + + + Navigation + 导航 + + + + Show Status Bar + 显示状态栏 + + + + Hide Status Bar + 隐藏状态栏 + + + + Show Toolbar + 显示工具栏 + + + + Hide Toolbar + 隐藏工具栏 + + + + Show Bookmarks bar + 显示书签栏 + + + + Hide Bookmarks bar + 隐藏书签栏 + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + About + 关于 + + + + Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. + Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. + + + + Open Web Resource + 开放网络资源 + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + 网络资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有的文件 (*.*) + + + + Print Document + 打印文档 + + + + Are you sure you want to turn on private browsing? + 您确定要打开秘密浏览吗? + + + + <b>%1</b><br><br>When private browsing in turned on, webpages are not added to the history, items are automatically removed from the Downloads window, new cookies are not stored, current cookies can't be accessed, site icons wont be stored, session wont be saved, and searches are not addded to the pop-up menu in the Google search box. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>打开秘密浏览时,浏览的页面不会被添加到历史中,下载的内容会被自动从下载窗口种移除,新的cookie也不会被保存,当前的cookie也不能被访问,站点图标不会被保存,会话也将不被保存,搜索也不会添加到Google搜索框的弹出菜单中。在你关闭窗口前,你仍然可以使用前进和后退按钮来访问你曾经打开的页面。 + + + + Are you sure you want to close the window? There are %1 tab open + 您确定要关闭窗口吗? 当前已经打开了 %1 个标签。 + + + + Page Source of %1 + 页面 %1 的源码 + + + + Web Inspector + Web Inspector + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + Web inspactor只对启用后打开的页面有效。您是否要重新载入所有的页面? + + + + Stop loading the current page + 停止载入当前页面 + + + + Reload the current page + 重新载入当前页面 + + + + Downloads + 下载 + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + &Clear Private Data + 清除隐私数据(&C) + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. + <b>%1</b><br><br>当秘密浏览启用时,涉及您个人隐私的操作是被禁止的:<ul><li> 页面不会被添加到历史中。</li><li>内容会被自动从下载窗口中移除。</li><li>新的cookie不能被保存,当前cookie不能访问。</li><li>站点图标不被保存。</li><li>搜索过的关键词不会被添加到搜索框的弹出菜单中</li></ul>在关闭窗口前,您仍然可以通过前进和后退按钮访问打开的页面。 + + + + ClearButton + + + Clear + 清除 + + + + ClearPrivateData + + + Clear Private Data + 清楚个人信息 + + + + Clear the following items: + 清除以下内容: + + + + &Browsing History + 浏览历史(&amo;B) + + + + &Download History + 下载历史(&D) + + + + &Search History + 搜索历史(&S) + + + + &Cookies + &Cookies + + + + C&ache + 缓存(&a) + + + + Website &Icons + 站点图标(&I) + + + + Clear &Private Data + 清除个人数据(&P) + + + + &Cancel + 取消(&C) + + + + CookieExceptionsModel + + + Website + 站点 + + + + Status + 状态 + + + + Allow + 允许 + + + + Block + 拒绝 + + + + Allow For Session + 对此会话允许 + + + + CookieModel + + + Website + 站点 + + + + Name + 名称 + + + + Path + 路径 + + + + Secure + 安全 + + + + Expires + 过期 + + + + Contents + 内容 + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + 移除(&R) + + + + Remove &All Cookies + 移除所有的Cookie(&A) + + + + CookiesExceptionsDialog + + + Cookie Exceptions + 例外的Cookie + + + + New Exception + 新建例外 + + + + Domain: + 域: + + + + Block + 拒绝 + + + + Allow For Session + 对所有的会话允许 + + + + Allow + 允许 + + + + Exceptions + 例外 + + + + &Remove + 移除(&R) + + + + Remove &All + 移除所有(&A) + + + + DownloadDialog + + + Downloads + 下载 + + + + Clean up + 清除 + + + + 0 Items + 0 个内容 + + + + DownloadItem + + + Form + + + + + Ico + Ico + + + + Filename + 文件名 + + + + Try Again + 重试 + + + + Stop + 停止 + + + + Open + 打开 + + + + Save File + 保存文件 + + + + Download canceled: %1 + 取消下载: %1 + + + + Error opening save file: %1 + 打开已存文件错误: %1 + + + + Error saving: %1 + 保存错误: %1 + + + + Network Error: %1 + 网络错误: %1 + + + + seconds + + + + + minutes + 分钟 + + + + - %4 %5 remaining + - %4 %5 剩余 + + + + %1 of %2 (%3/sec) %4 + %1 z %2 (%3/s) %4 + + + + ? + + + + + %1 of %2 - Stopped + %1 z %2 - 停止 + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + 1 Download + 1 个下载 + + + + %1 Downloads + %1 个下载 + + + + HistoryDialog + + + Open + 打开 + + + + Copy + 复制 + + + + Delete + 删除 + + + + History + 历史 + + + + &Remove + 移除(&R) + + + + Remove &All + 移除全部(&A) + + + + HistoryMenu + + + Show All History + 显示全部历史 + + + + Clear History + 清除历史 + + + + HistoryModel + + + Title + 标题 + + + + Address + 地址 + + + + HistoryTreeModel + + + Earlier Today + 今天早些时候 + + + + %1 items + %1 条内容 + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>输入 "%1" 于 %2 的用户名和密码</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>使用如下方式连接代理 "%1":</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL错误: + +%1 + +%2 + +您要忽略这些错误吗? + + + + Do you want to accept all these certificates? + 您要接受全部这些认证吗? + + + + PasswordDialog + + + Authentication Required + 需要认证 + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + 用户名: + + + + Password: + 密码: + + + + ProxyDialog + + + Proxy Authentication + 代理认证 + + + + ICON + + + + + Connect to proxy + 连接到代理 + + + + Username: + 用户名: + + + + Password: + 密码: + + + + QObject + + + The file is not an XBEL version 1.0 file. + 此文件非XBEL 1.0版。 + + + + Unknown title + 未知标题 + + + + SearchBanner + + + Form + + + + + TextLabel + 文字标签 + + + + < + + + + + > + + + + + Done + 完成 + + + + SearchLineEdit + + + Search + 搜索 + + + + Settings + + + Settings + 设定 + + + + General + 通用 + + + + Home: + 主页: + + + + Set to current page + 使用当前页面 + + + + Remove history items: + 移除历史内容: + + + + After one day + 一天后 + + + + After one week + 一周后 + + + + After two weeks + 两周后 + + + + After one month + 一个月后 + + + + After one year + 一年后 + + + + Manually + 手动 + + + + Save downloads to: + 保存下载到: + + + + Open links from applications: + 在程序中打开链接: + + + + In a tab in the current window + 在当前窗口的标签中 + + + + In a new window + 在新窗口中 + + + + Appearance + 外观 + + + + Standard font: + 标准字体: + + + + Times 16 + Times 16 + + + + Select... + 选择... + + + + Fixed-width font: + 等宽字体: + + + + Courier 13 + Courier 13 + + + + Privacy + 隐私 + + + + Web Content + Web内容 + + + + Enable Plugins + 启用插件 + + + + Enable Javascript + 启用JavaScript + + + + Cookies + Cookies + + + + Accept Cookies: + 接受cookies: + + + + Always + 永远 + + + + Never + 永不 + + + + Only from sites you navigate to + 只从这些你访问的 + + + + Exceptions... + 例外... + + + + Keep until: + 保存到: + + + + They expire + 过期 + + + + I exit the application + 我退出程序 + + + + At most 90 days + 最多90天 + + + + Cookies... + Cookies... + + + + Proxy + 代理 + + + + Enable proxy + 启用代理 + + + + Type: + 类型: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + 主机: + + + + Port: + 端口: + + + + User Name: + 用户名: + + + + Password: + 密码: + + + + Advanced + 高级 + + + + Style Sheet: + 样式表: + + + + Downloads + 下载 + + + + Ask for a destination each time + 每次都询问目的地 + + + + Use this destination: + 使用此目的地: + + + + TabBar + + + New &Tab + 新建标签(&T) + + + + Duplicate Tab + 复制标签 + + + + &Close Tab + 关闭标签(&C) + + + + Close &Other Tabs + 关闭其它标签(&O) + + + + Reload Tab + 重载标签 + + + + Reload All Tabs + 重新载入所有标签 + + + + TabWidget + + + New &Tab + 新建标签(&T) + + + + &Close Tab + 关闭标签(&C) + + + + Show Next Tab + 显示下一个标签 + + + + Show Previous Tab + 显示前一个标签 + + + + Recently Closed Tabs + 最近关闭的标签 + + + + (Untitled) + 无标题 + + + + Do you really want to close this page? + 您确定要关闭此页? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + 您已经修改了页面,关闭将导致您的修改丢失。您确定要关闭此页吗? + + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + 无最近的搜索 + + + + Recent Searches + 最近的搜索 + + + + Clear Recent Searches + 清除最近的搜索 + + + + WebPage + + + Error loading page: %1 + 载入页面: %1 发生错误 + + + + WebView + + + Open in New Tab + 在新标签中打开 + + + + Open in New &Window + 在新窗口中打开(&W) + + + + Open in New &Tab + 在新标签中打开(&T) + + + + Save Lin&k + 保存链接(&k) + + + + &Bookmark This Link + 添加此链接到书签(&B) + + + + &Copy Link Location + 复制链接(&C) + + + + Open Image in New &Window + 在新窗口中打开图片(&W) + + + + Open Image in New &Tab + 在新标签中打开图片(&T) + + + + &Save Image + 保存图片(&S) + + + + &Copy Image + 复制图片(&C) + + + + C&opy Image Location + 复制图片地址(&o) + + + + WebViewSearch + + + Not Found + 未发现 + + + diff --git a/src/src.pro b/src/src.pro index 63fcc0ff..a6e97785 100644 --- a/src/src.pro +++ b/src/src.pro @@ -25,7 +25,8 @@ TRANSLATIONS += \ locale/it.ts \ locale/pl.ts \ locale/pt_BR.ts \ - locale/ru.ts + locale/ru.ts \ + locale/zh_CN.ts updateqm.input = TRANSLATIONS updateqm.output = .qm/locale/${QMAKE_FILE_BASE}.qm From e68994e9cbce2f2d263cc583f615c15bd6b40bbd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 8 Jun 2008 15:57:48 +0200 Subject: [PATCH 0002/1254] fix xml --- src/locale/zh_CN.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index 09ee1fae..2a64ec7e 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -1005,7 +1005,7 @@ Do you want to ignore these errors? Username: - 用户名: + 用户名: From e96f5cffc9e0743928c682fb709820f4e10cc7c6 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 6 Jun 2008 07:04:14 +0200 Subject: [PATCH 0003/1254] ignore swap files from editors --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 353adde5..db44a040 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ Makefile .rcc .qm .gdb_history +*.swp autotests/addbookmarkdialog/addbookmarkdialog autotests/autosaver/autosaver From d7d51a5705c54777f95df12cb151c8caa25d7dd3 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 6 Jun 2008 07:11:21 +0200 Subject: [PATCH 0004/1254] always use loadUrl so we can update the tab title --- src/tabwidget.cpp | 8 ++------ src/webview.cpp | 17 ++++++++++++++--- src/webview.h | 3 ++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 7182b8f1..23fd10a2 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -509,7 +509,7 @@ void TabWidget::cloneTab(int index) if (index < 0 || index >= count()) return; WebView *tab = makeNewTab(); - tab->setUrl(webView(index)->url()); + tab->loadUrl(webView(index)->url()); } // When index is -1 index chooses the current tab @@ -737,12 +737,8 @@ void TabWidget::loadUrl(const QUrl &url, Tab type, const QString &title) } if (webView) { - webView->loadUrl(url); + webView->loadUrl(url, title); webView->setFocus(); - if (!title.isEmpty()) { - int tabIndex = webViewIndex(webView); - setTabText(tabIndex, title); - } } } diff --git a/src/webview.cpp b/src/webview.cpp index e8e08f58..469458a0 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -123,7 +123,7 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r bool selectNewTab = (m_keyboardModifiers & Qt::ShiftModifier); webView = mainWindow()->tabWidget()->makeNewTab(selectNewTab); } - webView->load(request); + webView->loadUrl(request); m_keyboardModifiers = Qt::NoModifier; m_pressedButtons = Qt::NoButton; return false; @@ -354,12 +354,23 @@ void WebView::loadFinished() m_progress = 0; } -void WebView::loadUrl(const QUrl &url) +void WebView::loadUrl(const QUrl &url, const QString &title) { m_initialUrl = url; + if (!title.isEmpty()) + emit titleChanged(tr("Loading...")); + else + emit titleChanged(title); load(url); } +void WebView::loadUrl(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &body) +{ + m_initialUrl = request.url(); + emit titleChanged(tr("Loading...")); + QWebView::load(request, operation, body); +} + QString WebView::lastStatusBarText() const { return m_statusBarText; @@ -387,7 +398,7 @@ void WebView::mouseReleaseEvent(QMouseEvent *event) if (!event->isAccepted() && (m_page->m_pressedButtons & Qt::MidButton)) { QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { - setUrl(url); + loadUrl(url); } } } diff --git a/src/webview.h b/src/webview.h index f2be9ad1..bdc77d3d 100644 --- a/src/webview.h +++ b/src/webview.h @@ -114,7 +114,8 @@ class WebView : public QWebView WebView(QWidget *parent = 0); WebPage *webPage() const { return m_page; } - void loadUrl(const QUrl &url); + void loadUrl(const QUrl &url, const QString &title = QString()); + void loadUrl(const QNetworkRequest &request, QNetworkAccessManager::Operation operation = QNetworkAccessManager::GetOperation, const QByteArray &body = QByteArray()); QUrl url() const; QString lastStatusBarText() const; From 06003e8ba67c8d9c7dc75008f591acd8866a7c76 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 9 Jun 2008 17:00:20 +0200 Subject: [PATCH 0005/1254] Remove compile warnings when using Qt 4.4.x --- src/tabwidget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 23fd10a2..1eabd252 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -560,7 +560,11 @@ void TabWidget::closeTab(int index) QLabel *TabWidget::animationLabel(int index, bool addMovie) { -#if QT_VERSION >= 0x040500 +#if QT_VERSION < 0x040500 + Q_UNUSED(index); + Q_UNUSED(addMovie); + return 0; +#else if (-1 == index) return 0; QTabBar::ButtonPosition side = m_tabBar->freeSide(); From 9171983553598d19a6043296cc30be8cdc21d293 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 9 Jun 2008 17:39:48 +0200 Subject: [PATCH 0006/1254] Use QWebSettings::webGraphic to store the default icon rather then the browserApplication. --- src/browserapplication.cpp | 14 ++++++++++---- src/browserapplication.h | 3 +-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 8a39dfba..6fae1602 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -470,14 +470,20 @@ BookmarksManager *BrowserApplication::bookmarksManager() return s_bookmarksManager; } -QIcon BrowserApplication::icon(const QUrl &url) const +QIcon BrowserApplication::icon(const QUrl &url) { QIcon icon = QWebSettings::iconForUrl(url); if (!icon.isNull()) return icon.pixmap(16, 16); - if (m_defaultIcon.isNull()) - m_defaultIcon = QIcon(QLatin1String(":defaulticon.png")); - return m_defaultIcon.pixmap(16, 16); + if (icon.isNull()) { + QPixmap pixmap = QWebSettings::webGraphic(QWebSettings::DefaultFrameIconGraphic); + if (pixmap.isNull()) { + pixmap = QPixmap(QLatin1String(":defaulticon.png")); + QWebSettings::setWebGraphic(QWebSettings::DefaultFrameIconGraphic, pixmap); + } + return pixmap; + } + return icon; } QString BrowserApplication::dataDirectory() const diff --git a/src/browserapplication.h b/src/browserapplication.h index 64436a82..f36d7917 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -92,7 +92,7 @@ class BrowserApplication : public QApplication bool isTheOnlyBrowser() const; BrowserMainWindow *mainWindow(); QList mainWindows(); - QIcon icon(const QUrl &url) const; + static QIcon icon(const QUrl &url); void saveSession(); bool canRestoreSession() const; @@ -134,7 +134,6 @@ private slots: QList > m_mainWindows; QLocalServer *m_localServer; QByteArray m_lastSession; - mutable QIcon m_defaultIcon; }; #endif // BROWSERAPPLICATION_H From 8261713e61bbf8c2488fd2cea6206ee1710a3c55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sun, 8 Jun 2008 20:49:49 +0200 Subject: [PATCH 0007/1254] Updated Czech translation --- src/locale/cs_CZ.ts | 475 +++++++++++++++++++++++++------------------- 1 file changed, 275 insertions(+), 200 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index e416599d..0cba87da 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -1,12 +1,47 @@ - + + AboutDialog - + About O prohl铆啪e膷i + + + Authors + Auto艡i + + + + License + Licence + + + + Lightweight WebKit-based web browser + Lehk媒 webov媒 prohl铆啪e膷 zalo啪en媒 na WebKitu + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + Zav艡铆t + AddBookmarkDialog @@ -157,7 +192,7 @@ BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Je otev艡eno %1 oken a %2 panel暖 @@ -167,122 +202,122 @@ P艡esto ukon膷it? BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... - + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t - + &Find Next Naj铆&t dal拧铆 - + &Find Previous Naj铆t &p艡edchoz铆 - + &Preferences P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B @@ -292,173 +327,173 @@ P艡esto ukon膷it? Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit - + Reload Page O&bnovit - + &Make Text Bigger Z&v臎t拧it p铆smo - + &Make Text Normal &Norm谩ln铆 velikost p铆sma - + &Make Text Smaller Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 - + Show Bookmarks bar Zobrazit panel z谩lo啪ek - + Hide Bookmarks bar Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -474,22 +509,22 @@ P艡esto ukon膷it? Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? @@ -499,61 +534,66 @@ P艡esto ukon膷it? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tab open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 - + Page Source of %1 Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. + <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. @@ -570,78 +610,78 @@ Do you want to reload all pages? Clear Private Data - + Vy膷istit soukrom谩 data Clear the following items: - + Vy膷istit tyto polo啪ky: &Browsing History - + &Historie prohl铆啪en铆 &Download History - + Historie &stahov谩n铆 &Search History - + Historie hled谩n铆 &Cookies - + &Cookies C&ache - + Vyrovn谩vac铆 &pam臎钮 Website &Icons - + Ikony str谩nek Clear &Private Data - + Vy膷istit soukrom谩 data &Cancel - + Zru拧it CookieExceptionsModel - + Website Adresa - + Status Stav - + Allow Povoleno - + Block Blokovat - + Allow For Session Povolit pro relaci @@ -649,32 +689,32 @@ Do you want to reload all pages? CookieModel - + Website Adresa - + Name Jm茅no - + Path Cesta - + Secure Zabezpe膷en茅 - + Expires Vypr拧铆 - + Contents Obsah @@ -768,12 +808,12 @@ Do you want to reload all pages? Form - + Ico - + @@ -796,85 +836,85 @@ Do you want to reload all pages? Otev艡铆t - + Save File Ulo啪it soubor - + Download canceled: %1 Stahov谩n铆 zru拧eno: %1 - + Error opening save file: %1 Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 - + Error saving: %1 Chyba p艡i ukl谩d谩n铆: %1 - + Network Error: %1 Chyba s铆t臎: %1 - + seconds sekund - + minutes minut - + - %4 %5 remaining - %4 %5 zb媒v谩 - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 - + ? - + - + %1 of %2 - Stopped %1 z %2 - Zastaveno - + bytes bajt暖 - + kB - + - + MB - + DownloadManager - + 1 Download 1 stahov谩n铆 - + %1 Downloads %1 stahov谩n铆 @@ -882,17 +922,17 @@ Do you want to reload all pages? HistoryDialog - + Open Otev艡铆t - + Copy Kop铆rovat - + Delete Smazat @@ -915,12 +955,12 @@ Do you want to reload all pages? HistoryMenu - + Show All History Zobrazit v拧echnu historii - + Clear History Vy膷istit historii @@ -928,12 +968,12 @@ Do you want to reload all pages? HistoryModel - + Title Titulek - + Address Adresa @@ -941,12 +981,12 @@ Do you want to reload all pages? HistoryTreeModel - + Earlier Today D艡铆ve dnes - + %1 items %1 polo啪ek @@ -996,12 +1036,12 @@ Chce拧 ignorovat tyto chyby? DUMMY ICON - + INTRO TEXT DUMMY - + @@ -1024,7 +1064,7 @@ Chce拧 ignorovat tyto chyby? ICON - + @@ -1060,33 +1100,33 @@ Chce拧 ignorovat tyto chyby? Form - + TextLabel - + < - + > - + Done - Hotovo + Hotovo SearchLineEdit - + Search Hledat @@ -1154,268 +1194,303 @@ Chce拧 ignorovat tyto chyby? Ulo啪it stahov谩n铆 do: - + Open links from applications: Otev艡铆t odkazy z aplikac铆: - + In a tab in the current window V panelu v aktu谩ln铆m okn臎 - + In a new window V nov茅m okn臎 - + Appearance Vzhled - + Standard font: Standardn铆 p铆smo: - + Times 16 Times 16 - + Select... Vybrat... - + Fixed-width font: P铆smo s pevnou 拧铆艡kou: - + Courier 13 Courier 13 - + Privacy Soukrom铆 - + Web Content Obsah webu - + Enable Plugins Povolit plug-iny - + Enable Javascript Povolit JavaScript - + Cookies Cookies - + Accept Cookies: P艡ij铆mat cookies: - + Always V啪dy - + Never Nikdy - + Only from sites you navigate to Pouze z nav拧t铆ven媒ch str谩nek - + Exceptions... V媒jimky... - + Keep until: Uchovat dokud: - + They expire Vypr拧铆 - + I exit the application Ukon膷en铆 aplikace - + At most 90 days Maxim谩ln臎 90 dn铆 - + Cookies... Cookies... - + Proxy Proxy - + Enable proxy Povolit proxy - + Type: Typ: - + Socks5 Socks5 - + Http Http - + Host: Server: - + Port: Port: - + User Name: U啪ivatelsk茅 jm茅no: - + Password: Heslo: - + Advanced Roz拧铆艡en茅 - + Style Sheet: CSS styl: - + Downloads - Stahov谩n铆 + Stahov谩n铆 - + Ask for a destination each time V啪dy se pt谩t na um铆st臎n铆 stahov谩n铆 - + Use this destination: Pou啪铆t toto um铆st臎n铆: + + + On application exit + P艡i ukon膷en铆 aplikace + + + + Enable Images + Povolit obr谩zky + + + + Tabs + Panely + + + + Select tabs and windows as they are created + P艡ep铆nat na okna nebo panely, kdy啪 jsou vytvo艡eny + + + + Confirm when closing multiple tabs + Vy啪adovat potvrzen铆 p艡i zav铆r谩n铆 v铆ce panel暖 + TabBar - + New &Tab &Nov媒 panel - + Duplicate Tab Duplikovat panel - + &Close Tab &Zav艡铆t panel - + Close &Other Tabs Zav艡铆t o&statn铆 panely - + Reload Tab &Obnovit panel - + Reload All Tabs O&bnovit v拧echny panely + + + Show Tab Bar + Zobrazit li拧tu panel暖 + + + + Hide Tab Bar + Skr媒t li拧tu panel暖 + TabWidget - + New &Tab &Nov媒 panel - + &Close Tab &Zav艡铆t panel - + Show Next Tab Zobrazit dal拧铆 panel - + Show Previous Tab Zobrazit p艡edchoz铆 panel - + Recently Closed Tabs Posledn臎 zav艡en茅 panely - + (Untitled) (Bez titulku) - + Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1429,7 +1504,7 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? Google - + @@ -1465,52 +1540,52 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? Open in New &Window - Otev艡铆t v nov茅m okn臎 + Otev艡铆t v nov茅m okn臎 Open in New &Tab - Otev艡铆t v &nov茅m panelu + Otev艡铆t v &nov茅m panelu Save Lin&k - Ulo啪it o&dkaz + Ulo啪it o&dkaz &Bookmark This Link - &Vytvo艡it z谩lo啪ku pro tento odkaz + &Vytvo艡it z谩lo啪ku pro tento odkaz &Copy Link Location - &Kop铆rovat adresu odkazu + &Kop铆rovat adresu odkazu Open Image in New &Window - Otev艡铆t obr谩zek v nov茅m okn臎 + Otev艡铆t obr谩zek v nov茅m okn臎 Open Image in New &Tab - Otev艡铆t obr谩zek v nov茅m panelu + Otev艡铆t obr谩zek v nov茅m panelu &Save Image - Ulo啪it obr谩zek + Ulo啪it obr谩zek &Copy Image - Kop铆rovat o&br谩zek + Kop铆rovat o&br谩zek C&opy Image Location - Kop铆rovat adresu ob&r谩zku + Kop铆rovat adresu ob&r谩zku From 148c4ed61c0b7ab2c197cd1bb7bdc053cb610174 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 11 Jun 2008 18:06:13 +0200 Subject: [PATCH 0008/1254] include class name in autosavers warning --- src/autosaver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/autosaver.cpp b/src/autosaver.cpp index 58912f1e..45b21aef 100644 --- a/src/autosaver.cpp +++ b/src/autosaver.cpp @@ -80,8 +80,8 @@ AutoSaver::~AutoSaver() { if (m_timer.isActive()) { qWarning() << "AutoSaver: still active when destroyed, changes not saved."; - if (parent()) - qWarning() << parent() << "should call saveIfNeccessary"; + if (parent() && parent()->metaObject()) + qWarning() << parent() << parent()->metaObject()->className() << "should call saveIfNeccessary"; } } From 4f28bc129d882f11483e17907e431393b78c555b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 11 Jun 2008 18:04:49 +0200 Subject: [PATCH 0009/1254] Use a QPointer around the webview for extra safety in the location bar --- src/urllineedit.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/urllineedit.h b/src/urllineedit.h index 4f31c24e..af3fbbd5 100644 --- a/src/urllineedit.h +++ b/src/urllineedit.h @@ -66,6 +66,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE class QLineEdit; @@ -124,7 +125,7 @@ private slots: private: QLinearGradient generateGradient(const QColor &color) const; - WebView *m_webView; + QPointer m_webView; UrlIconLabel *m_iconLabel; QColor m_defaultBaseColor; From adfc0291ac6fcacbb4c9a493e65d987dcd68fbb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sun, 8 Jun 2008 22:13:57 +0200 Subject: [PATCH 0010/1254] Bytes count moved to double in DownloadManager Signed-off-by: Benjamin C Meyer --- src/downloadmanager.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 3afea011..6bebb249 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -347,16 +347,19 @@ void DownloadItem::updateInfoLabel() QString DownloadItem::dataString(int size) const { QString unit; + double newSize; + if (size < 1024) { + newSize = size; unit = tr("bytes"); } else if (size < 1024 * 1024) { - size /= 1024; + newSize = (double)size / (double)1024; unit = tr("kB"); } else { - size /= 1024 * 1024; + newSize = (double)size / (double)(1024 * 1024); unit = tr("MB"); } - return QString(QLatin1String("%1 %2")).arg(size).arg(unit); + return QString(QLatin1String("%1 %2")).arg(newSize, 0, 'f', 1).arg(unit); } bool DownloadItem::downloading() const From 092def95fea123df24991f5a64e24511ec169175 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 11 Jun 2008 18:51:46 +0200 Subject: [PATCH 0011/1254] fix compile --- src/urllineedit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/urllineedit.h b/src/urllineedit.h index af3fbbd5..04ff5b33 100644 --- a/src/urllineedit.h +++ b/src/urllineedit.h @@ -66,7 +66,7 @@ #include #include #include -#include +#include QT_BEGIN_NAMESPACE class QLineEdit; From 3678e2ce352f7bbf62235206bc2c7103d035db82 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 13 Jun 2008 18:02:17 +0200 Subject: [PATCH 0012/1254] Remove the loadUrl function from MainWindow which converts url's to string (which can be harmful) and just use the url function in the tabwidget which only deals with QUrl's and not the strings. --- src/browsermainwindow.cpp | 8 ++------ src/browsermainwindow.h | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index cb10e333..96be0d6f 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -512,7 +512,8 @@ void BrowserMainWindow::setupToolBar() m_navigationSplitter->addWidget(m_tabWidget->lineEditStack()); m_toolbarSearch = new ToolbarSearch(m_navigationBar); m_navigationSplitter->addWidget(m_toolbarSearch); - connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), SLOT(loadUrl(const QUrl&))); + connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), + m_tabWidget, SLOT(loadUrl(const QUrl&))); m_navigationSplitter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); m_tabWidget->lineEditStack()->setMinimumWidth(120); m_navigationSplitter->setCollapsible(0, false); @@ -636,11 +637,6 @@ QUrl BrowserMainWindow::guessUrlFromString(const QString &string) return url; } -void BrowserMainWindow::loadUrl(const QUrl &url) -{ - loadPage(url.toString()); -} - void BrowserMainWindow::slotDownloadManager() { BrowserApplication::downloadManager()->show(); diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index ea98df12..4bd5d6cd 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -112,7 +112,6 @@ private slots: void slotUpdateStatusbar(const QString &string); void slotUpdateWindowTitle(const QString &title = QString()); - void loadUrl(const QUrl &url); void slotPreferences(); void slotFileNew(); From e5c39246030863e6d231aef8a4f9fa950b480440 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 13 Jun 2008 18:02:58 +0200 Subject: [PATCH 0013/1254] Fix bash script --- git_hooks/pre-commit_checkstyle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git_hooks/pre-commit_checkstyle b/git_hooks/pre-commit_checkstyle index d52ab8a3..442b56a6 100755 --- a/git_hooks/pre-commit_checkstyle +++ b/git_hooks/pre-commit_checkstyle @@ -9,7 +9,7 @@ if [ $? -eq 127 ] ; then exit 0; fi -// Something close to our style which is the same as the Qt4 code style +# Something close to our style which is the same as the Qt4 code style #astyle --indent=spaces=4 --brackets=linux --indent-labels --pad=oper --unpad=paren --one-line=keep-statements --convert-tabs --indent-preprocessor `find -type f -name '*.cpp'` `find -type f -name '*.h'` echo "--Checking style--" From 0ae1fc64c3e045af04ce21cde20015d179bbbac0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 14 Jun 2008 13:48:13 +0200 Subject: [PATCH 0014/1254] Improve the string->url guessing --- src/browsermainwindow.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 96be0d6f..5182dac5 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -605,7 +605,20 @@ QUrl BrowserMainWindow::guessUrlFromString(const QString &string) // Check if it looks like a qualified URL. Try parsing it and see. bool hasSchema = test.exactMatch(urlStr); if (hasSchema) { - QUrl url(urlStr, QUrl::TolerantMode); + bool isAscii = true; + foreach (QChar c, urlStr) { + if (c >= 0x80) { + isAscii = false; + break; + } + } + + QUrl url; + if (isAscii) { + url = QUrl::fromEncoded(urlStr.toAscii(), QUrl::TolerantMode); + } else { + url = QUrl(urlStr, QUrl::TolerantMode); + } if (url.isValid()) return url; } From 29c473051f25c83721e1613bd677f7b4f125173e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 14 Jun 2008 13:52:15 +0200 Subject: [PATCH 0015/1254] Add Dutch translation by Kristof Bal --- src/locale/nl.ts | 1576 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1577 insertions(+) create mode 100644 src/locale/nl.ts diff --git a/src/locale/nl.ts b/src/locale/nl.ts new file mode 100644 index 00000000..618db99c --- /dev/null +++ b/src/locale/nl.ts @@ -0,0 +1,1576 @@ + + + + + AboutDialog + + + About + Over + + + + Authors + Auteurs + + + + License + Licentie + + + + Lightweight WebKit-based web browser + Lichte browser gebaseerd op WebKit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Sluiten + + + + AddBookmarkDialog + + + Add Bookmark + Bladwijzer toevoegen + + + + Type a name for the bookmark, and choose where to keep it. + Voer de naam voor de bladwijzer in, en kies waar op te slaan. + + + + BookmarksDialog + + + Open + Openen + + + + Open in New Tab + Openen in nieuwe tab + + + + Delete + Verwijderen + + + + New Folder + Nieuwe map + + + + Bookmarks + Bladwijzers + + + + &Remove + Ver&wijderen + + + + Add Folder + Map toevoegen + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Fout bij laden van bladwijzers op lijn %1, kolom %2: +%3 + + + + Toolbar Bookmarks + Werkbalkbladwijzers + + + + Menu + Menu + + + + Open File + Bestand openen + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 ge茂mporteerd + + + + Save File + Bestand opslaan + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Fout bij het exporteren + + + + error saving bookmarks + fout bij het opslaan van de bladwijzers + + + + Remove Bookmark + Bladwijzer verwijderen + + + + Insert Bookmark + Bladwijzer invoegen + + + + Name Change + Naam wijzigen + + + + Address Change + Adres wijzigen + + + + BookmarksModel + + + Title + Titel + + + + Address + Adres + + + + BookmarksToolBar + + + Bookmark + Bladwijzer + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Er zijn %1 vensters en %2 tabs geopend +Wilt u toch afsluiten? + + + + BrowserMainWindow + + + &File + &Bestand + + + + &New Window + &Nieuw venster + + + + &Open File... + Bestand &openen... + + + + Open &Location... + &Locatie openen... + + + + &Save As... + O&pslaan als... + + + + &Import Bookmarks... + Bladwijzers &importeren... + + + + &Export Bookmarks... + Bladwijzers &exporteren... + + + + P&rint Preview... + Afdruk&voorbeeld... + + + + &Print... + &Afdrukken... + + + + Private &Browsing... + Priv茅sur&fen... + + + + &Quit + &Afsluiten + + + + &Edit + &Bewerken + + + + &Undo + Onge&daan maken + + + + &Redo + Op&nieuw doen + + + + Cu&t + Kn&ippen + + + + &Copy + &Kopieren + + + + &Paste + Plakk&en + + + + &Find + &Zoeken + + + + &Find Next + Volgende &zoeken + + + + &Find Previous + Vorige &zoeken + + + + &Preferences + &Voorkeuren + + + + Ctrl+, + Ctrl+, + + + + &View + Bee&ld + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &Stoppen + + + + Reload Page + Pagina herladen + + + + &Make Text Bigger + Tekst groter &maken + + + + &Make Text Normal + Tekst normaal &maken + + + + &Make Text Smaller + Tekst kleiner &maken + + + + Page S&ource + Paginab&ron + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + Volledig s&cherm + + + + Hi&story + &Geschiedenis + + + + Back + Terug + + + + Forward + Vooruit + + + + Home + Startpagina + + + + Restore Last Session + Vorige sessie herstellen + + + + &Bookmarks + Bladwi&jzers + + + + Manage Bookmarks... + Bladwijzers beheren... + + + + Add Bookmark... + Bladwijzer toevoegen... + + + + &Window + &Venster + + + + &Tools + H&ulpmiddelen + + + + Web &Search + Web&zoeken + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + Priv茅gegevens &wissen + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + Web &Inspector inschakelen + + + + &Help + &Help + + + + About &Qt + Over &Qt + + + + About &Arora + Over &Arora + + + + Navigation + Navigatie + + + + Show Status Bar + Statusbalk tonen + + + + Hide Status Bar + Statusbalk verbergen + + + + Show Toolbar + Werkbalk tonen + + + + Hide Toolbar + Werkbalk verbergen + + + + Show Bookmarks bar + Bladwijzerbalk tonen + + + + Hide Bookmarks bar + Bladwijzerbalk verbergen + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Webresources openen + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Webresources (*.html *.htm *.svg *.png *.gif *.svgz);;Alle bestanden(*.*) + + + + Print Document + Document afdrukken + + + + Are you sure you want to turn on private browsing? + Bent u zeker dat u priv茅surfen wilt inschakelen? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Als priv茅surfen aan staat zullen sommige acties omtrent uw privacy worden uitgeschakeld:<ul><li> Webpagina's worden niet toegevoegd aan de geschiedenis.</li><li> Items worden automatisch verwijderd uit het Downloads-scherm.</li><li> Nieuwe cookies worden niet opgeslagen, huidige cookies kunnen niet worden bereikt.</li><li> Sitepictogrammen en sessie's worden niet opgeslagen.</li><li> Zoekopdrachten worden niet toegevoegd aan het pop-upmenu in de zoekbalk.</li></ul>Totdat u het venster sluit, kunt u nog altijd de Terug- en Vooruitknoppen gebruiken om terug te keren naar webpagina's die u heeft geopend. + + + + Are you sure you want to close the window? There are %1 tab open + Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend + + + + Page Source of %1 + Paginabron van %1 + + + + Web Inspector + Web Inspector + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + De Web Inspector zal alleen correct werken voor pagina's die werden geladen na het inschakelen. +Wilt u alle pagina's herladen? + + + + Stop loading the current page + Stop het laden van deze pagina + + + + Reload the current page + Deze pagina herladen + + + + Downloads + Downloads + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + + Clear + Wissen + + + + ClearPrivateData + + + Clear Private Data + Priv茅gegevens wissen + + + + Clear the following items: + Volgende items wissen: + + + + &Browsing History + &Surfgeschiedenis + + + + &Download History + &Downloadgeschiedenis + + + + &Search History + &Zoekgeschiedenis + + + + &Cookies + &Cookies + + + + C&ache + Cac&he + + + + Website &Icons + Website&pictogrammen + + + + Clear &Private Data + Priv茅&gegevens wissen + + + + &Cancel + &Annuleren + + + + CookieExceptionsModel + + + Website + Website + + + + Status + Status + + + + Allow + Toestaan + + + + Block + Blokkeren + + + + Allow For Session + Voor deze sessie toestaan + + + + CookieModel + + + Website + Website + + + + Name + Naam + + + + Path + Pad + + + + Secure + Veilig + + + + Expires + Vervalt + + + + Contents + Inhoud + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + Ver&wijderen + + + + Remove &All Cookies + &Alle cookies verwijderen + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Cookie-uitzonderingen + + + + New Exception + Nieuwe uitzondering + + + + Domain: + Domein: + + + + Block + Blokkeren + + + + Allow For Session + Toestaan voor sessie + + + + Allow + Toestaan + + + + Exceptions + Uitzonderingen + + + + &Remove + Ver&wijderen + + + + Remove &All + &Alle verwijderen + + + + DownloadDialog + + + Downloads + Downloads + + + + Clean up + Opschonen + + + + 0 Items + 0 items + + + + DownloadItem + + + Form + + + + + Ico + + + + + Filename + Bestandsnaam + + + + Try Again + Opnieuw proberen + + + + Stop + Stoppen + + + + Open + Openen + + + + Save File + Bestand opslaan + + + + Download canceled: %1 + Download geannuleerd: %1 + + + + Error opening save file: %1 + Fout bij het opslaan van bestand: %1 + + + + Error saving: %1 + Fout bij opslaan: %1 + + + + Network Error: %1 + Netwerkfout: %1 + + + + seconds + seconden + + + + minutes + minuten + + + + - %4 %5 remaining + - %4 %5 resterend + + + + %1 of %2 (%3/sec) %4 + %1 van %2 (%3/sec) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 van %2 - Gestopt + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + 1 Download + 1 download + + + + %1 Downloads + %1 downloads + + + + HistoryDialog + + + Open + Openen + + + + Copy + Kopieren + + + + Delete + Verwijderen + + + + History + Geschiedenis + + + + &Remove + Ver&wijderen + + + + Remove &All + &Alles verwijderen + + + + HistoryMenu + + + Show All History + Toon volledige geschiedenis + + + + Clear History + Geschiedenis wissen + + + + HistoryModel + + + Title + Titel + + + + Address + Adres + + + + HistoryTreeModel + + + Earlier Today + Eerder vandaag + + + + %1 items + %1 items + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Voer gebruikersnaam en wachtwoord voor "%1" op %2 in</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Verbinden met proxy "%1" met:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL-foutmeldingen: + +%1 + +%2 + +Wilt u deze foutmeldingen negeren? + + + + Do you want to accept all these certificates? + Wilt u al deze certificaten accepteren? + + + + PasswordDialog + + + Authentication Required + Authentificatie vereist + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Gebruikersnaam: + + + + Password: + Wachtwoord: + + + + ProxyDialog + + + Proxy Authentication + Proxy-authentificatie + + + + ICON + ICON + + + + Connect to proxy + Met proxy verbinden + + + + Username: + Gebruikersnaam: + + + + Password: + Wachtwoord: + + + + QObject + + + The file is not an XBEL version 1.0 file. + Het bestand is geen XBEL 1.0-bestand. + + + + Unknown title + Onbekende titel + + + + SearchBanner + + + Form + + + + + TextLabel + + + + + < + < + + + + > + > + + + + Done + Klaar + + + + SearchLineEdit + + + Search + Zoeken + + + + Settings + + + Settings + Instellingen + + + + General + Algemeen + + + + Home: + Startpagina: + + + + Set to current page + Huidige pagina gebruiken + + + + Remove history items: + Geschiedenisitems verwijderen: + + + + After one day + Na 茅茅n dag + + + + After one week + Na 茅茅n week + + + + After two weeks + Na twee weken + + + + After one month + Na 茅茅n maand + + + + After one year + Na 茅茅n jaar + + + + Manually + Handmatig + + + + On application exit + Bij het afsluiten van het programma + + + + Open links from applications: + Links uit programma's openen: + + + + In a tab in the current window + In een tab in het huidige venster + + + + In a new window + In een nieuw venster + + + + Downloads + Downloads + + + + Ask for a destination each time + Elke keer om een bestemming vragen + + + + Use this destination: + Deze bestemming gebruiken: + + + + Appearance + Uiterlijk + + + + Standard font: + Standaard lettertype: + + + + Times 16 + Times 16 + + + + Select... + Selecteren... + + + + Fixed-width font: + Lettertype met vaste breedte: + + + + Courier 13 + Courier 13 + + + + Privacy + Privacy + + + + Web Content + Webinhoud + + + + Enable Plugins + Plugins inschakelen + + + + Enable Javascript + Javascript inschakelen + + + + Enable Images + Afbeeldingen toestaan + + + + Cookies + Cookies + + + + Accept Cookies: + Cookies accepteren: + + + + Always + Altijd + + + + Never + Nooit + + + + Only from sites you navigate to + Alleen van sites waar u heen surft + + + + Exceptions... + Uitzonderingen... + + + + Keep until: + Houden tot: + + + + They expire + Ze vervallen + + + + I exit the application + Ik het programma afsluit + + + + At most 90 days + Maximaal 90 dagen + + + + Cookies... + Cookies... + + + + Tabs + Tabs + + + + Select tabs and windows as they are created + Tabs en vensters selecteren als ze gemaakt worden + + + + Confirm when closing multiple tabs + Bevestiging vragen bij het sluiten van meerdere tabs + + + + Proxy + Proxy + + + + Enable proxy + Proxy inschakelen + + + + Type: + Type: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + Host: + + + + Port: + Poort: + + + + User Name: + Gebruikersnaam: + + + + Password: + Wachtwoord: + + + + Advanced + Geavanceerd + + + + Style Sheet: + Stijlblad: + + + + TabBar + + + Show Tab Bar + Tabbalk tonen + + + + Hide Tab Bar + Tabbalk verbergen + + + + New &Tab + Nieuwe &tab + + + + Duplicate Tab + Tab klonen + + + + &Close Tab + Tab &sluiten + + + + Close &Other Tabs + &Andere tabs sluiten + + + + Reload Tab + Tab herladen + + + + Reload All Tabs + Alle tabs herladen + + + + TabWidget + + + New &Tab + Nieuwe &tab + + + + &Close Tab + Tab &sluiten + + + + Show Next Tab + Volgende tab tonen + + + + Show Previous Tab + Vorige tab tonen + + + + Recently Closed Tabs + Kortgeleden gesloten tabs + + + + (Untitled) + (Zonder titel) + + + + Do you really want to close this page? + Bent u zeker dat u deze pagina wilt sluiten? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + U hebt deze pagina gewijzigd en als u deze sluit zult u de wijzigingen kwijtraken. +Bent u zeker dat u deze pagina wilt sluiten? + + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + Geen recente zoekopdrachten + + + + Recent Searches + Recente zoekopdrachten + + + + Clear Recent Searches + Recente zoekopdrachten wissen + + + + WebPage + + + Error loading page: %1 + Fout bij het laden van de pagina: %1 + + + + WebView + + + Open in New &Window + In nieuw &venster openen + + + + Open in New &Tab + In nieuwe &tab openen + + + + Save Lin&k + L&ink opslaan + + + + &Bookmark This Link + &Bladwijzer maken van deze link + + + + &Copy Link Location + Linklocatie &kopieren + + + + Open Image in New &Window + Afbeelding openen in nieuw &venster + + + + Open Image in New &Tab + Afbeelding openen in nieuwe &tab + + + + &Save Image + Afbeelding &opslaan + + + + &Copy Image + Afbeelding &kopieren + + + + C&opy Image Location + Afbeeldingslocatie& kopieren + + + + Loading... + Laden... + + + + WebViewSearch + + + Not Found + Niet gevonden + + + diff --git a/src/src.pro b/src/src.pro index a6e97785..382f0692 100644 --- a/src/src.pro +++ b/src/src.pro @@ -26,6 +26,7 @@ TRANSLATIONS += \ locale/pl.ts \ locale/pt_BR.ts \ locale/ru.ts \ + locale/nl.ts \ locale/zh_CN.ts updateqm.input = TRANSLATIONS From fec163cbed5f2fbebf4ba1f8adaf4227d7d048fd Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 13 Jun 2008 03:58:30 -0400 Subject: [PATCH 0016/1254] Added realm instead of duplicate url to http auth dialog. --- src/networkaccessmanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 2ee56641..c101eb37 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -136,7 +136,7 @@ void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthent passwordDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32)); QString introMessage = tr("Enter username and password for \"%1\" at %2"); - introMessage = introMessage.arg(Qt::escape(reply->url().toString())).arg(Qt::escape(reply->url().toString())); + introMessage = introMessage.arg(Qt::escape(auth->realm())).arg(Qt::escape(reply->url().toString())); passwordDialog.introLabel->setText(introMessage); passwordDialog.introLabel->setWordWrap(true); From 715e7af951cd94aa3093b18b5a0d94822c4af952 Mon Sep 17 00:00:00 2001 From: John Schember Date: Sun, 15 Jun 2008 20:25:21 -0700 Subject: [PATCH 0017/1254] Fix for issue 96. Close window when last tab closed. --- src/browsermainwindow.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 5182dac5..3fc9c02a 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -157,13 +157,8 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) m_navigationBar, SLOT(setVisible(bool))); connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)), m_bookmarksToolbar, SLOT(setVisible(bool))); -#if defined(Q_WS_MAC) connect(m_tabWidget, SIGNAL(lastTabClosed()), this, SLOT(close())); -#else - connect(m_tabWidget, SIGNAL(lastTabClosed()), - m_tabWidget, SLOT(newTab())); -#endif slotUpdateWindowTitle(); loadDefaultState(); From 789bedadd12ee709d9ab94ef5ceb52b4d26b117f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 16 Jun 2008 21:18:37 +0200 Subject: [PATCH 0018/1254] Use yellow for the background when in https rather then a gradiant which causes issues. Issue:25 --- src/urllineedit.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/urllineedit.cpp b/src/urllineedit.cpp index b9c77dfb..9b2413fb 100644 --- a/src/urllineedit.cpp +++ b/src/urllineedit.cpp @@ -353,7 +353,7 @@ void UrlLineEdit::paintEvent(QPaintEvent *event) QPalette p = palette(); if (m_webView && m_webView->url().scheme() == QLatin1String("https")) { QColor lightYellow(248, 248, 210); - p.setBrush(QPalette::Base, generateGradient(lightYellow)); + p.setBrush(QPalette::Base, lightYellow); } else { p.setBrush(QPalette::Base, m_defaultBaseColor); } From 2edb9c89c4f4cbc4bebb3274727c700ab2dfa03c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 17 Jun 2008 18:18:45 +0200 Subject: [PATCH 0019/1254] Hiding the menubar breaks the keyboard shortcuts that were in the menu Issue:84 --- src/browsermainwindow.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 3fc9c02a..62f81ab9 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -166,6 +166,15 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) int size = m_tabWidget->lineEditStack()->sizeHint().height(); m_navigationBar->setIconSize(QSize(size, size)); + + // Add each item in the menu bar to the main window so + // if the menu bar is hidden the shortcuts still work. + QList actions = menuBar()->actions(); + foreach (QAction *action, actions) { + if (action->menu()) + actions += action->menu()->actions(); + addAction(action); + } } BrowserMainWindow::~BrowserMainWindow() From effdbe3e88d367746d45ece190e144446fc6774b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 17 Jun 2008 18:20:30 +0200 Subject: [PATCH 0020/1254] Closing a tab with middle click reopens new tab if a url is in the clipboard Issue:87 --- src/tabbar.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/tabbar.cpp b/src/tabbar.cpp index bd898c13..3bd2823a 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -222,17 +222,17 @@ void TabBar::mouseDoubleClickEvent(QMouseEvent *event) void TabBar::mouseReleaseEvent(QMouseEvent *event) { - if (event->button() == Qt::MidButton - // Remove the line below when QTabWidget does not have a one pixel frame - && event->pos().y() < (y() + height())) { + if (event->button() == Qt::MidButton) { int index = tabAt(event->pos()); - if (index == -1) { + if (index != -1) { + emit closeTab(index); + } else { QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); - if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) { + if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) emit loadUrl(url, TabWidget::NewTab); - } } } + QTabBar::mouseReleaseEvent(event); } @@ -240,10 +240,6 @@ void TabBar::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { m_dragStartPos = event->pos(); - } else if (event->button() == Qt::MidButton) { - int index = tabAt(event->pos()); - if (index != -1) - emit closeTab(index); } QTabBar::mousePressEvent(event); } From fb42f5fac4aaf1b1e482009fb0516e019655f60e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 17 Jun 2008 22:30:36 +0200 Subject: [PATCH 0021/1254] Disable the Delete Bookmark action when you can't delete it. --- src/bookmarks.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 7f195195..6becfcbd 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -874,7 +874,8 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) menu.addAction(tr("Open in New Tab"), this, SLOT(openInNewTab())); menu.addSeparator(); } - menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); + QAction *deleteAction = menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); + deleteAction->setEnabled(index.flags() & Qt::ItemIsDragEnabled); menu.exec(QCursor::pos()); } From 628d89142bfbd507f0dc4814315b13ad4c296432 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 18 Jun 2008 14:30:01 +0200 Subject: [PATCH 0022/1254] Rearrange icon files for easier install on Linux --- src/data/{arora-128.png => 128x128/arora.png} | Bin src/data/{arora-16.png => 16x16/arora.png} | Bin src/data/{arora-32.png => 32x32/arora.png} | Bin src/data/{arora-512.png => 512x512/arora.png} | Bin src/data/{browser.svg => arora.svg} | 0 src/data/data.qrc | 2 +- 6 files changed, 1 insertion(+), 1 deletion(-) rename src/data/{arora-128.png => 128x128/arora.png} (100%) rename src/data/{arora-16.png => 16x16/arora.png} (100%) rename src/data/{arora-32.png => 32x32/arora.png} (100%) rename src/data/{arora-512.png => 512x512/arora.png} (100%) rename src/data/{browser.svg => arora.svg} (100%) diff --git a/src/data/arora-128.png b/src/data/128x128/arora.png similarity index 100% rename from src/data/arora-128.png rename to src/data/128x128/arora.png diff --git a/src/data/arora-16.png b/src/data/16x16/arora.png similarity index 100% rename from src/data/arora-16.png rename to src/data/16x16/arora.png diff --git a/src/data/arora-32.png b/src/data/32x32/arora.png similarity index 100% rename from src/data/arora-32.png rename to src/data/32x32/arora.png diff --git a/src/data/arora-512.png b/src/data/512x512/arora.png similarity index 100% rename from src/data/arora-512.png rename to src/data/512x512/arora.png diff --git a/src/data/browser.svg b/src/data/arora.svg similarity index 100% rename from src/data/browser.svg rename to src/data/arora.svg diff --git a/src/data/data.qrc b/src/data/data.qrc index 780b9e78..750d26b4 100644 --- a/src/data/data.qrc +++ b/src/data/data.qrc @@ -3,7 +3,7 @@ addtab.png closetab.png history.png - arora-128.png + 128x128/arora.png defaultbookmarks.xbel loading.gif defaulticon.png From 416ad2d0dcd2530f7d9a79308dcf2bca6885a7d3 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 18 Jun 2008 14:33:52 +0200 Subject: [PATCH 0023/1254] specify full path to the appliction icon in the resource --- src/browserapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 6fae1602..56772903 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -216,7 +216,7 @@ void BrowserApplication::postLaunch() directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName(); QWebSettings::setIconDatabasePath(directory); - setWindowIcon(QIcon(QLatin1String(":arora-128.png"))); + setWindowIcon(QIcon(QLatin1String(":128x128/arora.png"))); loadSettings(); From 876821b1eb8d8274eeec00ab3fd3899243a8c962 Mon Sep 17 00:00:00 2001 From: Matvey Kozhev Date: Thu, 19 Jun 2008 18:02:57 +0700 Subject: [PATCH 0024/1254] Added icon installation in pro file; synced debian-upstream with pusling's Debian package --- debian-upstream/arora.1 | 34 --- debian-upstream/compat | 2 +- debian-upstream/control | 21 +- debian-upstream/copyright | 84 +++--- debian-upstream/dirs | 3 - debian-upstream/manpages | 1 - debian-upstream/rules | 80 +++-- src/data/arora.1 | 53 ++++ src/data/arora.xpm | 598 ++++++++++++++++++++++++++++++++++++++ src/src.pro | 23 +- 10 files changed, 772 insertions(+), 127 deletions(-) delete mode 100644 debian-upstream/arora.1 delete mode 100644 debian-upstream/dirs delete mode 100644 debian-upstream/manpages create mode 100644 src/data/arora.1 create mode 100644 src/data/arora.xpm diff --git a/debian-upstream/arora.1 b/debian-upstream/arora.1 deleted file mode 100644 index ff420ac5..00000000 --- a/debian-upstream/arora.1 +++ /dev/null @@ -1,34 +0,0 @@ -.TH ARORA "1" "May 2008" - -.SH NAME -Arora - Lightweight web browser based on Qt and WebKit - -.SH SYNOPSIS -.B arora - -.SH DESCRIPTION -.B Arora -is a lightweight, cross-platform web browser using the Qt 4.4 port of the WebKit -layout engine. It is based on the demo browser application shipped with Qt -demos. -.PP -.B Arora -cannot be used from the command line, as it is Qt-based software. -Please run it under X. - -.SH OPTIONS -.B Arora -has no options. - -.SH BUGS -Please report bugs to \fIhttp://code.google.com/p/arora/issues/list\fR. - -.SH AUTHOR -Arora is developed by Benjamin C. Meyer , based on code release by Trolltech ASA. -.PP -This manual page was written by Matvey Kozhev for the Ubuntu system (but may be used by others). -.PP -Permission is granted to copy, distribute and/or modify this document under the terms of the -GNU General Public License, Version 2 or any later version published by the Free Software Foundation. -.PP -On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. diff --git a/debian-upstream/compat b/debian-upstream/compat index 1e8b3149..7ed6ff82 100644 --- a/debian-upstream/compat +++ b/debian-upstream/compat @@ -1 +1 @@ -6 +5 diff --git a/debian-upstream/control b/debian-upstream/control index 491ad9bc..12afbf0b 100644 --- a/debian-upstream/control +++ b/debian-upstream/control @@ -1,23 +1,16 @@ Source: arora Section: web -Priority: optional +Priority: extra Maintainer: Ubuntu MOTU Developers -XSBC-Original-Maintainer: Matvey Kozhev -Build-Depends: cdbs, debhelper (>= 6), git-core, libqt4-dev (>= 4.4.0) +XSBC-Original-Maintainer: Sune Vuorela +Build-Depends: debhelper (>= 5), libqt4-dev (>= 4.4) Standards-Version: 3.7.3 Homepage: http://arora-browser.org Package: arora Architecture: any Depends: ${shlibs:Depends} -Description: Lightweight web browser based on Qt and WebKit - Arora is a lightweight, cross-platform web browser using the Qt 4.4 port of - the WebKit layout engine. It is based on the demo browser application shipped - with Qt demos. - . - Its features include: - * WebKit layout engine - * History - * Bookmarks - * User styles - * Tabbed browsing +Description: Simple cross-platform QtWebKit web browser + Arora is a simple WebKit-based web browser using the Qt toolkit, originally + based on the Qt demo browser written to showcase the capabilities of QtWebKit. + Arora is a very basic browser that supports history and bookmarks. diff --git a/debian-upstream/copyright b/debian-upstream/copyright index 429bb894..92afa827 100644 --- a/debian-upstream/copyright +++ b/debian-upstream/copyright @@ -1,54 +1,42 @@ -This package was debianized by Matvey Kozhev on -Sun, 18 May 2008 22:29:04 +0700. +This package was debianized by Sune Vuorela on +Sun, 25 May 2008 15:45:28 +0200. -It was downloaded from . +It was downloaded from http://arora-browser.org -Upstream Authors: +Upstream Author: - Copyright 2008 Benjamin C. Meyer - Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. + Benjamin Meyer -License: +Copyright: + + Copyright (C) 2007-2008 Benjamin C. Meyer + Copyright (C) 2008 Ariya Hidayat + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + Copyright (C) 2005-2008 Trolltech ASA. All rights reserved. + Copyright (C) 2008 Jason A. Donenfeld - This file may be used under the terms of the GNU General Public - License versions 2.0 or 3.0 as published by the Free Software - Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 - included in the packaging of this file. Alternatively you may (at - your option) use any later version of the GNU General Public - License if such license has been publicly approved by Trolltech ASA - (or its successors, if any) and the KDE Free Qt Foundation. In - addition, as a special exception, Trolltech gives you certain - additional rights. These rights are described in the Trolltech GPL - Exception version 1.2, which can be found at - http://www.trolltech.com/products/qt/gplexception/ and in the file - GPL_EXCEPTION.txt in this package. - - Please review the following information to ensure GNU General - Public Licensing requirements will be met: - http://trolltech.com/products/qt/licenses/licensing/opensource/. If - you are unsure which license is appropriate for your use, please - review the following information: - http://trolltech.com/products/qt/licenses/licensing/licensingoverview - or contact the sales department at sales@trolltech.com. - - In addition, as a special exception, Trolltech, as the sole - copyright holder for Qt Designer, grants users of the Qt/Eclipse - Integration plug-in the right for the Qt/Eclipse Integration to - link to functionality provided by Qt Designer and its related - libraries. - - This file is provided "AS IS" with NO WARRANTY OF ANY KIND, - INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly - granted herein. - - This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE - WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -The Debian packaging is (C) 2008, Matvey Kozhev and -is licensed under the same conditions as above. - -On Debian systems, the complete text of the GNU General Public License is -available at `/usr/share/common-licenses/GPL-2' for version 2 and -`/usr/share/common-licenses/GPL-3' for version 3. +License: + +The contents is a mix of files under GPLv2, GPLv2 or later, GPLv2 with Trolltech exceptions. +Effectively, this makes the package GPLv2: + + This package 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 2 of the License, or + (at your option) any later version. + + This package 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + +The Debian packaging is (C) 2008, Sune Vuorela and +is licensed under the GPL, see above. diff --git a/debian-upstream/dirs b/debian-upstream/dirs deleted file mode 100644 index 9622f20f..00000000 --- a/debian-upstream/dirs +++ /dev/null @@ -1,3 +0,0 @@ -usr/share/icons/hicolor/16x16/apps -usr/share/icons/hicolor/32x32/apps -usr/share/icons/hicolor/128x128/apps diff --git a/debian-upstream/manpages b/debian-upstream/manpages deleted file mode 100644 index dce3afda..00000000 --- a/debian-upstream/manpages +++ /dev/null @@ -1 +0,0 @@ -debian/arora.1 diff --git a/debian-upstream/rules b/debian-upstream/rules index 99293e4d..33f04a33 100755 --- a/debian-upstream/rules +++ b/debian-upstream/rules @@ -1,26 +1,56 @@ #!/usr/bin/make -f - -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/qmake.mk - -QMAKE = qmake-qt4 -DEB_QMAKE_ARGS += PREFIX=/usr QMAKE_LFLAGS+=-Wl,--as-needed -DEB_PHONY_RULES += get-orig-source -VERSION = $(shell dpkg-parsechangelog | egrep '^Version' | sed s/"Version: "//) -UPSTREAM_VERSION = $(shell echo $(VERSION) | sed s/-.*//) -DEB_INSTALL_CHANGELOGS_ALL = ChangeLog - -makebuilddir/arora:: - ./generateAuthors - -install/arora:: - cp src/data/arora-16.png debian/arora/usr/share/icons/hicolor/16x16/apps/arora.png - cp src/data/arora-32.png debian/arora/usr/share/icons/hicolor/32x32/apps/arora.png - cp src/data/arora-128.png debian/arora/usr/share/icons/hicolor/128x128/apps/arora.png - -get-orig-source: - cd debian && git clone git://github.com/icefox/arora.git arora-$(UPSTREAM_VERSION) - cd debian/arora-$(UPSTREAM_VERSION) && \ - git archive --format=tar --prefix=arora-$(UPSTREAM_VERSION)/ HEAD | \ - gzip -9c > ../../../arora_$(UPSTREAM_VERSION).orig.tar.gz - rm -rf debian/arora-$(UPSTREAM_VERSION) +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + +builddir: + mkdir -p builddir + +builddir/Makefile: builddir + cd builddir && qmake-qt4 PREFIX=/usr ../arora.pro + +build: build-stamp + +build-stamp: builddir/Makefile + dh_testdir + cd builddir && $(MAKE) + touch $@ + +clean: + dh_testdir + dh_testroot + rm -rf builddir + dh_clean build-stamp + +install: build + dh_testdir + dh_testroot + dh_clean -k + cd builddir && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/arora install + +binary-indep: build install + +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs ChangeLog + dh_installdocs + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/src/data/arora.1 b/src/data/arora.1 new file mode 100644 index 00000000..445131c5 --- /dev/null +++ b/src/data/arora.1 @@ -0,0 +1,53 @@ +.TH ARORA "1" "May 2008" + +.SH NAME +Arora - Lightweight web browser based on Qt and WebKit + +.SH SYNOPSIS +.B arora [Qt options] [url] + +.SH DESCRIPTION +.B Arora +is a lightweight, cross-platform web browser using the Qt 4.4 port of the WebKit +layout engine. It is based on the demo browser application shipped with Qt +demos. + +.SH OPTIONS +.SS Common Qt Options +.TP +.B -style style, -style=style +Specify the Qt widget style to use (examples: plastique, cleanlooks). +.TP +.B -stylesheet stylesheet, -stylesheet=stylesheet +Specify the user stylesheet to use when rendering widgets. +.TP +.B -session session, -session=session +Restore the application from an earlier \fBsession\fR. +.TP +.B -widgetcount +Print a debug message at the end about the number of widgets left undestroyed +and the maximum number of widgets that existed at the same time. +.TP +.B -reverse +Sets the application's layout direction to right-to-left. + +.SS Options Specific to Arora +.TP +.B url +The URL address to open in the browser. + +.SH BUGS +Please report bugs to \fIhttp://code.google.com/p/arora/issues/list\fR. + +.SH AUTHOR +The author of Arora is Benjamin C. Meyer . +.PP +This manual page was written by Matvey Kozhev . +.PP +Permission is granted to copy, distribute and/or modify this document under the +terms of the +GNU General Public License, Version 2 or any later version published by the Free +Software Foundation. +.PP +On Debian systems, the complete text of the GNU General Public License can be +found in /usr/share/common-licenses/GPL. diff --git a/src/data/arora.xpm b/src/data/arora.xpm new file mode 100644 index 00000000..d446b8d0 --- /dev/null +++ b/src/data/arora.xpm @@ -0,0 +1,598 @@ +/* XPM */ +static char * arora_xpm[] = { +"32 32 563 2", +" c None", +". c #6B7691", +"+ c #6E7B93", +"@ c #6F7B95", +"# c #6F7A94", +"$ c #717C95", +"% c #727E97", +"& c #BBC3D0", +"* c #CED5DF", +"= c #CCD4DD", +"- c #C5CDD8", +"; c #BCC6D2", +"> c #ADB7C5", +", c #97A3B5", +"' c #7C88A0", +") c #69758F", +"! c #79869E", +"~ c #CED5DE", +"{ c #DFE4E8", +"] c #E2E8E9", +"^ c #E1E7E7", +"/ c #D9E0E0", +"( c #CED7D9", +"_ c #C5CED4", +": c #C0C9D2", +"< c #BEC7D2", +"[ c #B6C2CB", +"} c #6E7B94", +"| c #6E7B95", +"1 c #E4E6EB", +"2 c #F5F7F6", +"3 c #F0F1F1", +"4 c #E8EBEA", +"5 c #DDE3E3", +"6 c #D3DBDB", +"7 c #CAD2D2", +"8 c #C9D2D3", +"9 c #CBD4D3", +"0 c #C2CCD1", +"a c #BDC6D1", +"b c #B6C0CD", +"c c #76829D", +"d c #65738D", +"e c #E8ECEB", +"f c #FAFBFA", +"g c #F3F6F6", +"h c #EBEDED", +"i c #E0E6E6", +"j c #D7DDDF", +"k c #CCD4D4", +"l c #C6CFD0", +"m c #C8D1D1", +"n c #C8D1D2", +"o c #BAC4D1", +"p c #71809A", +"q c #62708B", +"r c #DEE0E4", +"s c #FEFFFD", +"t c #FBFAFA", +"u c #EFF1F2", +"v c #E5E9E9", +"w c #DBDEE1", +"x c #CED7D7", +"y c #C4CECF", +"z c #C7D0D2", +"A c #CAD3D3", +"B c #BEC8D1", +"C c #C1CAD6", +"D c #98A3B8", +"E c #62718C", +"F c #D6DAE0", +"G c #FFFFFF", +"H c #F4F5F6", +"I c #E8ECEC", +"J c #DDE1E4", +"K c #D1D8DA", +"L c #C7D0D1", +"M c #C5D0D0", +"N c #C4CDD1", +"O c #CBD4D5", +"P c #CCD5D5", +"Q c #C4CDD2", +"R c #C1CAD5", +"S c #B4C0CF", +"T c #57647A", +"U c #677490", +"V c #E0E4E6", +"W c #F9F9F8", +"X c #EBEFF0", +"Y c #E1E6E6", +"Z c #D4DCDC", +"` c #CBD3D3", +" . c #C0CACF", +".. c #BEC9D2", +"+. c #B0B9C4", +"@. c #D3D9DA", +"#. c #D7DDDD", +"$. c #CAD1D6", +"%. c #C0C9D4", +"&. c #C6D1DD", +"*. c #6F7C95", +"=. c #6F7B94", +"-. c #E7EBEC", +";. c #FEFFFE", +">. c #F9FBFA", +",. c #EEF1F1", +"'. c #E4E6E9", +"). c #CDD4D6", +"!. c #CED6D6", +"~. c #C3CED0", +"{. c #B8C5D2", +"]. c #818DA2", +"^. c #B5C0CB", +"/. c #9BAAB9", +"(. c #B7BDC8", +"_. c #DCE0E0", +":. c #CDD6D8", +"<. c #C5CFDB", +"[. c #6F7B93", +"}. c #7A869E", +"|. c #79869C", +"1. c #EBEEEE", +"2. c #F8F7F7", +"3. c #FDFFFD", +"4. c #F0F3F2", +"5. c #E6E9EA", +"6. c #DCE2E2", +"7. c #D5DCDC", +"8. c #D0D8D8", +"9. c #C1CBD3", +"0. c #AAB7C8", +"a. c #6D7F9B", +"b. c #A3B0C1", +"c. c #AAB1C0", +"d. c #E4E8E8", +"e. c #D3DADA", +"f. c #BECAD4", +"g. c #C6D1DB", +"h. c #6E7A94", +"i. c #76839B", +"j. c #808B9F", +"k. c #ECEFEE", +"l. c #D0D5DC", +"m. c #A0A8BB", +"n. c #EFF1F3", +"o. c #F1F4F3", +"p. c #E9EBEA", +"q. c #E1E4E5", +"r. c #D9DFDD", +"s. c #CED6D5", +"t. c #CDD5D4", +"u. c #D8DFDE", +"v. c #E8ECEA", +"w. c #BAC5D3", +"x. c #97A7B9", +"y. c #6A7E9A", +"z. c #B0B8C1", +"A. c #F2F3F0", +"B. c #D7DFDE", +"C. c #C4CED5", +"D. c #CAD4DD", +"E. c #74819B", +"F. c #687590", +"G. c #E1E6E5", +"H. c #A8B8C8", +"I. c #C3CDDA", +"J. c #EAEEEC", +"K. c #E2E6E6", +"L. c #D3D7D8", +"M. c #8F9AAA", +"N. c #6D7A94", +"O. c #6B7793", +"P. c #B6BEC4", +"Q. c #EFF2EF", +"R. c #DFE4E3", +"S. c #CCD4D5", +"T. c #B9C5D6", +"U. c #6D7E9C", +"V. c #6C839A", +"W. c #F6F7F3", +"X. c #E2E7E5", +"Y. c #D6DDDF", +"Z. c #C6D2DC", +"`. c #7D89A4", +" + c #98A2B2", +".+ c #EAEDEB", +"++ c #EDF2EF", +"@+ c #EBF0F1", +"#+ c #EDF0EF", +"$+ c #E9ECEA", +"%+ c #DADEDF", +"&+ c #8B96A8", +"*+ c #6B7A93", +"=+ c #6186A1", +"-+ c #4878A2", +";+ c #305392", +">+ c #5C6B8E", +",+ c #B1B9C3", +"'+ c #F1F3F0", +")+ c #D2D9D7", +"!+ c #C2CDD6", +"~+ c #8394AB", +"{+ c #114E7D", +"]+ c #818CA2", +"^+ c #EEF1ED", +"/+ c #E1E7E5", +"(+ c #D0D9E0", +"_+ c #A8B4C4", +":+ c #5E6D89", +"<+ c #BBC2CA", +"[+ c #E9EDEC", +"}+ c #E9EDED", +"|+ c #E5EAE9", +"1+ c #C2C9CE", +"2+ c #6D7A93", +"3+ c #7692AC", +"4+ c #79A0B7", +"5+ c #83B2C5", +"6+ c #85BCCD", +"7+ c #4163A3", +"8+ c #315393", +"9+ c #6E7994", +"0+ c #EEF1EC", +"a+ c #D9E0DC", +"b+ c #C4CED9", +"c+ c #7888A1", +"d+ c #0D3675", +"e+ c #13306C", +"f+ c #8798A8", +"g+ c #E4E8E7", +"h+ c #DEE4E5", +"i+ c #CFD8E2", +"j+ c #7885A0", +"k+ c #65738E", +"l+ c #B5BDCE", +"m+ c #C6CBD8", +"n+ c #C4C9D4", +"o+ c #E4E9E6", +"p+ c #E1E5E4", +"q+ c #768399", +"r+ c #91ABBF", +"s+ c #9ABACB", +"t+ c #B5DBE4", +"u+ c #ABD6E2", +"v+ c #9BCDD9", +"w+ c #5782AE", +"x+ c #315292", +"y+ c #5C6B8D", +"z+ c #DBDEDD", +"A+ c #E2E5E2", +"B+ c #C6D0DA", +"C+ c #747F98", +"D+ c #0E2C6E", +"E+ c #0B2B6D", +"F+ c #0E4475", +"G+ c #8C9CAD", +"H+ c #EBEEEC", +"I+ c #D8E0E7", +"J+ c #9BA6BC", +"K+ c #727F97", +"L+ c #E3E9E8", +"M+ c #E5EAE7", +"N+ c #DFE3E2", +"O+ c #DBE1DE", +"P+ c #8A95A6", +"Q+ c #8A99AD", +"R+ c #A8BECE", +"S+ c #D3F0F1", +"T+ c #C5E7EC", +"U+ c #B0D9E1", +"V+ c #9DCDDA", +"W+ c #5F8BB1", +"X+ c #294889", +"Y+ c #334A80", +"Z+ c #B3B8C1", +"`+ c #E7EAE5", +" @ c #C8D4DC", +".@ c #6C7993", +"+@ c #0D2E6B", +"@@ c #0E2E6F", +"#@ c #496A8D", +"$@ c #C2C7CF", +"%@ c #DFE6E3", +"&@ c #D2DAE3", +"*@ c #97A3B9", +"=@ c #A2ABBA", +"-@ c #E4E9E8", +";@ c #DFE5E2", +">@ c #C9CFD2", +",@ c #79869B", +"'@ c #7089A8", +")@ c #99B1C5", +"!@ c #CDE2E8", +"~@ c #DEF8F9", +"{@ c #C6E6EB", +"]@ c #AFD7E0", +"^@ c #9CCBD8", +"/@ c #85BBCD", +"(@ c #5B92B1", +"_@ c #4E8AAB", +":@ c #8D98A9", +"<@ c #EAEDE7", +"[@ c #C8D2D9", +"}@ c #6A7894", +"|@ c #0F2E6F", +"1@ c #143371", +"2@ c #7C889D", +"3@ c #EDF1E8", +"4@ c #D4DBDF", +"5@ c #99A3B8", +"6@ c #6C768B", +"7@ c #697891", +"8@ c #797C86", +"9@ c #CAD1CF", +"0@ c #878B96", +"a@ c #7B8AA0", +"b@ c #4D6E9C", +"c@ c #294986", +"d@ c #2F4F8E", +"e@ c #5273A6", +"f@ c #D6F4F4", +"g@ c #C0E4E9", +"h@ c #AAD3DE", +"i@ c #98C7D5", +"j@ c #71AFC4", +"k@ c #57A2BA", +"l@ c #777F97", +"m@ c #EEF1E8", +"n@ c #D3DBDF", +"o@ c #7C869D", +"p@ c #133170", +"q@ c #173673", +"r@ c #487394", +"s@ c #8591A3", +"t@ c #7C8EA4", +"u@ c #355B8A", +"v@ c #707682", +"w@ c #7A7F8C", +"x@ c #6F83A0", +"y@ c #76A2BB", +"z@ c #2F4F89", +"A@ c #395993", +"B@ c #365591", +"C@ c #2C4A89", +"D@ c #B5D9E2", +"E@ c #B5DDE5", +"F@ c #A1CED9", +"G@ c #90C2D1", +"H@ c #7EB7C9", +"I@ c #6AABC2", +"J@ c #539FB9", +"K@ c #6A7A95", +"L@ c #E9E6E2", +"M@ c #A9AFBC", +"N@ c #657191", +"O@ c #183774", +"P@ c #1D3976", +"Q@ c #1D3A75", +"R@ c #094C83", +"S@ c #006393", +"T@ c #26679D", +"U@ c #374461", +"V@ c #456894", +"W@ c #5E87AB", +"X@ c #375793", +"Y@ c #33548D", +"Z@ c #2C4984", +"`@ c #466596", +" # c #A6D4DC", +".# c #96C8D6", +"+# c #87BCCD", +"@# c #76B0C6", +"## c #65A5BD", +"$# c #509BB5", +"%# c #4083A2", +"&# c #6E7893", +"*# c #4F5D86", +"=# c #193572", +"-# c #1E3A76", +";# c #223E78", +"># c #1D3774", +",# c #08246A", +"'# c #082B72", +")# c #2A5B90", +"!# c #3B5D8C", +"~# c #72A0C4", +"{# c #385692", +"]# c #35538C", +"^# c #2F4E88", +"/# c #2A4480", +"(# c #1E3776", +"_# c #5A82A5", +":# c #8AC0D0", +"<# c #7AB4C7", +"[# c #6CA9C0", +"}# c #5B9FB9", +"|# c #4B95B2", +"1# c #388DAC", +"2# c #2680A3", +"3# c #193E78", +"4# c #203975", +"5# c #233E78", +"6# c #1B3674", +"7# c #0C296C", +"8# c #0C276C", +"9# c #136398", +"0# c #20437C", +"a# c #1C3E73", +"b# c #6E98C0", +"c# c #324F8B", +"d# c #2F4D86", +"e# c #2A4781", +"f# c #243F7A", +"g# c #345286", +"h# c #7CAFC5", +"i# c #7AB7CA", +"j# c #6EABC1", +"k# c #60A2BB", +"l# c #5298B4", +"m# c #4490AD", +"n# c #3288A7", +"o# c #2380A3", +"p# c #18618E", +"q# c #233975", +"r# c #132E6E", +"s# c #0C286B", +"t# c #0D276B", +"u# c #024D85", +"v# c #2987B5", +"w# c #12376B", +"x# c #092D68", +"y# c #608BB6", +"z# c #2B4882", +"A# c #284680", +"B# c #26407B", +"C# c #1F3874", +"D# c #49759C", +"E# c #77BACA", +"F# c #6BACC2", +"G# c #5FA2BB", +"H# c #5499B5", +"I# c #4792AE", +"J# c #3A89A8", +"K# c #2B81A3", +"L# c #1B7A9D", +"M# c #0F6D96", +"N# c #0F256A", +"O# c #0D2769", +"P# c #0F266A", +"Q# c #05457E", +"R# c #00739D", +"S# c #307EB0", +"T# c #0E2B5C", +"U# c #315A8E", +"V# c #254180", +"W# c #213E78", +"X# c #213C77", +"Y# c #203974", +"Z# c #1F3673", +"`# c #5E9EB9", +" $ c #5BA2BA", +".$ c #5098B4", +"+$ c #4690AE", +"@$ c #3B89A8", +"#$ c #2C7EA2", +"$$ c #11739A", +"%$ c #006893", +"&$ c #005283", +"*$ c #0F2367", +"=$ c #102569", +"-$ c #06437D", +";$ c #007198", +">$ c #167FAC", +",$ c #2C5187", +"'$ c #05295E", +")$ c #315392", +"!$ c #0E2A6E", +"~$ c #122E6E", +"{$ c #193070", +"]$ c #1D316E", +"^$ c #4382A6", +"/$ c #4594B1", +"($ c #3A8BAA", +"_$ c #2C81A4", +":$ c #19759B", +"<$ c #036A93", +"[$ c #006490", +"}$ c #006992", +"|$ c #0B3373", +"1$ c #102568", +"2$ c #054880", +"3$ c #006F97", +"4$ c #02769F", +"5$ c #3773A4", +"6$ c #0E2654", +"7$ c #11326D", +"8$ c #37649F", +"9$ c #1A598E", +"0$ c #0C2B6E", +"a$ c #123C78", +"b$ c #2887A8", +"c$ c #207EA2", +"d$ c #16769D", +"e$ c #0B6E96", +"f$ c #006791", +"g$ c #00648F", +"h$ c #006690", +"i$ c #005D8B", +"j$ c #0A3674", +"k$ c #00638F", +"l$ c #006D98", +"m$ c #00709B", +"n$ c #3184B2", +"o$ c #1A3972", +"p$ c #254E80", +"q$ c #3C90B9", +"r$ c #1985A9", +"s$ c #157BA1", +"t$ c #11799E", +"u$ c #097098", +"v$ c #016A94", +"w$ c #006691", +"x$ c #006892", +"y$ c #006994", +"z$ c #006A95", +"A$ c #006D97", +"B$ c #00729E", +"C$ c #2E82B2", +"D$ c #294B83", +"E$ c #1C3972", +"F$ c #3874A6", +"G$ c #117BA6", +"H$ c #006A96", +"I$ c #006894", +"J$ c #006793", +"K$ c #006995", +"L$ c #006B97", +"M$ c #006D99", +"N$ c #157CAA", +"O$ c #3870A5", +"P$ c #1E3B74", +"Q$ c #0D2A5F", +"R$ c #2F588D", +"S$ c #2F7EAF", +"T$ c #2180AF", +"U$ c #0F77A5", +"V$ c #006E9B", +"W$ c #00709D", +"X$ c #137AA7", +"Y$ c #2581B2", +"Z$ c #347DAE", +"`$ c #2F5289", +" % c #142C5A", +".% c #143266", +"+% c #203D74", +"@% c #324E86", +"#% c #3B659B", +"$% c #3970A3", +"%% c #3B6498", +"&% c #334C84", +"*% c #213C75", +"=% c #163465", +"-% c #141D3E", +" . + @ # $ ", +" % & * = - ; > , ' ) ", +" ! ~ { ] ^ / ( _ : < [ } ", +" | 1 2 3 4 5 6 7 8 9 0 a b c ", +" d e f g h i j k l m n 8 0 < o p ", +" q r s t u v w x y l z n n A B C D ", +" E F G G H I J K L M z N n O P Q R S T ", +" U V G G W X Y Z ` .z 7 ..+.@.#.$.%.&.*. ", +" =.-.;.G >.,.'.j ).!.~.{.].^./.(._.:.%.<.[. ", +" }.|.1.2.3.f 4.5.6.@.l 7.8.9.0.a.b.c.d.e.f.g.h. ", +" i.j.k.l.m.n.o.p.q.r.s.t.u.v.P w.x.y.z.A.B.C.D.E. ", +" F.G.5.H.I.I J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. ", +" +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+ ", +" :+<+[+}+[+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+ ", +" k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+J+ ", +" K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@ ", +" =@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@ ", +" 7@8@9@0@a@b@c@d@e@f@g@h@i@6+j@k@l@m@n@o@p@q@r@s@t@u@ ", +" 7@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@ ", +" U@V@W@X@A@Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#>#,#'#)# ", +" !#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0# ", +" a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w# ", +" x#y#z#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T# ", +" U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$;$>$,$ ", +" '$)$!$~${$]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$ ", +" 7$8$9$0$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$ ", +" p$q$r$s$t$u$v$[$[$w$x$y$z$A$B$C$D$ ", +" E$F$G$H$I$J$J$J$K$z$L$M$N$O$P$ ", +" Q$R$S$T$U$V$M$W$X$Y$Z$`$ % ", +" .%+%@%#%$%%%&%*%=% ", +" -% ", +" "}; diff --git a/src/src.pro b/src/src.pro index 382f0692..5338b750 100644 --- a/src/src.pro +++ b/src/src.pro @@ -38,7 +38,7 @@ QMAKE_EXTRA_COMPILERS += updateqm PRE_TARGETDEPS += compiler_updateqm_make_all unix { - INSTALLS += target translations desktop + INSTALLS += target translations desktop iconxpm iconsvg icon16 icon32 icon128 man man-compress target.path = $$BINDIR @@ -47,4 +47,25 @@ unix { desktop.path = $$DATADIR/applications desktop.files += arora.desktop + + iconxpm.path = $$DATADIR/pixmaps + iconxpm.files += data/arora.xpm + + iconsvg.path = $$DATADIR/icons/hicolor/scalable/apps + iconsvg.files += data/arora.svg + + icon16.path = $$DATADIR/icons/hicolor/16x16/apps + icon16.files += data/16x16/arora.png + + icon32.path = $$DATADIR/icons/hicolor/32x32/apps + icon32.files += data/32x32/arora.png + + icon128.path = $$DATADIR/icons/hicolor/128x128/apps + icon128.files += data/128x128/arora.png + + man.path = $$DATADIR/man/man1 + man.files += data/arora.1 + + man-compress.path = $$DATADIR/man/man1 + man-compress.extra = "" "gzip -9 -f \$(INSTALL_ROOT)/$$DATADIR/man/man1/arora.1" "" } From cbc50667b45fa081b45df04530a396ac55542ca3 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 19 Jun 2008 18:41:48 +0200 Subject: [PATCH 0025/1254] set default font size to 16 to match all other browsers --- src/browserapplication.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 56772903..6e8153d6 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -146,6 +146,10 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) installTranslator(QLatin1String("qt_") + localSysName); installTranslator(dataDirectory() + QDir::separator() + "locale" + QDir::separator() + localSysName); + // Until QtWebkit defaults to 16 + QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFontSize, 16); + QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFixedFontSize, 16); + QSettings settings; settings.beginGroup(QLatin1String("sessions")); m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); From bcd4381d29ce3d8cfef37d2e1053fa9c8eeea06a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 19 Jun 2008 18:48:54 +0200 Subject: [PATCH 0026/1254] Titles using & are interpreted as accelerators on tabs Issue: 108 --- src/tabwidget.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 1eabd252..b5df4154 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -638,10 +638,11 @@ void TabWidget::webViewTitleChanged(const QString &title) WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 != index) { + QString tabTitle = title; if (title.isEmpty()) - setTabText(index, webView->url().toString()); - else - setTabText(index, title); + tabTitle = webView->url().toString(); + tabTitle.replace(QLatin1Char('&'), QLatin1String("&&")); + setTabText(index, tabTitle); } if (currentIndex() == index) emit setCurrentTitle(title); From efb6ed0a3a90913cdc236b9ac54ecf9c0388f6cd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 19 Jun 2008 23:01:16 +0200 Subject: [PATCH 0027/1254] Switching workspaces/windows can causes zoom issues when wheel scrolling --- src/webview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webview.cpp b/src/webview.cpp index 469458a0..ef8c8438 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -262,7 +262,7 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) void WebView::wheelEvent(QWheelEvent *event) { - if (QApplication::keyboardModifiers() & Qt::ControlModifier) { + if (event->modifiers() & Qt::ControlModifier) { int numDegrees = event->delta() / 8; int numSteps = numDegrees / 15; setTextSizeMultiplier(textSizeMultiplier() + numSteps * 0.1); From 35c14e0768282c23a51294d698479e4ca7d98590 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 18 Jun 2008 14:41:01 +0200 Subject: [PATCH 0028/1254] update with new author --- AUTHORS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 7feb4e6e..21834095 100644 --- a/AUTHORS +++ b/AUTHORS @@ -6,5 +6,6 @@ Daniel Albuschat d.albuschat@gmail.com Ariya Hidayat ariya.hidayat@trolltech.com Adam Treat treat@kde.org Tor Arne Vestb酶 tavestbo@trolltech.com -Chris Lee clee@mg8.org John Schember john@nachtimwald.com +Chris Lee clee@mg8.org +Marius Bugge Monsen mariusbu@pvv.org From 17ebb9b08d5856d2260b8be75da80501aaa93cb5 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 18:10:51 +0200 Subject: [PATCH 0029/1254] Downloads with a redirect result in a 0 byte file Issue:37 --- src/downloadmanager.cpp | 14 ++++++++++++++ src/downloadmanager.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 6bebb249..f01cc542 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -90,6 +90,7 @@ DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget * , m_reply(reply) , m_requestFileName(requestFileName) , m_bytesReceived(0) + , m_gettingFileName(false) { setupUi(this); QPalette p = downloadInfoLabel->palette(); @@ -147,6 +148,9 @@ void DownloadItem::init() void DownloadItem::getFileName() { + if (m_gettingFileName) + return; + QSettings settings; settings.beginGroup(QLatin1String("downloadmanager")); QString defaultLocation = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation); @@ -157,7 +161,9 @@ void DownloadItem::getFileName() QString defaultFileName = saveFileName(downloadDirectory); QString fileName = defaultFileName; if (m_requestFileName) { + m_gettingFileName = true; fileName = QFileDialog::getSaveFileName(this, tr("Save File"), defaultFileName); + m_gettingFileName = false; if (fileName.isEmpty()) { m_reply->close(); fileNameLabel->setText(tr("Download canceled: %1").arg(QFileInfo(defaultFileName).fileName())); @@ -283,6 +289,14 @@ void DownloadItem::error(QNetworkReply::NetworkError) void DownloadItem::metaDataChanged() { + QVariant locationHeader = m_reply->header(QNetworkRequest::LocationHeader); + if (locationHeader.isValid()) { + m_url = locationHeader.toUrl(); + m_reply->deleteLater(); + m_reply = BrowserApplication::networkAccessManager()->get(QNetworkRequest(m_url)); + init(); + return; + } qDebug() << "DownloadItem::metaDataChanged: not handled."; } diff --git a/src/downloadmanager.h b/src/downloadmanager.h index 89f54821..cee85963 100644 --- a/src/downloadmanager.h +++ b/src/downloadmanager.h @@ -113,6 +113,7 @@ private slots: QTime m_downloadTime; bool m_startedSaving; bool m_finishedDownloading; + bool m_gettingFileName; }; class AutoSaver; From dfc55a1fbd98097f7081843a0441f22ff9fdc299 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 18:13:55 +0200 Subject: [PATCH 0030/1254] Make the menu consistent "bar" -> "Bar" --- src/browsermainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 62f81ab9..42e3697f 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -586,7 +586,7 @@ void BrowserMainWindow::updateToolbarActionText(bool visible) void BrowserMainWindow::updateBookmarksToolbarActionText(bool visible) { - m_viewBookmarkBar->setText(!visible ? tr("Show Bookmarks bar") : tr("Hide Bookmarks bar")); + m_viewBookmarkBar->setText(!visible ? tr("Show Bookmarks Bar") : tr("Hide Bookmarks Bar")); } void BrowserMainWindow::slotViewStatusbar() From c89e72cce1a74dde64a083d0741ece33511bd07f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 18:19:28 +0200 Subject: [PATCH 0031/1254] Export schemes not supported such as mailto so other applications can handle them. Issue:110 --- src/webview.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index ef8c8438..53e4d5dd 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -72,9 +72,11 @@ #include #include +#include #include #include #include +#include #include @@ -132,6 +134,14 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r m_loadingUrl = request.url(); emit loadingUrl(m_loadingUrl); } + + QString scheme = request.url().scheme(); + if (scheme == QLatin1String("mailto") + || scheme == QLatin1String("ftp")) { + QDesktopServices::openUrl(request.url()); + return false; + } + return QWebPage::acceptNavigationRequest(frame, request, type); } @@ -162,6 +172,16 @@ QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QS void WebPage::handleUnsupportedContent(QNetworkReply *reply) { + if (reply->error() == QNetworkReply::ProtocolUnknownError) { + QSettings settings; + settings.beginGroup(QLatin1String("WebView")); + QStringList externalSchemes; + externalSchemes = settings.value(QLatin1String("externalSchemes")).toStringList(); + if (externalSchemes.contains(reply->url().scheme())) + QDesktopServices::openUrl(reply->url()); + return; + } + if (reply->error() == QNetworkReply::NoError) { BrowserApplication::downloadManager()->handleUnsupportedContent(reply); return; From c4e27f0f0ca3fcb235762fe119e056128eb3b32f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 18:24:49 +0200 Subject: [PATCH 0032/1254] Remove whitespace at the end of a line --- src/src.pro | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/src.pro b/src/src.pro index 5338b750..6fbea056 100644 --- a/src/src.pro +++ b/src/src.pro @@ -47,25 +47,25 @@ unix { desktop.path = $$DATADIR/applications desktop.files += arora.desktop - + iconxpm.path = $$DATADIR/pixmaps iconxpm.files += data/arora.xpm - + iconsvg.path = $$DATADIR/icons/hicolor/scalable/apps iconsvg.files += data/arora.svg - + icon16.path = $$DATADIR/icons/hicolor/16x16/apps icon16.files += data/16x16/arora.png - + icon32.path = $$DATADIR/icons/hicolor/32x32/apps icon32.files += data/32x32/arora.png - + icon128.path = $$DATADIR/icons/hicolor/128x128/apps icon128.files += data/128x128/arora.png - + man.path = $$DATADIR/man/man1 man.files += data/arora.1 - + man-compress.path = $$DATADIR/man/man1 man-compress.extra = "" "gzip -9 -f \$(INSTALL_ROOT)/$$DATADIR/man/man1/arora.1" "" } From 76966e250562b0a988d741f1d49bf08f28d3e8e5 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 18:27:12 +0200 Subject: [PATCH 0033/1254] The tabwidget context menu forwarding only applies to 4.4 and not 4.5 --- src/tabwidget.cpp | 3 +-- src/tabwidget.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index b5df4154..41545bdb 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -687,7 +687,7 @@ void TabWidget::aboutToShowRecentTriggeredAction(QAction *action) loadUrl(url, NewTab); } - +#if QT_VERSION < 0x040500 void TabWidget::contextMenuEvent(QContextMenuEvent *event) { if (!childAt(event->pos())) { @@ -697,7 +697,6 @@ void TabWidget::contextMenuEvent(QContextMenuEvent *event) QTabWidget::contextMenuEvent(event); } -#if QT_VERSION < 0x040500 void TabWidget::mouseDoubleClickEvent(QMouseEvent *event) { m_tabBar->mouseDoubleClickEvent(event); diff --git a/src/tabwidget.h b/src/tabwidget.h index 67a4bcd0..1f6bdf31 100644 --- a/src/tabwidget.h +++ b/src/tabwidget.h @@ -137,9 +137,9 @@ class TabWidget : public QTabWidget QByteArray saveState() const; bool restoreState(const QByteArray &state); +#if QT_VERSION < 0x040500 protected: void contextMenuEvent(QContextMenuEvent *event); -#if QT_VERSION < 0x040500 void mouseDoubleClickEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void wheelEvent(QWheelEvent *event); From f17e34943db5478eea34d5286f51bb63edd08881 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 19:17:34 +0200 Subject: [PATCH 0034/1254] When there is more then one tab don't let javascript hide the tool/status/menu bar's or resize the window --- src/tabwidget.cpp | 34 +++++++++++++++++++++++++++++----- src/tabwidget.h | 4 ++++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 41545bdb..f773970b 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -429,16 +429,16 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) this, SLOT(webViewUrlChanged(const QUrl &))); connect(webView->page(), SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested())); - connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)), - this, SIGNAL(geometryChangeRequested(const QRect &))); connect(webView->page(), SIGNAL(printRequested(QWebFrame *)), this, SIGNAL(printRequested(QWebFrame *))); + connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)), + this, SLOT(geometryChangeRequestedCheck(const QRect &))); connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)), - this, SIGNAL(menuBarVisibilityChangeRequested(bool))); + this, SLOT(menuBarVisibilityChangeRequestedCheck(bool))); connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)), - this, SIGNAL(statusBarVisibilityChangeRequested(bool))); + this, SLOT(statusBarVisibilityChangeRequestedCheck(bool))); connect(webView->page(), SIGNAL(toolBarVisibilityChangeRequested(bool)), - this, SIGNAL(toolBarVisibilityChangeRequested(bool))); + this, SLOT(toolBarVisibilityChangeRequestedCheck(bool))); WebViewWithSearch *webViewWithSearch = new WebViewWithSearch(webView, this); addTab(webViewWithSearch, tr("(Untitled)")); @@ -459,6 +459,30 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) return webView; } +void TabWidget::geometryChangeRequestedCheck(const QRect &geometry) +{ + if (count() == 1) + emit geometryChangeRequested(geometry); +} + +void TabWidget::menuBarVisibilityChangeRequestedCheck(bool visible) +{ + if (count() == 1) + emit menuBarVisibilityChangeRequested(visible); +} + +void TabWidget::statusBarVisibilityChangeRequestedCheck(bool visible) +{ + if (count() == 1) + emit statusBarVisibilityChangeRequested(visible); +} + +void TabWidget::toolBarVisibilityChangeRequestedCheck(bool visible) +{ + if (count() == 1) + emit toolBarVisibilityChangeRequested(visible); +} + void TabWidget::reloadAllTabs() { for (int i = 0; i < count(); ++i) { diff --git a/src/tabwidget.h b/src/tabwidget.h index 1f6bdf31..37e4ff1c 100644 --- a/src/tabwidget.h +++ b/src/tabwidget.h @@ -169,6 +169,10 @@ private slots: void lineEditReturnPressed(); void windowCloseRequested(); void moveTab(int fromIndex, int toIndex); + void geometryChangeRequestedCheck(const QRect &geometry); + void menuBarVisibilityChangeRequestedCheck(bool visible); + void statusBarVisibilityChangeRequestedCheck(bool visible); + void toolBarVisibilityChangeRequestedCheck(bool visible); private: QLabel *animationLabel(int index, bool addMovie); From 9a5e85d17e2c4dc907f96c3caf96515e4bc7f26c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 19:18:24 +0200 Subject: [PATCH 0035/1254] Expose the hide & show menubar action --- src/browsermainwindow.cpp | 10 +++++++++- src/browsermainwindow.h | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 42e3697f..c5b9f07a 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -286,6 +286,11 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) return true; } +QAction *BrowserMainWindow::showMenuBarAction() const +{ + return m_showMenuBarAction; +} + void BrowserMainWindow::setupMenu() { new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(slotSwapFocus())); @@ -359,7 +364,10 @@ void BrowserMainWindow::setupMenu() // View QMenu *viewMenu = menuBar()->addMenu(tr("&View")); - new QShortcut(QKeySequence("Ctrl+m"), this, SLOT(slotViewMenuBar())); + m_showMenuBarAction = new QAction("Show Menu Bar", this); + m_showMenuBarAction->setShortcut(QKeySequence("Ctrl+m")); + connect(m_showMenuBarAction, SIGNAL(triggered()), this, SLOT(slotViewMenuBar())); + addAction(m_showMenuBarAction); m_viewToolbar = new QAction(this); updateToolbarActionText(true); diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 4bd5d6cd..f5cabb77 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -97,6 +97,7 @@ class BrowserMainWindow : public QMainWindow ToolbarSearch *toolbarSearch() const; QByteArray saveState(bool withTabs = true) const; bool restoreState(const QByteArray &state); + QAction *showMenuBarAction() const; public slots: void loadPage(const QString &url); @@ -168,6 +169,7 @@ private slots: TabWidget *m_tabWidget; AutoSaver *m_autoSaver; + QAction *m_showMenuBarAction; QAction *m_historyBack; QMenu *m_historyBackMenu; QAction *m_historyForward; From 1367cda402e6b6d91d1d85fb428e73f7088298d3 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 20 Jun 2008 19:18:52 +0200 Subject: [PATCH 0036/1254] When the menu bar is hidden add a menu action to show it. --- src/webview.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index 53e4d5dd..28292612 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -77,6 +77,7 @@ #include #include #include +#include #include @@ -273,6 +274,11 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) } if (!menu.isEmpty()) { + if (m_page->mainWindow()->menuBar()->isHidden()) { + menu.addSeparator(); + menu.addAction(m_page->mainWindow()->showMenuBarAction()); + } + menu.exec(mapToGlobal(event->pos())); return; } From c22eb0028162ee77796a937dfa7a638060987e0f Mon Sep 17 00:00:00 2001 From: Chris Hills Date: Fri, 20 Jun 2008 21:05:47 +0200 Subject: [PATCH 0037/1254] Fix minor typo in browsermainwindow.cpp and locales Signed-off-by: Benjamin C Meyer --- src/browsermainwindow.cpp | 2 +- src/locale/cs_CZ.ts | 2 +- src/locale/de.ts | 2 +- src/locale/en.ts | 2 +- src/locale/es.ts | 2 +- src/locale/fr.ts | 2 +- src/locale/it.ts | 2 +- src/locale/nl.ts | 2 +- src/locale/pl.ts | 2 +- src/locale/pt_BR.ts | 2 +- src/locale/ru.ts | 2 +- src/locale/zh_CN.ts | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index c5b9f07a..836dbf18 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -796,7 +796,7 @@ void BrowserMainWindow::closeEvent(QCloseEvent *event) if (confirm) { int ret = QMessageBox::warning(this, QString(), tr("Are you sure you want to close the window?" - " There are %1 tab open").arg(m_tabWidget->count()), + " There are %1 tabs open").arg(m_tabWidget->count()), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::No) { diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index 0cba87da..51df7b88 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -535,7 +535,7 @@ P艡esto ukon膷it? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 diff --git a/src/locale/de.ts b/src/locale/de.ts index a6dd61b4..b2b524c4 100644 --- a/src/locale/de.ts +++ b/src/locale/de.ts @@ -531,7 +531,7 @@ Arora wirklich beenden? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open Soll das Fenster wirklich geschlossen werden? Es sind %1 Tabs ge枚ffnet diff --git a/src/locale/en.ts b/src/locale/en.ts index 2de6168a..d50378c1 100644 --- a/src/locale/en.ts +++ b/src/locale/en.ts @@ -391,7 +391,7 @@ Do you want to quit anyway? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open diff --git a/src/locale/es.ts b/src/locale/es.ts index 081bb684..8752b764 100644 --- a/src/locale/es.ts +++ b/src/locale/es.ts @@ -502,7 +502,7 @@ Do you want to quit anyway? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open 驴Est谩 seguro de que quiere cerrar la ventana? Hay %1 pesta帽as abiertas diff --git a/src/locale/fr.ts b/src/locale/fr.ts index c8daba3e..94e20b3b 100644 --- a/src/locale/fr.ts +++ b/src/locale/fr.ts @@ -507,7 +507,7 @@ Voulez-vous tout de m锚me quitter? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open 脢tes-vous s没r de vouloir fermer cette fen锚tre? Il y a %1 onglets ouverts. diff --git a/src/locale/it.ts b/src/locale/it.ts index 16d166e1..6b6b4f18 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -487,7 +487,7 @@ Se sicuro di voler uscire? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte diff --git a/src/locale/nl.ts b/src/locale/nl.ts index 618db99c..b1ef6e52 100644 --- a/src/locale/nl.ts +++ b/src/locale/nl.ts @@ -537,7 +537,7 @@ Wilt u toch afsluiten? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend diff --git a/src/locale/pl.ts b/src/locale/pl.ts index 06ba5614..33d1c294 100644 --- a/src/locale/pl.ts +++ b/src/locale/pl.ts @@ -503,7 +503,7 @@ Czy mimo to chcesz zako艅czy膰? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open Czy jeste艣 pewien, 偶e chcesz zamkn膮膰 okno? %1 kart jest otwartch diff --git a/src/locale/pt_BR.ts b/src/locale/pt_BR.ts index 2aa4fcfb..9a86664a 100644 --- a/src/locale/pt_BR.ts +++ b/src/locale/pt_BR.ts @@ -406,7 +406,7 @@ Voc锚 deve sair de qualquer maneira? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open diff --git a/src/locale/ru.ts b/src/locale/ru.ts index cc9f62b3..9fb6d536 100644 --- a/src/locale/ru.ts +++ b/src/locale/ru.ts @@ -414,7 +414,7 @@ Do you want to quit anyway? <b>%1</b><br><br>袙 褉械卸懈屑械 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈 锌芯褋械褖褢薪薪褘械 胁械斜-褋褌褉邪薪懈褑褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 卸褍褉薪邪谢, 褎邪泄谢褘 邪胁褌芯屑邪褌懈褔械褋泻懈 褍写邪谢褟褞褌褋褟 懈蟹 芯泻薪邪 蟹邪谐褉褍蟹芯泻, 薪芯胁褘械 cookies are 薪械 褋芯褏褉邪薪褟褞褌褋褟, 褌械泻褍褖懈械 cookies 薪械写芯褋褌褍锌薪褘, 蟹薪邪褔泻懈 褋邪泄褌芯胁 懈 褋械邪薪褋褘 薪械 褋芯褏褉邪薪褟褞褌褋褟, 懈 锌芯懈褋泻芯胁褘械 蟹邪锌褉芯褋褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 锌芯谢械 锌芯懈褋泻邪 Google. 袩芯泻邪 胁褘 薪械 蟹邪泻褉芯械褌械 芯泻薪芯, 胁褘 胁褋褢 械褖褢 屑芯卸械褌械 薪邪卸懈屑邪褌褜 泻薪芯锌泻懈 袧邪蟹邪写 懈 袙锌械褉褢写 写谢褟 胁芯蟹胁褉邪褌邪 泻 褍卸械 锌芯褋械褖褢薪薪褘屑 褋褌褉邪薪懈褑邪屑. - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open 袙褘 褍胁械褉械薪褘, 褔褌芯 褏芯褌懈褌械 蟹邪泻褉褘褌褜 芯泻薪芯? 袨褌泻褉褘褌褘 %1 胁泻谢邪写芯泻 diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index 2a64ec7e..a8c68f92 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -499,7 +499,7 @@ Do you want to quit anyway? - Are you sure you want to close the window? There are %1 tab open + Are you sure you want to close the window? There are %1 tabs open 您确定要关闭窗口吗? 当前已经打开了 %1 个标签。 From 89b95052200a793dafc3455997af61c65b21cfb2 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 23 Jun 2008 19:54:38 +0200 Subject: [PATCH 0038/1254] Update from zhengpeng.hou@gmail.com --- src/locale/zh_CN.ts | 82 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 62 insertions(+), 20 deletions(-) diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index a8c68f92..c00877aa 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -1,5 +1,7 @@ + + AboutDialog @@ -17,7 +19,8 @@ - Type a name for the bookmark, and choose where to keep it. + Type a name for the bookmark, and choose where to keep +it. 请为此书签输入名称,然后选择位置保存。 @@ -160,7 +163,8 @@ There are %1 windows and %2 tabs open Do you want to quit anyway? - 当前有 %1 个窗口和 %2 个标签打开,您真的要退出吗? + 当前有 %1 个窗口和 %2 +个标签打开,您真的要退出吗? @@ -469,8 +473,16 @@ Do you want to quit anyway? - Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. - Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. + Version %1<p>This demo demonstrates Qt's webkit +facilities in action, providing an example browser for you to experiment +with.<p><p>QtWebKit is based on the Open Source WebKit Project +developed at <a +href="http://webkit.org/">http://webkit.org/</a>. + Version %1<p>This demo demonstrates Qt's webkit +facilities in action, providing an example browser for you to experiment +with.<p><p>QtWebKit is based on the Open Source WebKit Project +developed at <a +href="http://webkit.org/">http://webkit.org/</a>. @@ -479,8 +491,10 @@ Do you want to quit anyway? - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - 网络资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有的文件 (*.*) + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files +(*.*) + 网络资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有的文件 +(*.*) @@ -494,12 +508,20 @@ Do you want to quit anyway? - <b>%1</b><br><br>When private browsing in turned on, webpages are not added to the history, items are automatically removed from the Downloads window, new cookies are not stored, current cookies can't be accessed, site icons wont be stored, session wont be saved, and searches are not addded to the pop-up menu in the Google search box. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>打开秘密浏览时,浏览的页面不会被添加到历史中,下载的内容会被自动从下载窗口种移除,新的cookie也不会被保存,当前的cookie也不能被访问,站点图标不会被保存,会话也将不被保存,搜索也不会添加到Google搜索框的弹出菜单中。在你关闭窗口前,你仍然可以使用前进和后退按钮来访问你曾经打开的页面。 + <b>%1</b><br><br>When private browsing in +turned on, webpages are not added to the history, items are automatically removed +from the Downloads window, new cookies are not stored, current cookies can't +be accessed, site icons wont be stored, session wont be saved, and searches are +not addded to the pop-up menu in the Google search box. Until you close the +window, you can still click the Back and Forward buttons to return to the webpages +you have opened. + <b>%1</b><br><br>打开秘密浏览时,浏览的页面不会被添加到历史中,下载的内容会被自动从下载窗口种移除,新的cookie也不会被保存,当前的cookie也不能被访问,站点图标不会被保存,会话也将不被保存,搜索也不会添加到Google搜索框的弹出菜单中。在你关闭窗口前,你仍然可以使用前进和后退按钮来访问你曾经打开的页面。 - Are you sure you want to close the window? There are %1 tabs open + Are you sure you want to close the window? There are %1 tab +open 您确定要关闭窗口吗? 当前已经打开了 %1 个标签。 @@ -514,9 +536,11 @@ Do you want to quit anyway? - The web inspector will only work correctly for pages that were loaded after enabling. + The web inspector will only work correctly for pages that were +loaded after enabling. Do you want to reload all pages? - Web inspactor只对启用后打开的页面有效。您是否要重新载入所有的页面? + Web +inspactor只对启用后打开的页面有效。您是否要重新载入所有的页面? @@ -552,8 +576,19 @@ Do you want to reload all pages? - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>当秘密浏览启用时,涉及您个人隐私的操作是被禁止的:<ul><li> 页面不会被添加到历史中。</li><li>内容会被自动从下载窗口中移除。</li><li>新的cookie不能被保存,当前cookie不能访问。</li><li>站点图标不被保存。</li><li>搜索过的关键词不会被添加到搜索框的弹出菜单中</li></ul>在关闭窗口前,您仍然可以通过前进和后退按钮访问打开的页面。 + <b>%1</b><br><br>When private browsing is +turned on, some actions concerning your privacy will be +disabled:<ul><li> Webpages are not added to the +history.</li><li> Items are automatically removed from the Downloads +window.</li><li> New cookies are not stored, current cookies +can't be accessed.</li><li> Site icons won't be stored, +session won't be saved.</li><li> Searches are not addded to the +pop-up menu in the search box.</li></ul>Until you close the window, +you can still click the Back and Forward buttonsto return to the webpages you have +opened. + +<b>%1</b><br><br>当秘密浏览启用时,涉及您个人隐私的操作是被禁止的:<ul><li> +页面不会被添加到历史中。</li><li>内容会被自动从下载窗口中移除。</li><li>新的cookie不能被保存,当前cookie不能访问。</li><li>站点图标不被保存。</li><li>搜索过的关键词不会被添加到搜索框的弹出菜单中</li></ul>在关闭窗口前,您仍然可以通过前进和后退按钮访问打开的页面。 @@ -954,13 +989,17 @@ Do you want to reload all pages? NetworkAccessManager - <qt>Enter username and password for "%1" at %2</qt> - <qt>输入 "%1" 于 %2 的用户名和密码</qt> + <qt>Enter username and password for "%1" at +%2</qt> + <qt>输入 "%1" 于 %2 +的用户名和密码</qt> - <qt>Connect to proxy "%1" using:</qt> - <qt>使用如下方式连接代理 "%1":</qt> + <qt>Connect to proxy "%1" +using:</qt> + <qt>使用如下方式连接代理 +"%1":</qt> @@ -1005,7 +1044,7 @@ Do you want to ignore these errors? Username: - 用户名: + 用户名: @@ -1415,10 +1454,12 @@ Do you want to ignore these errors? - You have modified this page and when closing it you would lose the modification. + You have modified this page and when closing it you would lose the +modification. Do you really want to close this page? - 您已经修改了页面,关闭将导致您的修改丢失。您确定要关闭此页吗? + +您已经修改了页面,关闭将导致您的修改丢失。您确定要关闭此页吗? @@ -1520,3 +1561,4 @@ Do you really want to close this page? + From afad62c8a95a0cd7a8716e58a994774b0a1c0cd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sat, 21 Jun 2008 17:54:02 +0200 Subject: [PATCH 0039/1254] DownloadManager: remaining string is now better translatable Signed-off-by: Benjamin C Meyer --- src/downloadmanager.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index f01cc542..41fee4cb 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -325,11 +325,7 @@ void DownloadItem::updateInfoLabel() double speed = m_bytesReceived * 1000.0 / m_downloadTime.elapsed(); double timeRemaining = ((double)(bytesTotal - m_bytesReceived)) / speed; QString timeRemainingString = tr("seconds"); - if (timeRemaining > 60) { - timeRemaining = timeRemaining / 60; - timeRemainingString = tr("minutes"); - } - timeRemaining = floor(timeRemaining); + // When downloading the eta should never be 0 if (timeRemaining == 0) @@ -338,10 +334,18 @@ void DownloadItem::updateInfoLabel() QString info; if (running) { QString remaining; - if (bytesTotal != 0) - remaining = tr("- %4 %5 remaining") - .arg(timeRemaining) - .arg(timeRemainingString); + + if (bytesTotal != 0) { + if (timeRemaining > 60) { + timeRemaining = timeRemaining / 60; + timeRemaining = floor(timeRemaining); + remaining = tr("- %n minutes remaining", "", timeRemaining); + } + else { + timeRemaining = floor(timeRemaining); + remaining = tr("- %n seconds remaining", "", timeRemaining); + } + } info = QString(tr("%1 of %2 (%3/sec) %4")) .arg(dataString(m_bytesReceived)) .arg(bytesTotal == 0 ? tr("?") : dataString(bytesTotal)) From 7140030e98f530c8fd026cfca9a185e8beac8cf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sat, 21 Jun 2008 18:04:33 +0200 Subject: [PATCH 0040/1254] Some fixes for better translatability Signed-off-by: Benjamin C Meyer --- src/downloadmanager.cpp | 2 +- src/history.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 41fee4cb..5f6c126e 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -614,7 +614,7 @@ void DownloadManager::cleanup() void DownloadManager::updateItemCount() { int count = m_downloads.count(); - itemCount->setText(count == 1 ? tr("1 Download") : tr("%1 Downloads").arg(count)); + itemCount->setText(tr("%n Download(s)", "", count)); } DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent) diff --git a/src/history.cpp b/src/history.cpp index 6086155c..6669d834 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -1059,7 +1059,7 @@ QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const return date.toString(QLatin1String("dddd, MMMM d, yyyy")); } if (index.column() == 1) { - return tr("%1 items").arg(rowCount(index.sibling(index.row(), 0))); + return tr("%n item(s)", "", rowCount(index.sibling(index.row(), 0))); } } } From 354485bca560762c16f1384ec4ea56c1f38a0196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sat, 21 Jun 2008 18:21:48 +0200 Subject: [PATCH 0041/1254] Updated Czech translation --- src/locale/cs_CZ.ts | 265 ++++++++++++++++++++++++++------------------ 1 file changed, 158 insertions(+), 107 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index 51df7b88..7e254521 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -69,7 +69,7 @@ p, li { white-space: pre-wrap; } Smazat - + New Folder Nov谩 slo啪ka @@ -184,7 +184,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Z谩lo啪ky @@ -192,7 +192,7 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Je otev艡eno %1 oken a %2 panel暖 @@ -202,298 +202,298 @@ P艡esto ukon膷it? BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... - + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t - + &Find Next Naj铆&t dal拧铆 - + &Find Previous Naj铆t &p艡edchoz铆 - + &Preferences P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit - + Reload Page O&bnovit - + &Make Text Bigger Z&v臎t拧it p铆smo - + &Make Text Normal &Norm谩ln铆 velikost p铆sma - + &Make Text Smaller Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 Show Bookmarks bar - Zobrazit panel z谩lo啪ek + Zobrazit panel z谩lo啪ek Hide Bookmarks bar - Skr媒t panel z谩lo啪ek + Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -509,22 +509,22 @@ P艡esto ukon膷it? Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? @@ -534,54 +534,54 @@ P艡esto ukon膷it? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 - + Page Source of %1 Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data @@ -592,10 +592,20 @@ Do you want to reload all pages? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. + + + Show Bookmarks Bar + Zobrazit panel z谩lo啪ek + + + + Hide Bookmarks Bar + Skr媒t panel z谩lo啪ek + ClearButton @@ -836,87 +846,114 @@ Do you want to reload all pages? Otev艡铆t - + Save File Ulo啪it soubor - + Download canceled: %1 Stahov谩n铆 zru拧eno: %1 - + Error opening save file: %1 Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 - + Error saving: %1 Chyba p艡i ukl谩d谩n铆: %1 - + Network Error: %1 Chyba s铆t臎: %1 - + seconds sekund minutes - minut + minut - %4 %5 remaining - - %4 %5 zb媒v谩 + - %4 %5 zb媒v谩 - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 - + ? - + %1 of %2 - Stopped %1 z %2 - Zastaveno - + bytes bajt暖 - + kB - + MB + + + - %n minutes remaining + + - %n minuta zb媒v谩 + - %n minuty zb媒vaj铆 + - %n minut zb媒v谩 + + + + + - %n seconds remaining + + - %n sekunda zb媒v谩 + - %n sekundy zb媒vaj铆 + - %n sekund zb媒v谩 + + DownloadManager 1 Download - 1 stahov谩n铆 + 1 stahov谩n铆 %1 Downloads - %1 stahov谩n铆 + %1 stahov谩n铆 + + + + %n Download(s) + + %n stahov谩n铆 + %n stahov谩n铆 + %n stahov谩n铆 + @@ -988,7 +1025,16 @@ Do you want to reload all pages? %1 items - %1 polo啪ek + %1 polo啪ek + + + + %n item(s) + + %n polo啪ka + %n polo啪ky + %n polo啪ek + @@ -1485,12 +1531,12 @@ Chce拧 ignorovat tyto chyby? (Bez titulku) - + Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1525,7 +1571,7 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? WebPage - + Error loading page: %1 Chyba p艡i na膷铆t谩n铆 str谩nky: %1 @@ -1538,55 +1584,60 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? Otev艡铆t v nov茅m panelu - + Open in New &Window Otev艡铆t v nov茅m okn臎 - + Open in New &Tab Otev艡铆t v &nov茅m panelu - + Save Lin&k Ulo啪it o&dkaz - + &Bookmark This Link &Vytvo艡it z谩lo啪ku pro tento odkaz - + &Copy Link Location &Kop铆rovat adresu odkazu - + Open Image in New &Window Otev艡铆t obr谩zek v nov茅m okn臎 - + Open Image in New &Tab Otev艡铆t obr谩zek v nov茅m panelu - + &Save Image Ulo啪it obr谩zek - + &Copy Image Kop铆rovat o&br谩zek - + C&opy Image Location Kop铆rovat adresu ob&r谩zku + + + Loading... + Na膷铆t谩m... + WebViewSearch From 389b23195ee596277500b846c8826468bb10fbc5 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 23 Jun 2008 20:43:58 +0200 Subject: [PATCH 0042/1254] If the search banner is already open ctrl-f doesn't give it focus Issue: 113 --- src/webviewsearch.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index 8f2b620b..26efd201 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -87,18 +87,16 @@ void WebViewSearch::clear() void WebViewSearch::showFind() { - if (isVisible()) - return; - - show(); + if (!isVisible()) { + show(); + m_timeLine->setFrameRange(-1 * m_widget->height(), 0); + m_timeLine->setDirection(QTimeLine::Forward); + disconnect(m_timeLine, SIGNAL(finished()), + this, SLOT(hide())); + m_timeLine->start(); + } ui.searchLineEdit->setFocus(); ui.searchLineEdit->lineEdit()->selectAll(); - - m_timeLine->setFrameRange(-1 * m_widget->height(), 0); - m_timeLine->setDirection(QTimeLine::Forward); - disconnect(m_timeLine, SIGNAL(finished()), - this, SLOT(hide())); - m_timeLine->start(); } void WebViewSearch::findNext() From 59a0d36acfa98bfd5373f994d8c9f84a7b04bd19 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 23 Jun 2008 22:17:37 +0200 Subject: [PATCH 0043/1254] Don't ask the download manager to download unsupported content when ContentType is not specified. Issue: 32 --- src/webview.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/webview.cpp b/src/webview.cpp index 28292612..676b9ec6 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -184,7 +184,8 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) } if (reply->error() == QNetworkReply::NoError) { - BrowserApplication::downloadManager()->handleUnsupportedContent(reply); + if (reply->header(QNetworkRequest::ContentTypeHeader).isValid()) + BrowserApplication::downloadManager()->handleUnsupportedContent(reply); return; } From c622b40b1aeb6b0de32934a613cb16e3fd0bd2b4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 23 Jun 2008 22:32:44 +0200 Subject: [PATCH 0044/1254] When using a theme that changes the text color generate the progressbar from the text color Issue: 25 --- src/urllineedit.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/urllineedit.cpp b/src/urllineedit.cpp index 9b2413fb..f83a94ca 100644 --- a/src/urllineedit.cpp +++ b/src/urllineedit.cpp @@ -351,7 +351,8 @@ void UrlLineEdit::focusOutEvent(QFocusEvent *event) void UrlLineEdit::paintEvent(QPaintEvent *event) { QPalette p = palette(); - if (m_webView && m_webView->url().scheme() == QLatin1String("https")) { + if (m_webView && m_webView->url().scheme() == QLatin1String("https") + && p.brush(QPalette::Text) != Qt::black) { QColor lightYellow(248, 248, 210); p.setBrush(QPalette::Base, lightYellow); } else { @@ -367,6 +368,9 @@ void UrlLineEdit::paintEvent(QPaintEvent *event) if (m_webView && !hasFocus()) { int progress = m_webView->progress(); QColor loadingColor = QColor(116, 192, 250); + if (p.brush(QPalette::Text) != Qt::black) + loadingColor = m_defaultBaseColor.value() < 128 ? m_defaultBaseColor.lighter(200) : m_defaultBaseColor.darker(200); + painter.setBrush(generateGradient(loadingColor)); painter.setPen(Qt::transparent); From 174b82920ba5cbe1f1d6f167a66ef633d814b6a8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 23 Jun 2008 23:22:50 +0200 Subject: [PATCH 0045/1254] Hide the progressbar when the user cancles a download --- src/downloadmanager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 5f6c126e..276967e7 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -165,7 +165,8 @@ void DownloadItem::getFileName() fileName = QFileDialog::getSaveFileName(this, tr("Save File"), defaultFileName); m_gettingFileName = false; if (fileName.isEmpty()) { - m_reply->close(); + progressBar->setVisible(false); + stop(); fileNameLabel->setText(tr("Download canceled: %1").arg(QFileInfo(defaultFileName).fileName())); return; } From f9e9dddaf3288f3cee7416ceec087ed739f0a445 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 23 Jun 2008 23:23:38 +0200 Subject: [PATCH 0046/1254] Keep the size of a download more consistant and minor code cleanup Issue: 39 --- src/downloadmanager.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 276967e7..81d485ec 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -489,10 +489,8 @@ void DownloadManager::addItem(DownloadItem *item) void DownloadManager::updateRow() { - DownloadItem *item = qobject_cast(sender()); - if (item) { + if (DownloadItem *item = qobject_cast(sender())) updateRow(item); - } } void DownloadManager::updateRow(DownloadItem *item) @@ -506,7 +504,9 @@ void DownloadManager::updateRow(DownloadItem *item) if (icon.isNull()) icon = style()->standardIcon(QStyle::SP_FileIcon); item->fileIcon->setPixmap(icon.pixmap(48, 48)); - downloadsView->setRowHeight(row, item->minimumSizeHint().height()); + + int oldHeight = downloadsView->rowHeight(row); + downloadsView->setRowHeight(row, qMax(oldHeight, item->minimumSizeHint().height())); bool remove = false; QWebSettings *globalSettings = QWebSettings::globalSettings(); @@ -587,12 +587,12 @@ void DownloadManager::load() item->m_output.setFileName(fileName); item->fileNameLabel->setText(QFileInfo(item->m_output.fileName()).fileName()); item->m_url = url; + addItem(item); item->stopButton->setVisible(false); item->stopButton->setEnabled(false); item->tryAgainButton->setVisible(!done); item->tryAgainButton->setEnabled(!done); item->progressBar->setVisible(false); - addItem(item); } key = QString(QLatin1String("download_%1_")).arg(++i); } From 6b5e2c1d29b73559c6e9e9e3da5600baac7f19de Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 24 Jun 2008 12:01:23 +0200 Subject: [PATCH 0047/1254] Add webkit trunk DEFINE to test new function "createStandardContextMenu" that will be added to QWebPage in Qt 4.5. --- src/webkittrunk.pri | 1 + src/webview.cpp | 49 ++++++++++++++++++++++++++------------------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/webkittrunk.pri b/src/webkittrunk.pri index c44b7d06..3a5f4170 100644 --- a/src/webkittrunk.pri +++ b/src/webkittrunk.pri @@ -7,6 +7,7 @@ webkit_trunk { message(Using WebKit Trunk) WEBKITHOME = $$(WEBKITHOME) QT -= webkit + DEFINES += WEBKIT_TRUNK debug: QMAKE_LIBDIR_FLAGS = -L$$WEBKITHOME/WebKitBuild/Debug/lib release: QMAKE_LIBDIR_FLAGS = -L$$WEBKITHOME/WebKitBuild/Release/lib LIBS = -lQtWebKit diff --git a/src/webview.cpp b/src/webview.cpp index 676b9ec6..8b36119d 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -247,42 +247,49 @@ WebView::WebView(QWidget* parent) void WebView::contextMenuEvent(QContextMenuEvent *event) { - QMenu menu(this); + QMenu *menu = new QMenu(this); QWebHitTestResult r = page()->mainFrame()->hitTestContent(event->pos()); if (!r.linkUrl().isEmpty()) { - menu.addAction(tr("Open in New &Window"), this, SLOT(openLinkInNewWindow())); - menu.addAction(tr("Open in New &Tab"), this, SLOT(openLinkInNewTab())); - menu.addSeparator(); - menu.addAction(tr("Save Lin&k"), this, SLOT(downloadLinkToDisk())); - menu.addAction(tr("&Bookmark This Link"), this, SLOT(bookmarkLink()))->setData(r.linkUrl().toString()); - menu.addSeparator(); - menu.addAction(tr("&Copy Link Location"), this, SLOT(copyLinkToClipboard())); + menu->addAction(tr("Open in New &Window"), this, SLOT(openLinkInNewWindow())); + menu->addAction(tr("Open in New &Tab"), this, SLOT(openLinkInNewTab())); + menu->addSeparator(); + menu->addAction(tr("Save Lin&k"), this, SLOT(downloadLinkToDisk())); + menu->addAction(tr("&Bookmark This Link"), this, SLOT(bookmarkLink()))->setData(r.linkUrl().toString()); + menu->addSeparator(); + menu->addAction(tr("&Copy Link Location"), this, SLOT(copyLinkToClipboard())); if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled)) - menu.addAction(pageAction(QWebPage::InspectElement)); + menu->addAction(pageAction(QWebPage::InspectElement)); } if (!r.imageUrl().isEmpty()) { - if (!menu.isEmpty()) - menu.addSeparator(); - menu.addAction(tr("Open Image in New &Window"), this, SLOT(openImageInNewWindow())); - menu.addAction(tr("Open Image in New &Tab"), this, SLOT(openImageInNewTab())); - menu.addSeparator(); - menu.addAction(tr("&Save Image"), this, SLOT(downloadImageToDisk())); - menu.addAction(tr("&Copy Image"), this, SLOT(copyImageToClipboard())); - menu.addAction(tr("C&opy Image Location"), this, SLOT(copyImageLocationToClipboard()))->setData(r.imageUrl().toString()); + if (!menu->isEmpty()) + menu->addSeparator(); + menu->addAction(tr("Open Image in New &Window"), this, SLOT(openImageInNewWindow())); + menu->addAction(tr("Open Image in New &Tab"), this, SLOT(openImageInNewTab())); + menu->addSeparator(); + menu->addAction(tr("&Save Image"), this, SLOT(downloadImageToDisk())); + menu->addAction(tr("&Copy Image"), this, SLOT(copyImageToClipboard())); + menu->addAction(tr("C&opy Image Location"), this, SLOT(copyImageLocationToClipboard()))->setData(r.imageUrl().toString()); } - if (!menu.isEmpty()) { +#ifdef WEBKIT_TRUNK // i.e. Qt 4.5, but not in Qt 4.5 yet + if (menu->isEmpty()) + menu = page()->createStandardContextMenu(); +#endif + + if (!menu->isEmpty()) { if (m_page->mainWindow()->menuBar()->isHidden()) { - menu.addSeparator(); - menu.addAction(m_page->mainWindow()->showMenuBarAction()); + menu->addSeparator(); + menu->addAction(m_page->mainWindow()->showMenuBarAction()); } - menu.exec(mapToGlobal(event->pos())); + menu->exec(mapToGlobal(event->pos())); + delete menu; return; } + delete menu; QWebView::contextMenuEvent(event); } From 0575505d22797e4bd36237f937946c102538a8bc Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 24 Jun 2008 21:49:30 +0200 Subject: [PATCH 0048/1254] Bump to version 0.3 --- ChangeLog | 13 ++++++++++++- src/browserapplication.cpp | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6d0f2e07..7e3d620e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2 +1,13 @@ +0.3 + 0.2 - - Branch from the Qt demo browser + - Many Bug fixes and improvements. + - Add make install on unix + - Improved tabs + - Translations + - New reset dialog + - New about dialog + - Add search banner + - Rename to Arora and a new application icon + - Project specific git hooks + - Branch from the Qt demo browser with new autotests and manualtests diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 6e8153d6..20d347fd 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -99,7 +99,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); - QString version = QString("0.2 (Change: %1 %2)").arg(GITCHANGENUMBER).arg(GITVERSION); + QString version = QString("0.3 (Change: %1 %2)").arg(GITCHANGENUMBER).arg(GITVERSION); QCoreApplication::setApplicationVersion(version); #ifdef Q_WS_QWS // Use a different server name for QWS so we can run an X11 From 1f7b4adbe2e62a67998a0e9bba9ee357e316309e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Wed, 25 Jun 2008 17:01:26 +0200 Subject: [PATCH 0049/1254] Added plural forms to English translation --- src/locale/en.ts | 421 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 389 insertions(+), 32 deletions(-) diff --git a/src/locale/en.ts b/src/locale/en.ts index d50378c1..e49195a4 100644 --- a/src/locale/en.ts +++ b/src/locale/en.ts @@ -1,18 +1,57 @@ - - + + + + AboutDialog + About + + + Authors + + + + + License + + + + + Lightweight WebKit-based web browser + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + + AddBookmarkDialog + Add Bookmark + Type a name for the bookmark, and choose where to keep it. @@ -20,30 +59,37 @@ BookmarksDialog + Open + Delete + New Folder + Bookmarks + &Remove + Add Folder + Open in New Tab @@ -51,59 +97,73 @@ BookmarksManager + Error when loading bookmarks on line %1, column %2: %3 + Toolbar Bookmarks + Menu + Open File + XBEL (*.xbel *.xml) + Imported %1 + Save File + %1 Bookmarks.xbel + Export error + error saving bookmarks + Remove Bookmark + Insert Bookmark + Name Change + Address Change @@ -111,10 +171,12 @@ BookmarksModel + Title + Address @@ -122,6 +184,7 @@ BookmarksToolBar + Bookmark @@ -129,6 +192,7 @@ BrowserApplication + There are %1 windows and %2 tabs open Do you want to quit anyway? @@ -137,310 +201,385 @@ Do you want to quit anyway? BrowserMainWindow + &File + &New Window + &Open File... + Open &Location... + &Save As... + &Import Bookmarks... + &Export Bookmarks... + P&rint Preview... + &Print... + Private &Browsing... + &Quit + &Edit + &Undo + &Redo + Cu&t + &Copy + &Paste + &Find + &Find Next + &Find Previous + &Preferences + Ctrl+, + &View + Shift+Ctrl+B + Ctrl+| + Ctrl+/ + &Stop + Reload Page + &Make Text Bigger + &Make Text Normal + &Make Text Smaller + Page S&ource + Ctrl+Alt+U + &Full Screen + Hi&story + Back + Forward + Home + Restore Last Session + &Bookmarks + Manage Bookmarks... + Add Bookmark... + &Window + &Tools + Web &Search + Ctrl+K Web Search + Enable Web &Inspector + &Help + About &Qt + About &Arora + Navigation + Show Status Bar + Hide Status Bar + Show Toolbar + Hide Toolbar - Show Bookmarks bar - - - - Hide Bookmarks bar - - - + Arora + %1 - Arora Page title and Browser name + Open Web Resource + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Print Document + Are you sure you want to turn on private browsing? + Are you sure you want to close the window? There are %1 tabs open + Page Source of %1 + Web Inspector + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? + Stop loading the current page + Reload the current page + Downloads + Alt+Ctrl+L Download Manager - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - - - + &Clear Private Data + Ctrl+Shift+Delete Clear Private Data + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + ClearButton + Clear @@ -448,42 +587,52 @@ Do you want to reload all pages? ClearPrivateData + Clear Private Data + Clear the following items: + &Browsing History + &Download History + &Search History + &Cookies + C&ache + Website &Icons + Clear &Private Data + &Cancel @@ -491,22 +640,27 @@ Do you want to reload all pages? CookieExceptionsModel + Website + Status + Allow + Block + Allow For Session @@ -514,26 +668,32 @@ Do you want to reload all pages? CookieModel + Website + Name + Path + Secure + Expires + Contents @@ -541,14 +701,17 @@ Do you want to reload all pages? CookiesDialog + Cookies + &Remove + Remove &All Cookies @@ -556,38 +719,47 @@ Do you want to reload all pages? CookiesExceptionsDialog + Cookie Exceptions + New Exception + Domain: + Block + Allow For Session + Allow + Exceptions + &Remove + Remove &All @@ -595,14 +767,17 @@ Do you want to reload all pages? DownloadDialog + Downloads + Clean up + 0 Items @@ -610,120 +785,152 @@ Do you want to reload all pages? DownloadItem + Save File + Download canceled: %1 + Error opening save file: %1 + Error saving: %1 + Network Error: %1 + seconds - minutes - - - - - %4 %5 remaining - - - + %1 of %2 (%3/sec) %4 + ? + %1 of %2 - Stopped + bytes + kB + MB + Form + Ico + Filename + Try Again + Stop + Open + + + - %n minutes remaining + + - %n minute remaining + - %n minutes remaining + + + + + - %n seconds remaining + + - %n second remaining + - %n seconds remaining + + DownloadManager - - 1 Download - - - - %1 Downloads - + + + %n Download(s) + + %n Download + %n Downloads + HistoryDialog + Open + Copy + Delete + History + &Remove + Remove &All @@ -731,10 +938,12 @@ Do you want to reload all pages? HistoryMenu + Show All History + Clear History @@ -742,10 +951,12 @@ Do you want to reload all pages? HistoryModel + Title + Address @@ -753,25 +964,33 @@ Do you want to reload all pages? HistoryTreeModel + Earlier Today - - %1 items - + + + %n item(s) + + %n item + %n items + NetworkAccessManager + <qt>Enter username and password for "%1" at %2</qt> + <qt>Connect to proxy "%1" using:</qt> + SSL Errors: %1 @@ -782,6 +1001,7 @@ Do you want to ignore these errors? + Do you want to accept all these certificates? @@ -789,22 +1009,27 @@ Do you want to ignore these errors? PasswordDialog + Authentication Required + DUMMY ICON + INTRO TEXT DUMMY + Username: + Password: @@ -812,22 +1037,27 @@ Do you want to ignore these errors? ProxyDialog + Proxy Authentication + ICON + Connect to proxy + Username: + Password: @@ -835,10 +1065,12 @@ Do you want to ignore these errors? QObject + The file is not an XBEL version 1.0 file. + Unknown title @@ -846,22 +1078,27 @@ Do you want to ignore these errors? SearchBanner + Form + TextLabel + < + > + Done @@ -869,6 +1106,7 @@ Do you want to ignore these errors? SearchLineEdit + Search @@ -876,260 +1114,358 @@ Do you want to ignore these errors? Settings + Settings + General + Home: + Set to current page + Remove history items: + After one day + After one week + After two weeks + After one month + After one year + Manually + Open links from applications: + In a tab in the current window + In a new window + Appearance + Fixed-width font: + Privacy + Web Content + Enable Plugins + Enable Javascript + Cookies + Accept Cookies: + Always + Never + Only from sites you navigate to + Exceptions... + Keep until: + They expire + I exit the application + At most 90 days + Cookies... + Proxy + Enable proxy + Type: + Socks5 + Http + Host: + Port: + User Name: + Password: + Advanced + Style Sheet: + Downloads + Ask for a destination each time + Use this destination: + Standard font: + Times 16 + Select... + Courier 13 + + + On application exit + + + + + Enable Images + + + + + Tabs + + + + + Select tabs and windows as they are created + + + + + Confirm when closing multiple tabs + + TabBar + New &Tab + Duplicate Tab + &Close Tab + Close &Other Tabs + Reload Tab + Reload All Tabs + + + Show Tab Bar + + + + + Hide Tab Bar + + TabWidget + New &Tab + &Close Tab + Show Next Tab + Show Previous Tab + Recently Closed Tabs + (Untitled) + Do you really want to close this page? + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1139,18 +1475,22 @@ Do you really want to close this page? ToolbarSearch + Google + No Recent Searches + Recent Searches + Clear Recent Searches @@ -1158,6 +1498,7 @@ Do you really want to close this page? WebPage + Error loading page: %1 @@ -1165,49 +1506,65 @@ Do you really want to close this page? WebView + Open in New &Window + Open in New &Tab + Save Lin&k + &Bookmark This Link + &Copy Link Location + Open Image in New &Window + Open Image in New &Tab + &Save Image + &Copy Image + C&opy Image Location + + + Loading... + + WebViewSearch + Not Found From 3d8db19fa646dac91ef4ad140bf9486662e353f2 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 26 Jun 2008 00:51:49 +0200 Subject: [PATCH 0050/1254] Update AUTHORS with a new author --- AUTHORS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 21834095..dd11fd3d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,7 +1,7 @@ Benjamin C Meyer ben@meyerhome.net Jason A. Donenfeld Jason@zx2c4.com -Matvey Kozhev sikon@ubuntu.com Jakub Lu啪n媒 limoto94@gmail.com +Matvey Kozhev sikon@ubuntu.com Daniel Albuschat d.albuschat@gmail.com Ariya Hidayat ariya.hidayat@trolltech.com Adam Treat treat@kde.org @@ -9,3 +9,4 @@ Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org Marius Bugge Monsen mariusbu@pvv.org +Chris Hills chaz@chaz6.com From 7c98b2c90999112da6cd0d3d2f7f1183e3257a55 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 26 Jun 2008 00:59:03 +0200 Subject: [PATCH 0051/1254] Add option to automatically restore the session on startup. --- src/browserapplication.cpp | 32 +++++++++-- src/settings.cpp | 2 + src/settings.ui | 105 ++++++++++++++++++++++--------------- 3 files changed, 94 insertions(+), 45 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 20d347fd..ca649a50 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -227,10 +227,18 @@ void BrowserApplication::postLaunch() // newMainWindow() needs to be called in main() for this to happen if (m_mainWindows.count() > 0) { QStringList args = QCoreApplication::arguments(); - if (args.count() > 1) + if (args.count() > 1) { mainWindow()->loadPage(args.last()); - else - mainWindow()->slotHome(); + } else { + QSettings settings; + settings.beginGroup(QLatin1String("MainWindow")); + int startup = settings.value(QLatin1String("startupBehavior")).toInt(); + switch (startup) { + case 0: mainWindow()->slotHome(); break; + case 1: break; + case 2: restoreLastSession(); break; + } + } } BrowserApplication::historyManager(); } @@ -286,13 +294,17 @@ static const qint32 BrowserApplicationMagic = 0xec; void BrowserApplication::saveSession() { + QSettings settings; + settings.beginGroup(QLatin1String("MainWindow")); + settings.setValue(QLatin1String("restoring"), false); + settings.endGroup(); + QWebSettings *globalSettings = QWebSettings::globalSettings(); if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) return; clean(); - QSettings settings; settings.beginGroup(QLatin1String("sessions")); int version = 2; @@ -319,6 +331,18 @@ bool BrowserApplication::canRestoreSession() const bool BrowserApplication::restoreLastSession() { + { + QSettings settings; + settings.beginGroup(QLatin1String("MainWindow")); + if (settings.value(QLatin1String("restoring"), false).toBool()) { + QMessageBox::information(0, tr("Restore failed"), + tr("The saved session will not being restored because last time it was restored Arora crashed.")); + return false; + } + // saveSession will be called by an AutoSaver timer from the set tabs + // and in saveSession we will reset this flag back to false + settings.setValue(QLatin1String("restoring"), true); + } int version = 2; QList windows; QBuffer buffer(&m_lastSession); diff --git a/src/settings.cpp b/src/settings.cpp index a3532a51..4ce838e3 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -115,6 +115,7 @@ void SettingsDialog::loadFromSettings() settings.beginGroup(QLatin1String("MainWindow")); QString defaultHome = QLatin1String("http://www.arora-browser.org"); homeLineEdit->setText(settings.value(QLatin1String("home"), defaultHome).toString()); + startupBehavior->setCurrentIndex(settings.value(QLatin1String("startupBehavior"), 0).toInt()); settings.endGroup(); settings.beginGroup(QLatin1String("history")); @@ -223,6 +224,7 @@ void SettingsDialog::saveToSettings() QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); settings.setValue(QLatin1String("home"), homeLineEdit->text()); + settings.setValue(QLatin1String("startupBehavior"), startupBehavior->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("downloadmanager")); diff --git a/src/settings.ui b/src/settings.ui index 4362da1a..58449f1d 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -5,8 +5,8 @@ 0 0 - 577 - 342 + 588 + 399 @@ -33,20 +33,36 @@ General - - - - Qt::Horizontal + + + + On startup: - - - 280 - 18 - + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + Home: @@ -56,17 +72,30 @@ - + - + Set to current page - + + + + Qt::Horizontal + + + + 280 + 18 + + + + + Remove history items: @@ -76,7 +105,7 @@ - + @@ -115,7 +144,7 @@ - + Open links from applications: @@ -125,7 +154,7 @@ - + @@ -140,19 +169,6 @@ - - - Qt::Vertical - - - - 391 - 262 - - - - - Downloads @@ -183,18 +199,23 @@ + downloadAsk + + + + Qt::Vertical + + + + 391 + 262 + + + + - label_3 - homeLineEdit - setHomeToCurrentPageButton - label_4 - expireHistory - label_8 - openLinksIn - - groupBox_2 @@ -624,6 +645,8 @@ + buttonBox + tabWidget tabWidget From 183bd7a4783f1c62d8c971b01a53c4a557cd3639 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 26 Jun 2008 01:13:33 +0200 Subject: [PATCH 0052/1254] Compile with Qt 4.4.0 --- src/browserapplication.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index ca649a50..4f5734ef 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -76,6 +76,7 @@ #include #include #include +#include #include #include #include From ceb43be2bac4ebdbe3d5ba2cdf9f83a5c3629157 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 26 Jun 2008 20:08:45 +0200 Subject: [PATCH 0053/1254] With Qt 4.5 use the movable tabs --- src/tabbar.cpp | 44 +++++++++++++++++++++++++++++--------------- src/tabbar.h | 3 ++- src/tabwidget.cpp | 10 ++++++++-- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/tabbar.cpp b/src/tabbar.cpp index 3bd2823a..45ef9edf 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -106,6 +106,9 @@ TabBar::TabBar(QWidget *parent) updateViewToolBarAction(); connect(m_viewTabBarAction, SIGNAL(triggered()), this, SLOT(viewTabBar())); +#if QT_VERSION >= 0x040500 + setMovable(true); +#endif } bool TabBar::showTabBarWhenOneTab() const @@ -238,31 +241,41 @@ void TabBar::mouseReleaseEvent(QMouseEvent *event) void TabBar::mousePressEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton) { + if (event->button() == Qt::LeftButton) m_dragStartPos = event->pos(); - } QTabBar::mousePressEvent(event); } void TabBar::mouseMoveEvent(QMouseEvent *event) { - if (event->buttons() == Qt::LeftButton - && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance()) { - QDrag *drag = new QDrag(this); - QMimeData *mimeData = new QMimeData; - QList urls; - int index = tabAt(event->pos()); - QUrl url = tabData(index).toUrl(); - urls.append(url); - mimeData->setUrls(urls); - mimeData->setText(tabText(index)); - mimeData->setData(QLatin1String("action"), "tab-reordering"); - drag->setMimeData(mimeData); - drag->exec(); + if (event->buttons() == Qt::LeftButton) { +#if QT_VERSION >= 0x040500 + int diffX = event->pos().x() - m_dragStartPos.x(); + int diffY = event->pos().y() - m_dragStartPos.y(); +#endif + if ((event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() +#if QT_VERSION >= 0x040500 + && diffX < 3 && diffX > -3 + && diffY < -10 +#endif + ) { + QDrag *drag = new QDrag(this); + QMimeData *mimeData = new QMimeData; + QList urls; + int index = tabAt(event->pos()); + QUrl url = tabData(index).toUrl(); + urls.append(url); + mimeData->setUrls(urls); + mimeData->setText(tabText(index)); + mimeData->setData(QLatin1String("action"), "tab-reordering"); + drag->setMimeData(mimeData); + drag->exec(); + } } QTabBar::mouseMoveEvent(event); } +#if QT_VERSION < 0x040500 void TabBar::dragEnterEvent(QDragEnterEvent *event) { const QMimeData *mimeData = event->mimeData(); @@ -284,6 +297,7 @@ void TabBar::dropEvent(QDropEvent *event) } QTabBar::dropEvent(event); } +#endif QSize TabBar::tabSizeHint(int index) const { diff --git a/src/tabbar.h b/src/tabbar.h index a76ca61e..c551104b 100644 --- a/src/tabbar.h +++ b/src/tabbar.h @@ -99,8 +99,10 @@ class TabBar : public QTabBar void mouseReleaseEvent(QMouseEvent *event); void mousePressEvent(QMouseEvent* event); void mouseMoveEvent(QMouseEvent* event); +#if QT_VERSION < 0x040500 void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); +#endif QSize tabSizeHint(int index) const; void tabInserted(int position); void tabRemoved(int position); @@ -120,7 +122,6 @@ private slots: friend class TabWidget; QPoint m_dragStartPos; - int m_dragCurrentIndex; QAction *m_viewTabBarAction; bool m_showTabBarWhenOneTab; }; diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index f773970b..4724f40d 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -98,6 +98,8 @@ TabWidget::TabWidget(QWidget *parent) { #if QT_VERSION >= 0x040500 setDocumentMode(true); + connect(m_tabBar, SIGNAL(tabMoved(int, int)), + this, SLOT(moveTab(int, int))); #endif setElideMode(Qt::ElideRight); @@ -213,6 +215,7 @@ void TabWidget::reloadTab(int index) void TabWidget::moveTab(int fromIndex, int toIndex) { +#if QT_VERSION < 0x040500 disconnect(this, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); @@ -229,6 +232,11 @@ void TabWidget::moveTab(int fromIndex, int toIndex) connect(this, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); setCurrentIndex(toIndex); +#else + QWidget *lineEdit = m_lineEdits->widget(fromIndex); + m_lineEdits->removeWidget(lineEdit); + m_lineEdits->insertWidget(toIndex, lineEdit); +#endif } void TabWidget::addWebAction(QAction *action, QWebPage::WebAction webAction) @@ -601,7 +609,6 @@ QLabel *TabWidget::animationLabel(int index, bool addMovie) loadingAnimation->setMovie(movie); movie->start(); } - loadingAnimation->show(); m_tabBar->setTabButton(index, side, 0); m_tabBar->setTabButton(index, side, loadingAnimation); return loadingAnimation; @@ -650,7 +657,6 @@ void TabWidget::webViewIconChanged() delete movie; label->setMovie(0); label->setPixmap(icon.pixmap(16, 16)); - label->show(); #else setTabIcon(index, icon); #endif From d662471e00a5e47bb3b7e53cdf0d12b70381b9ef Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 26 Jun 2008 01:51:15 +0200 Subject: [PATCH 0054/1254] Add support for javascript bookmarklets Issue: 53 --- src/webview.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index 8b36119d..719f371d 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -390,6 +390,15 @@ void WebView::loadFinished() void WebView::loadUrl(const QUrl &url, const QString &title) { + if (url.scheme() == QLatin1String("javascript")) { + QString scriptSource = url.toString().mid(11); + QVariant result = page()->mainFrame()->evaluateJavaScript(scriptSource); + if (result.canConvert(QVariant::String)) { + QString newHtml = result.toString(); + setHtml(newHtml); + } + return; + } m_initialUrl = url; if (!title.isEmpty()) emit titleChanged(tr("Loading...")); From 279a6523e8767736a82c410a1477c53c15b2a785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Thu, 26 Jun 2008 19:25:28 +0200 Subject: [PATCH 0055/1254] XML fixes in Chinese translation --- src/locale/zh_CN.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index c00877aa..9e49f14d 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -2,7 +2,6 @@ - AboutDialog @@ -1044,7 +1043,7 @@ Do you want to ignore these errors? Username: - 用户名: + 用户名: From 6694ad9dd9fcfc8c1881bf21df428e0d27632924 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 27 Jun 2008 22:02:22 +0200 Subject: [PATCH 0056/1254] Put an Ifdef around a signal that is only used if you compile with 4.4.0 --- src/tabbar.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tabbar.h b/src/tabbar.h index c551104b..bf72f95b 100644 --- a/src/tabbar.h +++ b/src/tabbar.h @@ -81,7 +81,9 @@ class TabBar : public QTabBar void closeOtherTabs(int index); void reloadTab(int index); void reloadAllTabs(); +#if QT_VERSION < 0x040500 void tabMoveRequested(int fromIndex, int toIndex); +#endif void loadUrl(const QUrl &url, TabWidget::Tab type); public: From 6fd2986d228d62d58836904de0bcb818da0abcff Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 29 Jun 2008 16:23:25 +0200 Subject: [PATCH 0057/1254] Ifdef out signal that is no longer used with qt 4.5 --- src/tabwidget.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 4724f40d..e89681c2 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -113,7 +113,9 @@ TabWidget::TabWidget(QWidget *parent) connect(m_tabBar, SIGNAL(closeOtherTabs(int)), this, SLOT(closeOtherTabs(int))); connect(m_tabBar, SIGNAL(reloadTab(int)), this, SLOT(reloadTab(int))); connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(reloadAllTabs())); +#if QT_VERSION < 0x040500 connect(m_tabBar, SIGNAL(tabMoveRequested(int, int)), this, SLOT(moveTab(int, int))); +#endif setTabBar(m_tabBar); // Actions From f16fbd1a9222ef418b072c9fa1fa4a11d1aea96e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sun, 29 Jun 2008 22:45:12 +0200 Subject: [PATCH 0058/1254] Desktop file changes --- src/arora.desktop | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/arora.desktop b/src/arora.desktop index 34219276..65630816 100644 --- a/src/arora.desktop +++ b/src/arora.desktop @@ -1,19 +1,15 @@ [Desktop Entry] -Comment=Arora Web Browser -Comment[en_US]=Arora Web Browser +Encoding=UTF-8 Exec=arora %U -GenericName= -GenericName[en_US]= +MultipleArgs=false +GenericName=Web Browser +GenericName[en_US]=Web Browser +GenericName[cs_CZ]=Webov媒 prohl铆啪e膷 Icon=arora -MimeType= +MimeType=text/html Name=Arora Name[en_US]=Arora -NoDisplay=true StartupNotify=true Terminal=false Type=Application Categories=Qt;Network;WebBrowser; -X-DCOP-ServiceType= -X-KDE-HasTempFileOption=true -X-KDE-StartupNotify=true -X-KDE-SubstituteUID=false \ No newline at end of file From 5047822be2e31906be977fe4b9ca750110ad7382 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 29 Jun 2008 23:03:48 +0200 Subject: [PATCH 0059/1254] Add danish translation by Sune@vuorela.dk --- src/locale/da.ts | 1576 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1577 insertions(+) create mode 100644 src/locale/da.ts diff --git a/src/locale/da.ts b/src/locale/da.ts new file mode 100644 index 00000000..3a9c6f08 --- /dev/null +++ b/src/locale/da.ts @@ -0,0 +1,1576 @@ + + + + + AboutDialog + + + Lightweight WebKit-based web browser + Letv忙gts WebKit-baseret internetbrowser + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">锟<html><head><meta name="qrichtext" content="1" /><style type="text/css">锟紁, li { white-space: pre-wrap; }锟</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">锟<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ophavsret 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Authors + Ophavsm忙nd + + + + License + Licens + + + + Close + Luk + + + + About + Om + + + + AddBookmarkDialog + + + Add Bookmark + Tilf酶j bogm忙rke + + + + Type a name for the bookmark, and choose where to keep it. + Skriv et navn for bogm忙rket og v忙lg et sted at gemme det. + + + + BookmarksDialog + + + Bookmarks + Bogm忙rker + + + + &Remove + &Fjern + + + + Add Folder + Tilf酶j mappe + + + + Open + 脜bn + + + + Open in New Tab + 脜bn i nyt faneblad + + + + Delete + Slet + + + + New Folder + Ny mappe + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Fejl under indl忙sning af bogm忙rker p氓 linje %1, kolonne %2: +%3 + + + + Toolbar Bookmarks + V忙rkt酶jslinjebogm忙rker + + + + Menu + Menu + + + + Open File + 脜bn fil + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 er importeret + + + + Save File + Gem fil + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Eksporteringsfejl + + + + error saving bookmarks + fejl under lagring af bogm忙rker + + + + Remove Bookmark + Fjern bogm忙rke + + + + Insert Bookmark + Inds忙t bogm忙rke + + + + Name Change + 脝ndre navn + + + + Address Change + 脝ndre adresse + + + + BookmarksModel + + + Title + Titel + + + + Address + Adresse + + + + BookmarksToolBar + + + Bookmark + Bogm忙rke + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Der er %1 vinduer og %2 faneblade 氓bne +脴nsker du alligevel at afslutte? + + + + BrowserMainWindow + + + &File + &Fil + + + + &New Window + &Nyt vindue + + + + &Open File... + &脜bn fil... + + + + Open &Location... + 脜bn &adresse... + + + + &Save As... + Ge&m Som... + + + + &Import Bookmarks... + &Import茅r bogm忙rker... + + + + &Export Bookmarks... + &Export茅r bogm忙rker... + + + + P&rint Preview... + &Vis udskrift... + + + + &Print... + &Udskriv... + + + + Private &Browsing... + Privat &browsing... + + + + &Quit + &Afslut + + + + &Edit + &Redig茅r + + + + &Undo + &Fortryd + + + + &Redo + &Omg酶r + + + + Cu&t + Kli&p + + + + &Copy + &Kopi茅r + + + + &Paste + &Inds忙t + + + + &Find + &Find + + + + &Find Next + &Find n忙ste + + + + &Find Previous + &Find forrige + + + + &Preferences + &Indstillinger + + + + Ctrl+, + Ctrl+, + + + + &View + &Vis + + + + Ctrl+| + Crtl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Crtl+/ + + + + &Stop + &Stop + + + + Reload Page + Genindl忙s side + + + + &Make Text Bigger + &G酶r tekst st酶rre + + + + &Make Text Normal + &G酶r tekst normal + + + + &Make Text Smaller + &G酶r tekst mindre + + + + Page S&ource + Sidens &kilde + + + + Ctrl+Alt+U + Crtl+Alt+U + + + + &Full Screen + &Fuldsk忙rm + + + + Hi&story + Hi&storik + + + + Back + Tilbage + + + + Forward + Frem + + + + Home + Hjem + + + + Restore Last Session + Genindl忙s sidste session + + + + &Bookmarks + &Bogm忙rker + + + + Manage Bookmarks... + H氓ndt茅r bogm忙rker... + + + + Add Bookmark... + Tilf酶j bogm忙rke... + + + + &Window + &Vindue + + + + &Tools + &V忙rkt酶jer + + + + Web &Search + Net&s酶gning + + + + Ctrl+K + Web Search + Crtl+K + + + + &Clear Private Data + &Ryd private informationer + + + + Ctrl+Shift+Delete + Clear Private Data + Crtl+Shift+Delete + + + + Enable Web &Inspector + Aktiv茅r Web&inspekt酶r + + + + &Help + &Hj忙lp + + + + About &Qt + Om &Qt + + + + About &Arora + Om &Arora + + + + Navigation + Navigation + + + + Show Status Bar + Vis statuslinje + + + + Hide Status Bar + Skjul statuslinje + + + + Show Toolbar + Vis v忙rkt酶jslinje + + + + Hide Toolbar + Skjul v忙rkt酶jslinje + + + + Show Bookmarks bar + Vis bogm忙rkelinje + + + + Hide Bookmarks bar + Skjul bogm忙rkelinje + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + 脜bn netressource + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Netressourcer (*.html *.htm *.svg *.png *.gif *.svgz);; Alle filer (*.*) + + + + Print Document + Udskriv dokument + + + + Are you sure you want to turn on private browsing? + Er du sikker p氓 du vil sl氓 privat browsing til? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>N氓r privat browsing er sl氓et til, vil nogle handlinger vedr酶rende dine hemmeligheder blive sl氓et fra:<ul><li>Sider bliver ikke tilf酶jet til historikken.</li><li> Filer bliver automatisk fjernet fra "Downloads"-vinduet.</li><li> Nye cookies bliver ikke gemt og eksisterende cookies kan ikke tilg氓s.</li><li> Sideikoner bliver ikke gemt, og sessioner vil ikke blive gemt.</li><li> S酶getermer bliver ikke tilf酶jet pop-op-menuen i s酶gefeltet.</li></ul>Indtil du lukker vinduet, kan du stadig klikke p氓 frem- og tilbage-knapperne for at komme tilbage til 氓bne netsider. + + + + Are you sure you want to close the window? There are %1 tab open + Er du sikker p氓 du vil lukke vinduet? Der er %1 faneblade 氓bne + + + + Page Source of %1 + Kilde til %1 + + + + Web Inspector + Webinspekt酶r + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + Webinspekt酶ren vil kun virke korrekt for sider der er indl忙st efter webinspekt酶ren er aktiveret +Vil du genindl忙se alle sider? + + + + Stop loading the current page + Stop indl忙sning af den aktuelle side + + + + Reload the current page + Genindl忙s den aktuelle side + + + + Downloads + Downloads + + + + Alt+Ctrl+L + Download Manager + Alt+Crtl+L + + + + ClearButton + + + Clear + Ryd + + + + ClearPrivateData + + + Clear Private Data + Ryd private data + + + + Clear the following items: + Ryd f酶lgende emner: + + + + &Browsing History + &Browserhistorik + + + + &Download History + &Downloadhistorik + + + + &Search History + &S酶gehistorik + + + + &Cookies + &Cookies + + + + C&ache + C&ache + + + + Website &Icons + Side&Ikoner + + + + Clear &Private Data + Ryd &private data + + + + &Cancel + &Annull茅r + + + + CookieExceptionsModel + + + Website + Hjemmeside + + + + Status + Status + + + + Allow + Tillad + + + + Block + Blok茅r + + + + Allow For Session + Tillad for session + + + + CookieModel + + + Website + Hjemmeside + + + + Name + Navn + + + + Path + Sti + + + + Secure + Sikker + + + + Expires + Udl酶ber + + + + Contents + Indhold + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + &Fjern + + + + Remove &All Cookies + Fjern &alle cookies + + + + CookiesExceptionsDialog + + + Cookie Exceptions + cookie-undtagelser + + + + New Exception + Ny undtagelse + + + + Domain: + Dom忙ne: + + + + Block + Blok茅r + + + + Allow For Session + Tillad for session + + + + Allow + Tillad + + + + Exceptions + Undtagelser + + + + &Remove + &Fjern + + + + Remove &All + Fjern &alle + + + + DownloadDialog + + + Downloads + Downloads + + + + Clean up + Ryd op + + + + 0 Items + 0 elementer + + + + DownloadItem + + + Form + Formular + + + + Ico + Ikon + + + + Filename + Filnavn + + + + Try Again + Pr酶v Igen + + + + Stop + Stop + + + + Open + 脜bn + + + + Save File + Gem fil + + + + Download canceled: %1 + Download annulleret: %1 + + + + Error opening save file: %1 + Fejl under 氓bning af fil for skrivning: %1 + + + + Error saving: %1 + Fejl ved skrivning: %1 + + + + Network Error: %1 + Netv忙rksfejl: %1 + + + + seconds + Sekunder + + + + minutes + Minutter + + + + - %4 %5 remaining + - %4 %5 tilbage + + + + %1 of %2 (%3/sec) %4 + %1 af %2 (%3/sek) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 af %2 - Stoppet + + + + bytes + Bytes + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + 1 Download + 1 Download + + + + %1 Downloads + %1 Downloads + + + + HistoryDialog + + + History + Historik + + + + &Remove + &Fjern + + + + Remove &All + Fjern &alt + + + + Open + 脜bn + + + + Copy + Kopi茅r + + + + Delete + Slet + + + + HistoryMenu + + + Show All History + Vis fuld historik + + + + Clear History + Ryd historik + + + + HistoryModel + + + Title + Titel + + + + Address + Adresse + + + + HistoryTreeModel + + + Earlier Today + Tidligere i dag + + + + %1 items + %1 elementer + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Indtast brugernavn og kodeord for "%1" p氓 %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Forbind til proxy'en "%1" ved brug af:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL-fejl: + +%1 + +%2 + +Vil du ignorere disse fejl? + + + + Do you want to accept all these certificates? + Vil du acceptere alle disse certifikater? + + + + PasswordDialog + + + Authentication Required + Godkendelse p氓kr忙vet + + + + DUMMY ICON + STANDARDIKON + + + + INTRO TEXT DUMMY + INTRODUKTIONSSTANDARDTEKST + + + + Username: + Brugernavn: + + + + Password: + Kodeord: + + + + ProxyDialog + + + Proxy Authentication + Proxy-godkendelse + + + + ICON + IKON + + + + Connect to proxy + Forbind til proxy + + + + Username: + Brugernavn: + + + + Password: + Kodeord: + + + + QObject + + + The file is not an XBEL version 1.0 file. + Filen er ikke af typen XBEL version 1.0. + + + + Unknown title + Ukendt titel + + + + SearchBanner + + + Form + Formular + + + + TextLabel + TextLabel + + + + < + < + + + + > + > + + + + Done + F忙rdig + + + + SearchLineEdit + + + Search + S酶g + + + + Settings + + + Settings + Ops忙tning + + + + General + Generelt + + + + Home: + Hjem: + + + + Set to current page + S忙t til nuv忙rende side + + + + Remove history items: + Fjern elementer fra historik: + + + + After one day + Efter en dag + + + + After one week + Efter en uge + + + + After two weeks + Efter to uger + + + + After one month + Efter en m氓ned + + + + After one year + Efter et 氓r + + + + Manually + Manuelt + + + + On application exit + Ved afslutning af program + + + + Open links from applications: + 脜bn links fra programmer: + + + + In a tab in the current window + I et faneblad i nuv忙rende vindue + + + + In a new window + I et nyt vindue + + + + Downloads + Downloads + + + + Ask for a destination each time + Bed om destination hver gang + + + + Use this destination: + Brug denne destination: + + + + Appearance + Udseende + + + + Standard font: + Standardskrifttype: + + + + Times 16 + Times 16 + + + + Select... + V忙lg... + + + + Fixed-width font: + Skrifttype med fast bredde: + + + + Courier 13 + Courier 13 + + + + Privacy + Privatliv + + + + Web Content + Netindhold + + + + Enable Plugins + Aktiv茅r plugins + + + + Enable Javascript + Aktiv茅r JavaScript + + + + Enable Images + Aktiv茅r billeder + + + + Cookies + Cookies + + + + Accept Cookies: + Accept茅r cookies: + + + + Always + Altid + + + + Never + Aldrig + + + + Only from sites you navigate to + Kun fra sider du aktivt bes酶ger + + + + Exceptions... + Undtagelser... + + + + Keep until: + Behold indtil: + + + + They expire + De udl酶ber + + + + I exit the application + Jeg afslutter programmet + + + + At most 90 days + H酶jst 90 dage + + + + Cookies... + Cookies... + + + + Tabs + Faneblade + + + + Select tabs and windows as they are created + V忙lg faneblade og vinduer n氓r de oprettes + + + + Confirm when closing multiple tabs + Bekr忙ft ved afslutning af flere faneblade + + + + Proxy + Proxy + + + + Enable proxy + Aktiv茅r proxy + + + + Type: + Type: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + V忙rt: + + + + Port: + Port: + + + + User Name: + Brugernavn: + + + + Password: + Kodeord: + + + + Advanced + Avanceret + + + + Style Sheet: + Stilark: + + + + TabBar + + + Show Tab Bar + Vis fanebladslinje + + + + Hide Tab Bar + Skjul fanebladslinje + + + + New &Tab + Nyt &faneblad + + + + Duplicate Tab + Duplik茅r faneblad + + + + &Close Tab + &Luk faneblad + + + + Close &Other Tabs + Luk &andre faneblade + + + + Reload Tab + Genindl忙s faneblad + + + + Reload All Tabs + Genindl忙s alle faneblade + + + + TabWidget + + + New &Tab + Nyt &faneblad + + + + &Close Tab + &Luk faneblad + + + + Show Next Tab + Vis n忙ste faneblad + + + + Show Previous Tab + Vis forrige faneblad + + + + Recently Closed Tabs + Nyligt lukkede faneblade + + + + (Untitled) + (Uden titel) + + + + Do you really want to close this page? + Vil du virkelig lukke denne side? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Du har 忙ndret i denne side og ved at lukke den, vil du miste 忙ndringerne +Er du sikker p氓 du vil lukke siden? + + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + Ingen nylige s酶gninger + + + + Recent Searches + Nylige s酶gninger + + + + Clear Recent Searches + Ryd nylige s酶gninger + + + + WebPage + + + Error loading page: %1 + Fejl ved indl忙sning af side: %1 + + + + WebView + + + Open in New &Window + 脜bn i nyt &vindue + + + + Open in New &Tab + 脜bn i nyt &faneblad + + + + Save Lin&k + Gem lin&k + + + + &Bookmark This Link + Tilf酶j link til &bogm忙rker + + + + &Copy Link Location + &Kopi茅r linkadresse + + + + Open Image in New &Window + 脜bn billede i nyt &vindue + + + + Open Image in New &Tab + 脜bn billede i nyt &faneblad + + + + &Save Image + &Gem billede + + + + &Copy Image + &Kopi茅r billede + + + + C&opy Image Location + K&opi茅r billedadresse + + + + Loading... + Indl忙ser... + + + + WebViewSearch + + + Not Found + Ikke fundet + + + diff --git a/src/src.pro b/src/src.pro index 6fbea056..32ae22c0 100644 --- a/src/src.pro +++ b/src/src.pro @@ -18,6 +18,7 @@ isEmpty(QMAKE_LRELEASE) { TRANSLATIONS += \ locale/cs_CZ.ts \ + locale/da.ts \ locale/de.ts \ locale/en.ts \ locale/es.ts \ From dc921d6895728f91d9a24801e43daeb554b3c3fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sun, 29 Jun 2008 16:09:16 +0200 Subject: [PATCH 0060/1254] Restore session when URL is on commandline --- src/browserapplication.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 4f5734ef..77bf67bb 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -227,13 +227,20 @@ void BrowserApplication::postLaunch() // newMainWindow() needs to be called in main() for this to happen if (m_mainWindows.count() > 0) { + QSettings settings; + settings.beginGroup(QLatin1String("MainWindow")); + int startup = settings.value(QLatin1String("startupBehavior")).toInt(); QStringList args = QCoreApplication::arguments(); + if (args.count() > 1) { - mainWindow()->loadPage(args.last()); + switch(startup) { + case 2: restoreLastSession(); + mainWindow()->tabWidget()->makeNewTab(true)->loadUrl(args.last() ); + break; + default: mainWindow()->loadPage(args.last() ); break; + } } else { - QSettings settings; - settings.beginGroup(QLatin1String("MainWindow")); - int startup = settings.value(QLatin1String("startupBehavior")).toInt(); + switch (startup) { case 0: mainWindow()->slotHome(); break; case 1: break; From ee42660bad1fbe1f0f50caf28258e6f91da330a9 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 30 Jun 2008 00:02:46 +0200 Subject: [PATCH 0061/1254] Minor code style improvements --- src/browserapplication.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 77bf67bb..9ce5b84d 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -234,17 +234,25 @@ void BrowserApplication::postLaunch() if (args.count() > 1) { switch(startup) { - case 2: restoreLastSession(); - mainWindow()->tabWidget()->makeNewTab(true)->loadUrl(args.last() ); - break; - default: mainWindow()->loadPage(args.last() ); break; + case 2: + restoreLastSession(); + WebView *webView = mainWindow()->tabWidget()->makeNewTab(true); + webView->loadUrl(args.last()); + break; + default: + mainWindow()->loadPage(args.last()); + break; } } else { - switch (startup) { - case 0: mainWindow()->slotHome(); break; - case 1: break; - case 2: restoreLastSession(); break; + case 0: + mainWindow()->slotHome(); + break; + case 1: + break; + case 2: + restoreLastSession(); + break; } } } From 4f423872b79d4a8044015e1021a5a40d449f4fb0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 30 Jun 2008 00:19:20 +0200 Subject: [PATCH 0062/1254] remove compiler warning --- src/browserapplication.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 9ce5b84d..ac17a5e2 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -234,11 +234,12 @@ void BrowserApplication::postLaunch() if (args.count() > 1) { switch(startup) { - case 2: + case 2: { restoreLastSession(); WebView *webView = mainWindow()->tabWidget()->makeNewTab(true); webView->loadUrl(args.last()); break; + } default: mainWindow()->loadPage(args.last()); break; From 343e2de79bc05df1802e1662b93099c710b53b2b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 1 Jul 2008 00:42:52 +0200 Subject: [PATCH 0063/1254] Tweak the main window look better on OS X and less out of place --- src/browsermainwindow.cpp | 45 ++++++++++++++++++++++++++++++++++----- src/browsermainwindow.h | 4 ++++ src/tabwidget.cpp | 20 +++++++++++------ 3 files changed, 58 insertions(+), 11 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 836dbf18..30847162 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -123,8 +123,33 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) layout->setSpacing(0); layout->setMargin(0); #if defined(Q_WS_MAC) + m_bookmarksToolbarFrame = new QFrame(this); + m_bookmarksToolbarFrame->setLineWidth(1); + m_bookmarksToolbarFrame->setMidLineWidth(0); + m_bookmarksToolbarFrame->setFrameShape(QFrame::HLine); + m_bookmarksToolbarFrame->setFrameShadow(QFrame::Raised); + QPalette fp = m_bookmarksToolbarFrame->palette(); + fp.setColor(QPalette::Active, QPalette::Light, QColor(64, 64, 64)); + fp.setColor(QPalette::Active, QPalette::Dark, QColor(192, 192, 192)); + fp.setColor(QPalette::Inactive, QPalette::Light, QColor(135, 135, 135)); + fp.setColor(QPalette::Inactive, QPalette::Dark, QColor(226, 226, 226)); + m_bookmarksToolbarFrame->setAttribute(Qt::WA_MacNoClickThrough, true); + m_bookmarksToolbarFrame->setPalette(fp); + layout->addWidget(m_bookmarksToolbarFrame); + layout->addWidget(m_bookmarksToolbar); - layout->addWidget(new QWidget); // <- OS X tab widget style bug + QPalette p = m_bookmarksToolbar->palette(); + p.setColor(QPalette::Active, QPalette::Window, QColor(150, 150, 150)); + p.setColor(QPalette::Inactive, QPalette::Window, QColor(207, 207, 207)); + m_bookmarksToolbar->setAttribute(Qt::WA_MacNoClickThrough, true); + m_bookmarksToolbar->setAutoFillBackground(true); + m_bookmarksToolbar->setPalette(p); + m_bookmarksToolbar->setBackgroundRole(QPalette::Window); + m_bookmarksToolbar->setMaximumHeight(19); + + QWidget *w = new QWidget(this); + w->setMaximumHeight(0); + layout->addWidget(w); // <- OS X tab widget style bug #else addToolBarBreak(); addToolBar(m_bookmarksToolbar); @@ -163,9 +188,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) slotUpdateWindowTitle(); loadDefaultState(); m_tabWidget->newTab(); - - int size = m_tabWidget->lineEditStack()->sizeHint().height(); - m_navigationBar->setIconSize(QSize(size, size)); + m_navigationBar->setIconSize(QSize(18, 18)); // Add each item in the menu bar to the main window so // if the menu bar is hidden the shortcuts still work. @@ -175,6 +198,9 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) actions += action->menu()->actions(); addAction(action); } +#if defined(Q_WS_MAC) + setWindowIcon(QIcon()); +#endif } BrowserMainWindow::~BrowserMainWindow() @@ -271,6 +297,9 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) updateToolbarActionText(showToolbar); m_bookmarksToolbar->setVisible(showBookmarksBar); +#if defined(Q_WS_MAC) + m_bookmarksToolbarFrame->setVisible(showBookmarksBar); +#endif updateBookmarksToolbarActionText(showBookmarksBar); statusBar()->setVisible(showStatusbar); @@ -574,10 +603,16 @@ void BrowserMainWindow::slotViewBookmarksBar() { if (m_bookmarksToolbar->isVisible()) { updateBookmarksToolbarActionText(false); - m_bookmarksToolbar->close(); + m_bookmarksToolbar->hide(); +#if defined(Q_WS_MAC) + m_bookmarksToolbarFrame->hide(); +#endif } else { updateBookmarksToolbarActionText(true); m_bookmarksToolbar->show(); +#if defined(Q_WS_MAC) + m_bookmarksToolbarFrame->show(); +#endif } m_autoSaver->changeOccurred(); } diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index f5cabb77..9441aa8a 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -75,6 +75,7 @@ class TabWidget; class ToolbarSearch; class WebView; class QSplitter; +class QFrame; /*! The MainWindow of the Browser Application. @@ -165,6 +166,9 @@ private slots: QToolBar *m_navigationBar; QSplitter *m_navigationSplitter; ToolbarSearch *m_toolbarSearch; +#if defined(Q_WS_MAC) + QFrame *m_bookmarksToolbarFrame; +#endif BookmarksToolBar *m_bookmarksToolbar; TabWidget *m_tabWidget; AutoSaver *m_autoSaver; diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index e89681c2..b2d8d7e6 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -96,11 +96,6 @@ TabWidget::TabWidget(QWidget *parent) , m_lineEdits(0) , m_tabBar(new TabBar(this)) { -#if QT_VERSION >= 0x040500 - setDocumentMode(true); - connect(m_tabBar, SIGNAL(tabMoved(int, int)), - this, SLOT(moveTab(int, int))); -#endif setElideMode(Qt::ElideRight); new QShortcut(QKeySequence("Ctrl+Shift+T"), this, SLOT(openLastTab())); @@ -117,6 +112,11 @@ TabWidget::TabWidget(QWidget *parent) connect(m_tabBar, SIGNAL(tabMoveRequested(int, int)), this, SLOT(moveTab(int, int))); #endif setTabBar(m_tabBar); +#if QT_VERSION >= 0x040500 + setDocumentMode(true); + connect(m_tabBar, SIGNAL(tabMoved(int, int)), + this, SLOT(moveTab(int, int))); +#endif // Actions m_newTabAction = new QAction(tr("New &Tab"), this); @@ -642,6 +642,11 @@ void TabWidget::webViewLoadFinished() QLabel *label = animationLabel(index, true); if (label->movie()) label->movie()->stop(); +#if defined(Q_WS_MAC) + QMovie *movie = label->movie(); + delete movie; + label->setMovie(0); +#endif } #endif webViewIconChanged(); @@ -652,14 +657,17 @@ void TabWidget::webViewIconChanged() WebView *webView = qobject_cast(sender()); int index = webViewIndex(webView); if (-1 != index) { - QIcon icon = BrowserApplication::instance()->icon(webView->url()); #if QT_VERSION >= 0x040500 +#if !defined(Q_WS_MAC) + QIcon icon = BrowserApplication::instance()->icon(webView->url()); QLabel *label = animationLabel(index, false); QMovie *movie = label->movie(); delete movie; label->setMovie(0); label->setPixmap(icon.pixmap(16, 16)); +#endif #else + QIcon icon = BrowserApplication::instance()->icon(webView->url()); setTabIcon(index, icon); #endif } From a7462482f8ca921a523329a6875db74b5ca8a666 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 2 Jul 2008 02:44:01 +0200 Subject: [PATCH 0064/1254] base the width of the tab on a font rather then a hard coded value --- src/tabbar.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tabbar.cpp b/src/tabbar.cpp index 45ef9edf..7e8b16e5 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -302,7 +302,8 @@ void TabBar::dropEvent(QDropEvent *event) QSize TabBar::tabSizeHint(int index) const { QSize sizeHint = QTabBar::tabSizeHint(index); - return sizeHint.boundedTo(QSize(250, sizeHint.height())); + QFontMetrics fm = fontMetrics(); + return sizeHint.boundedTo(QSize(fm.width(QLatin1Char('M')) * 18, sizeHint.height())); } void TabBar::reloadTab() From 36ae3df923984e8fb81a92a029e1237f26375690 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 2 Jul 2008 02:44:49 +0200 Subject: [PATCH 0065/1254] In OS X delete the animation when done so the text can use up all of the room. --- src/tabwidget.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index b2d8d7e6..c013fd5d 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -643,9 +643,9 @@ void TabWidget::webViewLoadFinished() if (label->movie()) label->movie()->stop(); #if defined(Q_WS_MAC) - QMovie *movie = label->movie(); - delete movie; - label->setMovie(0); + QTabBar::ButtonPosition side = m_tabBar->freeSide(); + m_tabBar->setTabButton(index, side, 0); + delete label; #endif } #endif From 01deffa3740dc694620d47801dc19115e6c03291 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 2 Jul 2008 22:59:00 +0200 Subject: [PATCH 0066/1254] Tweak action accelerators (the same ones were being used) --- src/browsermainwindow.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 30847162..1842b660 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -380,16 +380,16 @@ void BrowserMainWindow::setupMenu() connect(m_find, SIGNAL(triggered()), this, SLOT(slotEditFind())); new QShortcut(QKeySequence(Qt::Key_Slash), this, SLOT(slotEditFind())); - QAction *m_findNext = editMenu->addAction(tr("&Find Next")); + QAction *m_findNext = editMenu->addAction(tr("Find &Next")); m_findNext->setShortcuts(QKeySequence::FindNext); connect(m_findNext, SIGNAL(triggered()), this, SLOT(slotEditFindNext())); - QAction *m_findPrevious = editMenu->addAction(tr("&Find Previous")); + QAction *m_findPrevious = editMenu->addAction(tr("Find P&revious")); m_findPrevious->setShortcuts(QKeySequence::FindPrevious); connect(m_findPrevious, SIGNAL(triggered()), this, SLOT(slotEditFindPrevious())); editMenu->addSeparator(); - editMenu->addAction(tr("&Preferences"), this, SLOT(slotPreferences()), tr("Ctrl+,")); + editMenu->addAction(tr("Prefe&rences"), this, SLOT(slotPreferences()), tr("Ctrl+,")); // View QMenu *viewMenu = menuBar()->addMenu(tr("&View")); @@ -430,13 +430,13 @@ void BrowserMainWindow::setupMenu() m_stop->setShortcuts(shortcuts); m_tabWidget->addWebAction(m_stop, QWebPage::Stop); - m_reload = viewMenu->addAction(tr("Reload Page")); + m_reload = viewMenu->addAction(tr("&Reload Page")); m_reload->setShortcuts(QKeySequence::Refresh); m_tabWidget->addWebAction(m_reload, QWebPage::Reload); - viewMenu->addAction(tr("&Make Text Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); - viewMenu->addAction(tr("&Make Text Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); - viewMenu->addAction(tr("&Make Text Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); + viewMenu->addAction(tr("Make Text &Bigger"), this, SLOT(slotViewTextBigger()), QKeySequence(Qt::CTRL | Qt::Key_Plus)); + viewMenu->addAction(tr("Make Text &Normal"), this, SLOT(slotViewTextNormal()), QKeySequence(Qt::CTRL | Qt::Key_0)); + viewMenu->addAction(tr("Make Text &Smaller"), this, SLOT(slotViewTextSmaller()), QKeySequence(Qt::CTRL | Qt::Key_Minus)); viewMenu->addSeparator(); viewMenu->addAction(tr("Page S&ource"), this, SLOT(slotViewPageSource()), tr("Ctrl+Alt+U")); From 84748e4d97339b529e2795a32472b38af6d15275 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 3 Jul 2008 00:51:07 +0200 Subject: [PATCH 0067/1254] Save the state of inspector across sessions. --- src/browserapplication.cpp | 1 + src/browsermainwindow.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index ac17a5e2..1f7c5dd2 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -283,6 +283,7 @@ void BrowserApplication::loadSettings() defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool()); defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool()); defaultSettings->setAttribute(QWebSettings::AutoLoadImages, settings.value(QLatin1String("enableImages"), true).toBool()); + defaultSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, settings.value(QLatin1String("enableInspector"), false).toBool()); QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl(); defaultSettings->setUserStyleSheetUrl(url); diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 1842b660..6819cc44 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -509,8 +509,11 @@ void BrowserMainWindow::setupMenu() toolsMenu->addAction(tr("&Clear Private Data"), this, SLOT(slotClearPrivateData()), QKeySequence(tr("Ctrl+Shift+Delete", "Clear Private Data"))); #ifndef Q_CC_MINGW - a = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); - a->setCheckable(true); + QAction *m_enableInspector = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); + m_enableInspector->setCheckable(true); + QSettings settings; + settings.beginGroup(QLatin1String("websettings")); + m_enableInspector->setChecked(settings.value(QLatin1String("enableInspector"), false).toBool()); #endif QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); @@ -934,6 +937,9 @@ void BrowserMainWindow::slotToggleInspector(bool enable) m_tabWidget->reloadAllTabs(); } } + QSettings settings; + settings.beginGroup(QLatin1String("websettings")); + settings.setValue(QLatin1String("enableInspector"), enable); } void BrowserMainWindow::slotSwapFocus() From 61224f52b65e9f54de072a47d704ff0f5d80ea05 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 3 Jul 2008 19:06:05 +0200 Subject: [PATCH 0068/1254] Run desktop file through desktop-file-validate and correct the errors --- src/arora.desktop | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/arora.desktop b/src/arora.desktop index 65630816..33c51c5f 100644 --- a/src/arora.desktop +++ b/src/arora.desktop @@ -1,12 +1,10 @@ [Desktop Entry] -Encoding=UTF-8 Exec=arora %U -MultipleArgs=false GenericName=Web Browser GenericName[en_US]=Web Browser GenericName[cs_CZ]=Webov媒 prohl铆啪e膷 Icon=arora -MimeType=text/html +MimeType=text/html; Name=Arora Name[en_US]=Arora StartupNotify=true From cb4a1d823f4e92a515917697b45f9115c67982ee Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 3 Jul 2008 19:17:39 +0200 Subject: [PATCH 0069/1254] Add Estonian translation by Ristioja --- src/locale/et.ts | 1648 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1649 insertions(+) create mode 100644 src/locale/et.ts diff --git a/src/locale/et.ts b/src/locale/et.ts new file mode 100644 index 00000000..5c532285 --- /dev/null +++ b/src/locale/et.ts @@ -0,0 +1,1648 @@ + + + + + AboutDialog + + + About + Info + + + + Authors + Autorid + + + + License + Litsents + + + + Lightweight WebKit-based web browser + Lihtne WebKit-p玫hine veebilehitseja + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Sulge + + + + AddBookmarkDialog + + + Add Bookmark + Lisa j盲rjehoidja + + + + Type a name for the bookmark, and choose where to keep it. + Sisestage j盲rjehoidjale nimi ja valige, kus seda hoida. + + + + BookmarksDialog + + + Open + &Ava + + + + Delete + &Kustuta + + + + New Folder + Uus kaust + + + + Bookmarks + J盲rjehoidjad + + + + &Remove + &Eemalda + + + + Add Folder + Lisa kaust + + + + Open in New Tab + Ava uues &sakis + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Viga j盲rjehoidjate laadimisel real %1, veerus %2: %3 + + + + Toolbar Bookmarks + T枚枚riistariba j盲rjehoidjad + + + + Menu + Men眉眉 + + + + Open File + Ava fail + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 imporditud + + + + Save File + Salvesta fail + + + + %1 Bookmarks.xbel + %1 j盲rjehoidjad.xbel + + + + Export error + Viga eksportimisel + + + + error saving bookmarks + viga j盲rjehoidjate salvestamisel + + + + Remove Bookmark + Eemalda j盲rjehoidja + + + + Insert Bookmark + Sisesta j盲rjehoidja + + + + Name Change + Nime muutus + + + + Address Change + Aadressi muutus + + + + BookmarksModel + + + Title + Pealkiri + + + + Address + Aadress + + + + BookmarksToolBar + + + Bookmark + J盲rjehoidja + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Lahti on %1 akent ja %2 sakki.Kas Te soovite siiski v盲ljuda? + + + + Restore failed + Taastamine eba玫nnestus + + + + The saved session will not being restored because last time it was restored Arora crashed. + Salvestatud sessiooni ei taastata, sest viimane kord kui Arora seda 眉ritas, jooksis ta kokku. + + + + BrowserMainWindow + + + &File + &Fail + + + + &New Window + Uus ake&n + + + + &Open File... + &Ava fail... + + + + Open &Location... + Ava as&ukoht... + + + + &Save As... + &Salvesta failina... + + + + &Import Bookmarks... + &Impordi j盲rjehoidjaid... + + + + &Export Bookmarks... + &Ekspordi j盲rjehoidjad... + + + + P&rint Preview... + P&rintimise eelvaade... + + + + &Print... + &Prindi... + + + + Private &Browsing... + Privaatne veebi&lehitsemine... + + + + &Quit + &V盲lju + + + + &Edit + &Redigeeri + + + + &Undo + &T眉hista + + + + &Redo + Tee &uuesti + + + + Cu&t + &L玫ika + + + + &Copy + &Kopeeri + + + + &Paste + Klee&bi + + + + &Find + &Otsi + + + + &Find Next + Otsi &j盲rgmist + + + + &Find Previous + Otsi eel&mist + + + + &Preferences + &Eelistused + + + + Ctrl+, + + + + + &View + &Vaade + + + + Shift+Ctrl+B + + + + + Ctrl+| + + + + + Ctrl+/ + + + + + &Stop + &Katkesta lehek眉lje laadimine + + + + Reload Page + Lae lehek眉lg &uuesti + + + + &Make Text Bigger + Tee tekst &suuremaks + + + + &Make Text Normal + T&aasta teksti suurus + + + + &Make Text Smaller + Tee tekst &v盲iksemaks + + + + Page S&ource + Veebilehe &l盲htekood + + + + Ctrl+Alt+U + + + + + &Full Screen + &T盲isekraanvaade + + + + Hi&story + A&jalugu + + + + Back + &Tagasi + + + + Forward + &Edasi + + + + Home + &Koduleht + + + + Restore Last Session + Taasta eelmine &sessioon + + + + &Bookmarks + &J盲rjehoidjad + + + + Manage Bookmarks... + &Halda j盲rjehoidjaid... + + + + Add Bookmark... + &Lisa j盲rjehoidja... + + + + &Window + A&ken + + + + &Tools + &T枚枚riistad + + + + Web &Search + Veebi&otsing + + + + Ctrl+K + Web Search + + + + + Enable Web &Inspector + Aktiveeri &Veebiinspektor + + + + &Help + &Abi + + + + About &Qt + L盲hemalt &Qt kohta + + + + About &Arora + L盲hemalt &Arora kohta + + + + Navigation + Navigeerimine + + + + Show Status Bar + N盲ita olekuriba + + + + Hide Status Bar + Peida olekuriba + + + + Show Toolbar + N盲ita t枚枚riistariba + + + + Hide Toolbar + Peida t枚枚riistariba + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Ava veebiressurss + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Veebiressursid (*.html *.htm *.svg *.png *.gif *.svgz);;K玫ik failid (*.*) + + + + Print Document + Prindi dokument + + + + Are you sure you want to turn on private browsing? + Kas Te olete kindel, et soovite sisse l眉litada privaatse lehitsemise? + + + + Are you sure you want to close the window? There are %1 tabs open + Kas Te olete kindel, et soovite akent sulgeda? Avatud on %1 sakki + + + + Page Source of %1 + Lehek眉lje %1 l盲htekood + + + + Web Inspector + Veebiinspektor + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + Veebiinspektor t枚枚tab korrektselt ainult lehek眉lgede puhul, mis laetakse p盲rast Veebiinspektori aktiveerimist. +Kas Te soovite k玫ik lehek眉ljed uuesti laadida? + + + + Stop loading the current page + Peata k盲esoleva lehek眉lje laadimine + + + + Reload the current page + Lae k盲esolev lehek眉lg uuesti + + + + Downloads + &Allalaadimised + + + + Alt+Ctrl+L + Download Manager + + + + + &Clear Private Data + Kustuta &privaatseid andmeid + + + + Ctrl+Shift+Delete + Clear Private Data + + + + + Show Bookmarks Bar + N盲ita j盲rjehoidjate riba + + + + Hide Bookmarks Bar + Peida j盲rjehoidjate riba + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Kui privaatne lehitsemine on sisse l眉litatud, ei viida l盲bi teatud Teie privaatsust puudutavaid toiminguid:<ul><li> Veebilehti ei sisestata ajalukku.</li><li> Allalaadimisakent puhastatakse automaatselt.</li><li> Uusi k眉psiseid ei salvestata, olemasolevatele k眉psistele keelatakse veebilehtedel ligip盲盲s.</li><li> Veebilehtede ikoone ei salvestata.</li><li> Sessioone ei salvestata.</li><li> Tehtud otsinguid ei lisata otsingukasti rippmen眉眉sse.</li></ul>Akna sulgemiseni v玫ite siiski kasutada Edasi- ja Tagasi-nuppe avatud veebilehtedele tagasi p枚枚rdumiseks. + + + + Find &Next + Otsi &j盲rgmist + + + + Find P&revious + Otsi eel&mist + + + + Prefe&rences + &Eelistused + + + + &Reload Page + Lae lehek眉lg &uuesti + + + + Make Text &Bigger + Tee tekst &suuremaks + + + + Make Text &Normal + T&aasta teksti suurus + + + + Make Text &Smaller + Tee tekst &v盲iksemaks + + + + ClearButton + + + Clear + T眉hjenda + + + + ClearPrivateData + + + Clear Private Data + Privaatsete andmete kustutamine + + + + Clear the following items: + Kustuta j盲rgmised andmed: + + + + &Browsing History + &Veebi lehitsemise ajalugu + + + + &Download History + &Allalaadimise ajalugu + + + + &Search History + &Otsingute ajalugu + + + + &Cookies + &K眉psised + + + + C&ache + &Puhverdatud veebilehek眉ljed + + + + Website &Icons + Veebilehek眉lgede &ikoonid + + + + Clear &Private Data + Kustuta &privaatsed andmed + + + + &Cancel + &Loobu + + + + CookieExceptionsModel + + + Website + Veebileht + + + + Status + Reegel + + + + Allow + Luba + + + + Block + Keela + + + + Allow For Session + Luba sessiooniks + + + + CookieModel + + + Website + Veebileht + + + + Name + Nimi + + + + Path + Asukoht + + + + Secure + Turvaline + + + + Expires + Aegub + + + + Contents + Sisu + + + + CookiesDialog + + + Cookies + K眉psised + + + + &Remove + &Eemalda + + + + Remove &All Cookies + Eemalda &k玫ik k眉psised + + + + CookiesExceptionsDialog + + + Cookie Exceptions + K眉psiste erandid + + + + New Exception + Uus erand + + + + Domain: + Domeen: + + + + Block + Keela + + + + Allow For Session + Luba sessiooniks + + + + Allow + Luba + + + + Exceptions + Erandid + + + + &Remove + &Eemalda + + + + Remove &All + Eemalda &k玫ik + + + + DownloadDialog + + + Downloads + Allalaadimised + + + + Clean up + Puhasta + + + + 0 Items + 0 elementi + + + + DownloadItem + + + Save File + Salvesta fail + + + + Download canceled: %1 + Allalaadimine katkestatud: %1 + + + + Error opening save file: %1 + Viga v盲ljundfaili avamisel: %1 + + + + Error saving: %1 + Viga salvestamisel: %1 + + + + Network Error: %1 + V玫rgu viga: %1 + + + + seconds + sekundit + + + + %1 of %2 (%3/sec) %4 + %1 / %2 (%3/s) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 / %2 - Katkestatud + + + + bytes + baiti + + + + kB + kiB + + + + MB + MiB + + + + Form + + + + + Ico + + + + + Filename + Faili nimi + + + + Try Again + Proovi uuesti + + + + Stop + Katkesta + + + + Open + Ava + + + + - %n minutes remaining + + - %n minut j盲盲nud + - %n minutit j盲盲nud + + + + + - %n seconds remaining + + - %n sekund j盲盲nud + - %n sekundit j盲盲nud + + + + + DownloadManager + + + %n Download(s) + + %n Download + %n Downloads + + + + + HistoryDialog + + + Open + &Ava + + + + Copy + &Kopeeri + + + + Delete + K&ustuta + + + + History + Ajalugu + + + + &Remove + &Eemalda + + + + Remove &All + Eemalda &k玫ik + + + + HistoryMenu + + + Show All History + &N盲ita tervet ajalugu + + + + Clear History + &Unusta ajalugu + + + + HistoryModel + + + Title + Pealkiri + + + + Address + Aadress + + + + HistoryTreeModel + + + Earlier Today + Varem t盲na + + + + %n item(s) + + %n item + %n items + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Palun sisestage kasutajanimi ja salas玫na "%1" jaoks aadressilt %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>脺hendu puhverserveriga "%1" kasutades:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL vead: + +%1 + +%2 + +Kas Te soovite neid vigu ignoreerida? + + + + Do you want to accept all these certificates? + Kas Te soovite k玫ik need sertifikaadid aksepteerida? + + + + PasswordDialog + + + Authentication Required + N玫utud audentimine + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Kasutajanimi: + + + + Password: + Salas玫na: + + + + ProxyDialog + + + Proxy Authentication + Audentimine puhverserveriga + + + + ICON + + + + + Connect to proxy + 脺hendu puhverserveriga + + + + Username: + Kasutajanimi: + + + + Password: + Salas玫na: + + + + QObject + + + The file is not an XBEL version 1.0 file. + See fail ei ole XBEL versioon 1.0 vormingus. + + + + Unknown title + Tundmatu pealkiri + + + + SearchBanner + + + Form + + + + + TextLabel + + + + + < + < + + + + > + > + + + + Done + Valmis + + + + SearchLineEdit + + + Search + Otsi + + + + Settings + + + Settings + Eelistused + + + + General + 脺ldine + + + + Home: + Koduleht: + + + + Set to current page + Muuda hetkel avatud leheks + + + + Remove history items: + Eemalda ajaloo elemendid: + + + + After one day + P盲rast 眉hte p盲eva + + + + After one week + P盲rast 眉hte n盲dalat + + + + After two weeks + P盲rast kahte n盲dalat + + + + After one month + P盲rast 眉hte kuud + + + + After one year + P盲rast 眉hte aastat + + + + Manually + K盲sitsi + + + + Open links from applications: + Ava viitasid teistest rakendustest: + + + + In a tab in the current window + Aktiivse akna uues sakis + + + + In a new window + Uues aknas + + + + Appearance + V盲limus + + + + Fixed-width font: + Fikseeritud laiusega kirjat眉眉p: + + + + Privacy + Privaatsus + + + + Web Content + Veebilehtede sisu + + + + Enable Plugins + Luba pistikprogrammid + + + + Enable Javascript + Luba Javascript + + + + Cookies + K眉psised + + + + Accept Cookies: + Luba k眉psiseid: + + + + Always + Alati + + + + Never + Mitte kunagi + + + + Only from sites you navigate to + Ainult veebilehtedelt, mida k眉lastan + + + + Exceptions... + Erandid... + + + + Keep until: + Hoia k眉psiseid kuni: + + + + They expire + Nad aeguvad + + + + I exit the application + Rakendus suletakse + + + + At most 90 days + 脺limalt 90 p盲eva + + + + Cookies... + K眉psised... + + + + Proxy + Puhverserver + + + + Enable proxy + Kasuta puhverserverit + + + + Type: + T眉眉p: + + + + Socks5 + Socks5 + + + + Http + HTTP + + + + Host: + Hostinimi: + + + + Port: + Port: + + + + User Name: + Kasutajanimi: + + + + Password: + Salas玫na: + + + + Advanced + Muud + + + + Style Sheet: + Stiilileht: + + + + Downloads + Allalaadimised + + + + Ask for a destination each time + K眉si sihtkataloogi iga allalaadimise puhul + + + + Use this destination: + Kasuta seda kataloogi: + + + + Standard font: + Vaikimisi kirjat眉眉p: + + + + Times 16 + Times 16 + + + + Select... + Vali... + + + + Courier 13 + Courier 13 + + + + On application exit + Rakenduse sulgemisel + + + + Enable Images + N盲ita pilte + + + + Tabs + Sakid + + + + Select tabs and windows as they are created + Vali sakid ja aknad kui nad luuakse + + + + Confirm when closing multiple tabs + K眉si kinnitust mitme saki sulgemisel + + + + On startup: + Programmi k盲ivitamisel: + + + + Show my home page + N盲ita kodulehte + + + + Show a blank page + N盲ita t眉hja lehte + + + + Restore windows and tabs from last time + Taasta aknad ja sakid eelmisest korrast + + + + TabBar + + + New &Tab + Uus &sakk + + + + Duplicate Tab + &Duplikeeri sakk + + + + &Close Tab + S&ulge sakk + + + + Close &Other Tabs + Sulge &teised sakid + + + + Reload Tab + Lae sakk uuesti + + + + Reload All Tabs + Lea k玫ik sakid uuesti + + + + Show Tab Bar + N盲ita sakkide riba + + + + Hide Tab Bar + Peida sakkide riba + + + + TabWidget + + + New &Tab + Uus sa&kk + + + + &Close Tab + Sul&ge sakk + + + + Show Next Tab + N盲ita &j盲rgmist sakki + + + + Show Previous Tab + N盲ita &eelmist sakki + + + + Recently Closed Tabs + &Viimati suletud sakid + + + + (Untitled) + (nimetu) + + + + Do you really want to close this page? + Kas Te t玫esti soovite selle lehek眉lje sulgeda? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Te olete seda lehek眉lge muutnud. Lehek眉lje sulgemisel muutused kaotatakse.Kas Te t玫esti soovite selle lehek眉lje sulgeda? + + + + ToolbarSearch + + + Google + + + + + No Recent Searches + Hiljutisi otsinguid pole + + + + Recent Searches + Hiljuti tehtud otsingud + + + + Clear Recent Searches + Unusta hiljuti tehtud otsingud + + + + WebPage + + + Error loading page: %1 + Viga lehek眉lje laadimisel: %1 + + + + WebView + + + Open in New &Window + Ava uues &aknas + + + + Open in New &Tab + Ava uues &sakis + + + + Save Lin&k + Salvesta &viit + + + + &Bookmark This Link + Lisa viit &j盲rjehoidjaks + + + + &Copy Link Location + &Kopeeri viidatav aadress + + + + Open Image in New &Window + Ava pilt uues &aknas + + + + Open Image in New &Tab + Ava pilt uues &sakis + + + + &Save Image + Salvesta &pilt + + + + &Copy Image + &Kopeeri pilt + + + + C&opy Image Location + K&opeeri pildi aadress + + + + Loading... + Laadimine... + + + + WebViewSearch + + + Not Found + Ei leitud + + + diff --git a/src/src.pro b/src/src.pro index 32ae22c0..921cc4c3 100644 --- a/src/src.pro +++ b/src/src.pro @@ -22,6 +22,7 @@ TRANSLATIONS += \ locale/de.ts \ locale/en.ts \ locale/es.ts \ + locale/et.ts \ locale/fr.ts \ locale/it.ts \ locale/pl.ts \ From fa2b4d8184317ec517d72ff91c56e589f55a95cc Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 3 Jul 2008 20:25:37 +0200 Subject: [PATCH 0070/1254] Run lupdate src.pro to update the translations --- src/locale/cs_CZ.ts | 410 +++--- src/locale/da.ts | 463 +++--- src/locale/de.ts | 486 ++++--- src/locale/en.ts | 379 ++--- src/locale/es.ts | 3185 ++++++++++++++++++++++-------------------- src/locale/et.ts | 5 +- src/locale/fr.ts | 565 +++++--- src/locale/it.ts | 558 +++++--- src/locale/nl.ts | 3258 ++++++++++++++++++++++--------------------- src/locale/pl.ts | 569 +++++--- src/locale/pt_BR.ts | 1388 +++++++++--------- src/locale/ru.ts | 191 ++- src/locale/zh_CN.ts | 1061 ++++++++------ 13 files changed, 7098 insertions(+), 5420 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index 7e254521..d202b130 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -1,7 +1,6 @@ - - - + + AboutDialog @@ -192,288 +191,298 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Je otev艡eno %1 oken a %2 panel暖 P艡esto ukon膷it? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... - + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t &Find Next - Naj铆&t dal拧铆 + Naj铆&t dal拧铆 &Find Previous - Naj铆t &p艡edchoz铆 + Naj铆t &p艡edchoz铆 &Preferences - P艡ed&volby + P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit Reload Page - O&bnovit + O&bnovit &Make Text Bigger - Z&v臎t拧it p铆smo + Z&v臎t拧it p铆smo &Make Text Normal - &Norm谩ln铆 velikost p铆sma + &Norm谩ln铆 velikost p铆sma &Make Text Smaller - Z&men拧it p铆smo + Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 @@ -488,12 +497,12 @@ P艡esto ukon膷it? Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -509,22 +518,22 @@ P艡esto ukon膷it? Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? @@ -534,54 +543,54 @@ P艡esto ukon膷it? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 - + Page Source of %1 Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data @@ -592,20 +601,55 @@ Do you want to reload all pages? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Show Bookmarks Bar Zobrazit panel z谩lo啪ek - + Hide Bookmarks Bar Skr媒t panel z谩lo啪ek + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + ClearButton @@ -851,27 +895,27 @@ Do you want to reload all pages? Ulo啪it soubor - + Download canceled: %1 Stahov谩n铆 zru拧eno: %1 - + Error opening save file: %1 Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 - + Error saving: %1 Chyba p艡i ukl谩d谩n铆: %1 - + Network Error: %1 Chyba s铆t臎: %1 - + seconds sekund @@ -886,37 +930,37 @@ Do you want to reload all pages? - %4 %5 zb媒v谩 - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 - + ? - + %1 of %2 - Stopped %1 z %2 - Zastaveno - + bytes bajt暖 - + kB - + MB - + - %n minutes remaining - %n minuta zb媒v谩 @@ -925,7 +969,7 @@ Do you want to reload all pages? - + - %n seconds remaining - %n sekunda zb媒v谩 @@ -947,7 +991,7 @@ Do you want to reload all pages? %1 stahov谩n铆 - + %n Download(s) %n stahov谩n铆 @@ -1190,47 +1234,47 @@ Chce拧 ignorovat tyto chyby? Hlavn铆 - + Home: Domov: - + Set to current page Nastav na aktu谩ln铆 str谩nku - + Remove history items: Odstranit polo啪ky historie: - + After one day Po jednom dni - + After one week Po jednom t媒dnu - + After two weeks Po dvou t媒dnech - + After one month Po m臎s铆ci - + After one year Po roce - + Manually Ru膷n臎 @@ -1240,260 +1284,280 @@ Chce拧 ignorovat tyto chyby? Ulo啪it stahov谩n铆 do: - + Open links from applications: Otev艡铆t odkazy z aplikac铆: - + In a tab in the current window V panelu v aktu谩ln铆m okn臎 - + In a new window V nov茅m okn臎 - + Appearance Vzhled - + Standard font: Standardn铆 p铆smo: - + Times 16 Times 16 - + Select... Vybrat... - + Fixed-width font: P铆smo s pevnou 拧铆艡kou: - + Courier 13 Courier 13 - + Privacy Soukrom铆 - + Web Content Obsah webu - + Enable Plugins Povolit plug-iny - + Enable Javascript Povolit JavaScript - + Cookies Cookies - + Accept Cookies: P艡ij铆mat cookies: - + Always V啪dy - + Never Nikdy - + Only from sites you navigate to Pouze z nav拧t铆ven媒ch str谩nek - + Exceptions... V媒jimky... - + Keep until: Uchovat dokud: - + They expire Vypr拧铆 - + I exit the application Ukon膷en铆 aplikace - + At most 90 days Maxim谩ln臎 90 dn铆 - + Cookies... Cookies... - + Proxy Proxy - + Enable proxy Povolit proxy - + Type: Typ: - + Socks5 Socks5 - + Http Http - + Host: Server: - + Port: Port: - + User Name: U啪ivatelsk茅 jm茅no: - + Password: Heslo: - + Advanced Roz拧铆艡en茅 - + Style Sheet: CSS styl: - + Downloads Stahov谩n铆 - + Ask for a destination each time V啪dy se pt谩t na um铆st臎n铆 stahov谩n铆 - + Use this destination: Pou啪铆t toto um铆st臎n铆: - + On application exit P艡i ukon膷en铆 aplikace - + Enable Images Povolit obr谩zky - + Tabs Panely - + Select tabs and windows as they are created P艡ep铆nat na okna nebo panely, kdy啪 jsou vytvo艡eny - + Confirm when closing multiple tabs Vy啪adovat potvrzen铆 p艡i zav铆r谩n铆 v铆ce panel暖 + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + TabBar - + New &Tab &Nov媒 panel - + Duplicate Tab Duplikovat panel - + &Close Tab &Zav艡铆t panel - + Close &Other Tabs Zav艡铆t o&statn铆 panely - + Reload Tab &Obnovit panel - + Reload All Tabs O&bnovit v拧echny panely - + Show Tab Bar Zobrazit li拧tu panel暖 - + Hide Tab Bar Skr媒t li拧tu panel暖 @@ -1501,42 +1565,42 @@ Chce拧 ignorovat tyto chyby? TabWidget - + New &Tab &Nov媒 panel - + &Close Tab &Zav艡铆t panel - + Show Next Tab Zobrazit dal拧铆 panel - + Show Previous Tab Zobrazit p艡edchoz铆 panel - + Recently Closed Tabs Posledn臎 zav艡en茅 panely - + (Untitled) (Bez titulku) - + Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1571,7 +1635,7 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? WebPage - + Error loading page: %1 Chyba p艡i na膷铆t谩n铆 str谩nky: %1 @@ -1584,57 +1648,57 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? Otev艡铆t v nov茅m panelu - + Open in New &Window Otev艡铆t v nov茅m okn臎 - + Open in New &Tab Otev艡铆t v &nov茅m panelu - + Save Lin&k Ulo啪it o&dkaz - + &Bookmark This Link &Vytvo艡it z谩lo啪ku pro tento odkaz - + &Copy Link Location &Kop铆rovat adresu odkazu - + Open Image in New &Window Otev艡铆t obr谩zek v nov茅m okn臎 - + Open Image in New &Tab Otev艡铆t obr谩zek v nov茅m panelu - + &Save Image Ulo啪it obr谩zek - + &Copy Image Kop铆rovat o&br谩zek - + C&opy Image Location Kop铆rovat adresu ob&r谩zku - + Loading... Na膷铆t谩m... @@ -1642,7 +1706,7 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? WebViewSearch - + Not Found Neexistuje diff --git a/src/locale/da.ts b/src/locale/da.ts index 3a9c6f08..163c0114 100644 --- a/src/locale/da.ts +++ b/src/locale/da.ts @@ -1,7 +1,6 @@ - - - + + AboutDialog @@ -193,391 +192,451 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Der er %1 vinduer og %2 faneblade 氓bne 脴nsker du alligevel at afslutte? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File &Fil - + &New Window &Nyt vindue - + &Open File... &脜bn fil... - + Open &Location... 脜bn &adresse... - + &Save As... Ge&m Som... - + &Import Bookmarks... &Import茅r bogm忙rker... - + &Export Bookmarks... &Export茅r bogm忙rker... - + P&rint Preview... &Vis udskrift... - + &Print... &Udskriv... - + Private &Browsing... Privat &browsing... - + &Quit &Afslut - + &Edit &Redig茅r - + &Undo &Fortryd - + &Redo &Omg酶r - + Cu&t Kli&p - + &Copy &Kopi茅r - + &Paste &Inds忙t - + &Find &Find &Find Next - &Find n忙ste + &Find n忙ste &Find Previous - &Find forrige + &Find forrige &Preferences - &Indstillinger + &Indstillinger - + Ctrl+, Ctrl+, - + &View &Vis - + Ctrl+| Crtl+| - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+/ Crtl+/ - + &Stop &Stop Reload Page - Genindl忙s side + Genindl忙s side &Make Text Bigger - &G酶r tekst st酶rre + &G酶r tekst st酶rre &Make Text Normal - &G酶r tekst normal + &G酶r tekst normal &Make Text Smaller - &G酶r tekst mindre + &G酶r tekst mindre - + Page S&ource Sidens &kilde - + Ctrl+Alt+U Crtl+Alt+U - + &Full Screen &Fuldsk忙rm - + Hi&story Hi&storik - + Back Tilbage - + Forward Frem - + Home Hjem - + Restore Last Session Genindl忙s sidste session - + &Bookmarks &Bogm忙rker - + Manage Bookmarks... H氓ndt茅r bogm忙rker... - + Add Bookmark... Tilf酶j bogm忙rke... - + &Window &Vindue - + &Tools &V忙rkt酶jer - + Web &Search Net&s酶gning - + Ctrl+K Web Search Crtl+K - + &Clear Private Data &Ryd private informationer - + Ctrl+Shift+Delete Clear Private Data Crtl+Shift+Delete - + Enable Web &Inspector Aktiv茅r Web&inspekt酶r - + &Help &Hj忙lp - + About &Qt Om &Qt - + About &Arora Om &Arora - + Navigation Navigation - + Show Status Bar Vis statuslinje - + Hide Status Bar Skjul statuslinje - + Show Toolbar Vis v忙rkt酶jslinje - + Hide Toolbar Skjul v忙rkt酶jslinje Show Bookmarks bar - Vis bogm忙rkelinje + Vis bogm忙rkelinje Hide Bookmarks bar - Skjul bogm忙rkelinje + Skjul bogm忙rkelinje - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource 脜bn netressource - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Netressourcer (*.html *.htm *.svg *.png *.gif *.svgz);; Alle filer (*.*) - + Print Document Udskriv dokument - + Are you sure you want to turn on private browsing? Er du sikker p氓 du vil sl氓 privat browsing til? - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>N氓r privat browsing er sl氓et til, vil nogle handlinger vedr酶rende dine hemmeligheder blive sl氓et fra:<ul><li>Sider bliver ikke tilf酶jet til historikken.</li><li> Filer bliver automatisk fjernet fra "Downloads"-vinduet.</li><li> Nye cookies bliver ikke gemt og eksisterende cookies kan ikke tilg氓s.</li><li> Sideikoner bliver ikke gemt, og sessioner vil ikke blive gemt.</li><li> S酶getermer bliver ikke tilf酶jet pop-op-menuen i s酶gefeltet.</li></ul>Indtil du lukker vinduet, kan du stadig klikke p氓 frem- og tilbage-knapperne for at komme tilbage til 氓bne netsider. Are you sure you want to close the window? There are %1 tab open - Er du sikker p氓 du vil lukke vinduet? Der er %1 faneblade 氓bne + Er du sikker p氓 du vil lukke vinduet? Der er %1 faneblade 氓bne - + Page Source of %1 Kilde til %1 - + Web Inspector Webinspekt酶r - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webinspekt酶ren vil kun virke korrekt for sider der er indl忙st efter webinspekt酶ren er aktiveret Vil du genindl忙se alle sider? - + Stop loading the current page Stop indl忙sning af den aktuelle side - + Reload the current page Genindl忙s den aktuelle side - + Downloads Downloads - + Alt+Ctrl+L Download Manager Alt+Crtl+L + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + Are you sure you want to close the window? There are %1 tabs open + + ClearButton @@ -818,87 +877,111 @@ Vil du genindl忙se alle sider? 脜bn - + Save File Gem fil - + Download canceled: %1 Download annulleret: %1 - + Error opening save file: %1 Fejl under 氓bning af fil for skrivning: %1 - + Error saving: %1 Fejl ved skrivning: %1 - + Network Error: %1 Netv忙rksfejl: %1 - + seconds Sekunder minutes - Minutter + Minutter - %4 %5 remaining - - %4 %5 tilbage + - %4 %5 tilbage - + %1 of %2 (%3/sec) %4 %1 af %2 (%3/sek) %4 - + ? ? - + %1 of %2 - Stopped %1 af %2 - Stoppet - + bytes Bytes - + kB kB - + MB MB + + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + DownloadManager 1 Download - 1 Download + 1 Download %1 Downloads - %1 Downloads + %1 Downloads + + + + %n Download(s) + + + + @@ -970,7 +1053,15 @@ Vil du genindl忙se alle sider? %1 items - %1 elementer + %1 elementer + + + + %n item(s) + + + + @@ -1126,305 +1217,325 @@ Vil du ignorere disse fejl? Generelt - + Home: Hjem: - + Set to current page S忙t til nuv忙rende side - + Remove history items: Fjern elementer fra historik: - + After one day Efter en dag - + After one week Efter en uge - + After two weeks Efter to uger - + After one month Efter en m氓ned - + After one year Efter et 氓r - + Manually Manuelt - + On application exit Ved afslutning af program - + Open links from applications: 脜bn links fra programmer: - + In a tab in the current window I et faneblad i nuv忙rende vindue - + In a new window I et nyt vindue - + Downloads Downloads - + Ask for a destination each time Bed om destination hver gang - + Use this destination: Brug denne destination: - + Appearance Udseende - + Standard font: Standardskrifttype: - + Times 16 Times 16 - + Select... V忙lg... - + Fixed-width font: Skrifttype med fast bredde: - + Courier 13 Courier 13 - + Privacy Privatliv - + Web Content Netindhold - + Enable Plugins Aktiv茅r plugins - + Enable Javascript Aktiv茅r JavaScript - + Enable Images Aktiv茅r billeder - + Cookies Cookies - + Accept Cookies: Accept茅r cookies: - + Always Altid - + Never Aldrig - + Only from sites you navigate to Kun fra sider du aktivt bes酶ger - + Exceptions... Undtagelser... - + Keep until: Behold indtil: - + They expire De udl酶ber - + I exit the application Jeg afslutter programmet - + At most 90 days H酶jst 90 dage - + Cookies... Cookies... - + Tabs Faneblade - + Select tabs and windows as they are created V忙lg faneblade og vinduer n氓r de oprettes - + Confirm when closing multiple tabs Bekr忙ft ved afslutning af flere faneblade - + Proxy Proxy - + Enable proxy Aktiv茅r proxy - + Type: Type: - + Socks5 Socks5 - + Http Http - + Host: V忙rt: - + Port: Port: - + User Name: Brugernavn: - + Password: Kodeord: - + Advanced Avanceret - + Style Sheet: Stilark: + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + TabBar - + Show Tab Bar Vis fanebladslinje - + Hide Tab Bar Skjul fanebladslinje - + New &Tab Nyt &faneblad - + Duplicate Tab Duplik茅r faneblad - + &Close Tab &Luk faneblad - + Close &Other Tabs Luk &andre faneblade - + Reload Tab Genindl忙s faneblad - + Reload All Tabs Genindl忙s alle faneblade @@ -1432,42 +1543,42 @@ Vil du ignorere disse fejl? TabWidget - + New &Tab Nyt &faneblad - + &Close Tab &Luk faneblad - + Show Next Tab Vis n忙ste faneblad - + Show Previous Tab Vis forrige faneblad - + Recently Closed Tabs Nyligt lukkede faneblade - + (Untitled) (Uden titel) - + Do you really want to close this page? Vil du virkelig lukke denne side? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1502,7 +1613,7 @@ Er du sikker p氓 du vil lukke siden? WebPage - + Error loading page: %1 Fejl ved indl忙sning af side: %1 @@ -1510,57 +1621,57 @@ Er du sikker p氓 du vil lukke siden? WebView - + Open in New &Window 脜bn i nyt &vindue - + Open in New &Tab 脜bn i nyt &faneblad - + Save Lin&k Gem lin&k - + &Bookmark This Link Tilf酶j link til &bogm忙rker - + &Copy Link Location &Kopi茅r linkadresse - + Open Image in New &Window 脜bn billede i nyt &vindue - + Open Image in New &Tab 脜bn billede i nyt &faneblad - + &Save Image &Gem billede - + &Copy Image &Kopi茅r billede - + C&opy Image Location K&opi茅r billedadresse - + Loading... Indl忙ser... @@ -1568,7 +1679,7 @@ Er du sikker p氓 du vil lukke siden? WebViewSearch - + Not Found Ikke fundet diff --git a/src/locale/de.ts b/src/locale/de.ts index b2b524c4..eaae4b3e 100644 --- a/src/locale/de.ts +++ b/src/locale/de.ts @@ -1,8 +1,7 @@ - - + - @default + Error Fehler @@ -12,7 +11,7 @@ Arora l盲uft bereits. - + AboutDialog @@ -80,7 +79,7 @@ p, li { white-space: pre-wrap; } L枚schen - + New Folder Neuer Ordner @@ -195,7 +194,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Leszeichen @@ -203,371 +202,381 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? %1 Fenster und %2 Tabs sind ge枚ffnet Arora wirklich beenden? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File &Datei - + &New Window &Neues Fenster - + &Open File... &Datei 枚ffnen... - + Open &Location... &Adresse aufrufen... - + &Save As... &Speichern unter... - + &Import Bookmarks... &Lesezeichen importieren... - + &Export Bookmarks... &Lesezeichen exportieren... - + P&rint Preview... Druckvorschau - + &Print... &Drucken... - + Private &Browsing... Private &Browsing... - + &Quit Beenden - + &Edit &Bearbeiten - + &Undo &R眉ckg盲ngig - + &Redo &Wiederholen - + Cu&t &Ausschneiden - + &Copy &Kopieren - + &Paste &Einf眉gen - + &Find &Suchen &Find Next - N盲chstes &Ergebnis + N盲chstes &Ergebnis &Find Previous - Vorheriges &Ergebnis + Vorheriges &Ergebnis &Preferences - &Einstellungen + &Einstellungen - + Ctrl+, Strg+, - + &View &Ansicht - + Shift+Ctrl+B Shift+Strg+B - + Ctrl+| Strg+| - + Ctrl+/ Strg+/ - + &Stop &Stop Reload Page - Seite aktualisieren + Seite aktualisieren &Make Text Bigger - &Text vergr枚脽ern + &Text vergr枚脽ern &Make Text Normal - Normale &Textgr枚脽e + Normale &Textgr枚脽e &Make Text Smaller - &Text verkleinern + &Text verkleinern - + Page S&ource &Quelltext - + Ctrl+Alt+U Strg+Alt+U - + &Full Screen &Vollbild - + Hi&story &Verlauf - + Back Zur眉ck - + Forward Vorw盲rts - + Home Startseite - + Restore Last Session Letzte Sitzung wiederherstellen - + &Bookmarks &Lesezeichen - + Manage Bookmarks... Lesezeichen verwalten... - + Add Bookmark... Lesezeichen hinzuf眉gen... - + &Window &Fenster - + &Tools &Werkzeuge - + Web &Search Web &Suche - + Ctrl+K Web Search Strg+K - + Enable Web &Inspector Web Inspector aktivieren - + &Help &Hilfe - + About &Qt 脺ber &Qt - + About &Arora 脺ber &Arora - + Navigation Navigation - + Show Status Bar Statusleiste zeigen - + Hide Status Bar Statusleiste verbergen - + Show Toolbar Werkzeugleiste zeigen - + Hide Toolbar Werkzeugleiste verbergen Show Bookmarks bar - Lesezeichenleiste zeigen + Lesezeichenleiste zeigen Hide Bookmarks bar - Lesezeichenleiste verbergen + Lesezeichenleiste verbergen - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Webinhalte 枚ffnen - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webinhalte (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - + Print Document Dokument drucken - + Are you sure you want to turn on private browsing? Private Browsing wirklich aktivieren? - + Are you sure you want to close the window? There are %1 tabs open Soll das Fenster wirklich geschlossen werden? Es sind %1 Tabs ge枚ffnet - + Page Source of %1 Quelltext von %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Der Web Inspector funktioniert nur auf neu geladenen Seiten. Sollen alle Seiten neu geladen werden? - + Stop loading the current page Ladevorgang abbrechen - + Reload the current page Seite aktualisieren - + Downloads Downloads - + Alt+Ctrl+L Download Manager Alt+Strg+L @@ -577,21 +586,66 @@ Sollen alle Seiten neu geladen werden? <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsph盲re betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Eintr盲ge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zur眉ck- und Vorw盲rtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. - + &Clear Private Data Private Daten l枚schen... - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsph盲re betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Eintr盲ge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zur眉ck- und Vorw盲rtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + ClearButton @@ -802,72 +856,72 @@ Sollen alle Seiten neu geladen werden? DownloadItem - + Save File Datei speichern - + Download canceled: %1 Downloads abgebrochen: %1 - + Error opening save file: %1 Fehler beim 枚ffnen der gespeicherten Datei: %1 - + Error saving: %1 Fehler beim Speichern: %1 - + Network Error: %1 Netzwerk Fehler: %1 - + seconds Sekunden minutes - Minuten + Minuten - %4 %5 remaining - - noch %4 %5 + - noch %4 %5 - + %1 of %2 (%3/sec) %4 %1 von %2 (%3/Sek) %4 - + ? ? - + %1 of %2 - Stopped %1 von %2 - Angehalten - + bytes bytes - + kB kB - + MB MB @@ -901,34 +955,58 @@ Sollen alle Seiten neu geladen werden? Open 脰ffnen + + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + DownloadManager 1 Download - 1 Download + 1 Download %1 Downloads - %1 Downloads + %1 Downloads + + + + %n Download(s) + + + + HistoryDialog - + Open 脰ffnen - + Copy Kopieren - + Delete L枚schen @@ -951,12 +1029,12 @@ Sollen alle Seiten neu geladen werden? HistoryMenu - + Show All History Kompletten Verlauf zeigen - + Clear History Verlauf leeren @@ -964,12 +1042,12 @@ Sollen alle Seiten neu geladen werden? HistoryModel - + Title Titel - + Address Adresse @@ -977,14 +1055,22 @@ Sollen alle Seiten neu geladen werden? HistoryTreeModel - + Earlier Today Heute %1 items - %1 Eintr盲ge + %1 Eintr盲ge + + + + %n item(s) + + + + @@ -1140,47 +1226,47 @@ M枚chten Sie diese Fehler ignorieren? Allgemein - + Home: Startseite: - + Set to current page Aktuelle Seite - + Remove history items: Verlauf Eintr盲ge l枚schen: - + After one day Nach einem Tag - + After one week Nach einer Woche - + After two weeks Nach zwei Wochen - + After one month Nach einem Monat - + After one year Nach einem Jahr - + Manually Manuell @@ -1189,157 +1275,157 @@ M枚chten Sie diese Fehler ignorieren? Downloads speichern nach: - + Open links from applications: Links von Programmen 枚ffnen in: - + In a tab in the current window in einem Tab im aktuellen Fenster - + In a new window In einem neuen Fenster - + Appearance Aussehen - + Fixed-width font: Schrift fester Breite: - + Privacy Privatsph盲re - + Web Content Webinhalt - + Enable Plugins Plugins aktivieren - + Enable Javascript Javascript aktivieren - + Cookies Cookies - + Accept Cookies: Cookies akzeptieren: - + Always Immer - + Never Nie - + Only from sites you navigate to Nur von besuchten Seiten - + Exceptions... Ausnahmen... - + Keep until: Speichern bis: - + They expire die Cookies ablaufen - + I exit the application Ich beende das Programm - + At most 90 days Maximal 90 Tage - + Cookies... Cookies... - + Proxy Proxy - + Enable proxy Proxy aktivieren - + Type: Typ: - + Socks5 Socks5 - + Http Http - + Host: Host: - + Port: Port: - + User Name: Benutzername: - + Password: Passwort: - + Advanced Erweitert - + Style Sheet: Style Sheet: @@ -1360,90 +1446,115 @@ M枚chten Sie diese Fehler ignorieren? Serif - + Downloads Downloads - + Ask for a destination each time Jedes Mal nach Ziel fragen - + Use this destination: Hier speichern: - + Standard font: Standard Schriftart - + Times 16 Times 16 - + Select... Auswahl... - + Courier 13 Courier 13 - + Tabs Tabs - + Select tabs and windows as they are created Neue Tabs und Fenster anzeigen - + Confirm when closing multiple tabs Nachfragen wenn mehrere Tabs geschlossen werden - + Enable Images Bilder anzeigen + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + On application exit + + TabBar - + New &Tab Neuer Tab - + Duplicate Tab Tab duplizieren - + &Close Tab Tab &schlie脽en - + Close &Other Tabs &Andere Tabs schlie脽en - + Reload Tab Tab neu laden - + Reload All Tabs Alle Tabs neu laden @@ -1453,12 +1564,12 @@ M枚chten Sie diese Fehler ignorieren? Shift+Ctrl+T - + Show Tab Bar Tableiste zeigen - + Hide Tab Bar Tableiste verbergen @@ -1466,42 +1577,42 @@ M枚chten Sie diese Fehler ignorieren? TabWidget - + New &Tab Neuer &Tab - + &Close Tab &Tab schlie脽en - + Show Next Tab N盲chster Tab - + Show Previous Tab Vorheriger Tab - + Recently Closed Tabs Zuletzt geschlossene Tabs - + (Untitled) (Unbetitelt) - + Do you really want to close this page? Diese Seite wirklich schlie脽en? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1535,7 +1646,7 @@ Diese Seite wirklich schlie脽en? WebPage - + Error loading page: %1 Fehler beim Laden von: %1 @@ -1543,60 +1654,65 @@ Diese Seite wirklich schlie脽en? WebView - + Open in New &Window In einem neuen &Fenster 枚ffnen - + Open in New &Tab In einem neuen &Tab 枚ffnen - + Save Lin&k Lin&k speichern - + &Bookmark This Link &Lesezeichen f眉r diesen Link setzen - + &Copy Link Location Linkadresse &kopieren - + Open Image in New &Window Bild in einem neuen &Fenster 枚ffnen - + Open Image in New &Tab Bild in einem neuen &Tab 枚ffnen - + &Save Image Bild &speichern - + &Copy Image Bild &kopieren - + C&opy Image Location Bildadresse &kopieren + + + Loading... + + WebViewSearch - + Not Found Nicht gefunden diff --git a/src/locale/en.ts b/src/locale/en.ts index e49195a4..ff11c81e 100644 --- a/src/locale/en.ts +++ b/src/locale/en.ts @@ -1,7 +1,6 @@ - - - + + AboutDialog @@ -192,389 +191,399 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File - + &New Window - + &Open File... - + Open &Location... - + &Save As... - + &Import Bookmarks... - + &Export Bookmarks... - + P&rint Preview... - + &Print... - + Private &Browsing... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &Find - - &Find Next - - - - - &Find Previous - - - - - &Preferences - - - - + Ctrl+, - + &View - + Shift+Ctrl+B - + Ctrl+| - + Ctrl+/ - + &Stop - - Reload Page - - - - - &Make Text Bigger - - - - - &Make Text Normal - - - - - &Make Text Smaller - - - - + Page S&ource - + Ctrl+Alt+U - + &Full Screen - + Hi&story - + Back - + Forward - + Home - + Restore Last Session - + &Bookmarks - + Manage Bookmarks... - + Add Bookmark... - + &Window - + &Tools - + Web &Search - + Ctrl+K Web Search - + Enable Web &Inspector - + &Help - + About &Qt - + About &Arora - + Navigation - + Show Status Bar - + Hide Status Bar - + Show Toolbar - + Hide Toolbar - + Arora - + %1 - Arora Page title and Browser name - + Open Web Resource - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - + Print Document - + Are you sure you want to turn on private browsing? - + Are you sure you want to close the window? There are %1 tabs open - + Page Source of %1 - + Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - + Stop loading the current page - + Reload the current page - + Downloads - + Alt+Ctrl+L Download Manager - + &Clear Private Data - + Ctrl+Shift+Delete Clear Private Data - + Show Bookmarks Bar - + Hide Bookmarks Bar - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + ClearButton @@ -1124,305 +1133,325 @@ Do you want to ignore these errors? - + Home: - + Set to current page - + Remove history items: - + After one day - + After one week - + After two weeks - + After one month - + After one year - + Manually - + Open links from applications: - + In a tab in the current window - + In a new window - + Appearance - + Fixed-width font: - + Privacy - + Web Content - + Enable Plugins - + Enable Javascript - + Cookies - + Accept Cookies: - + Always - + Never - + Only from sites you navigate to - + Exceptions... - + Keep until: - + They expire - + I exit the application - + At most 90 days - + Cookies... - + Proxy - + Enable proxy - + Type: - + Socks5 - + Http - + Host: - + Port: - + User Name: - + Password: - + Advanced - + Style Sheet: - + Downloads - + Ask for a destination each time - + Use this destination: - + Standard font: - + Times 16 - + Select... - + Courier 13 - + On application exit - + Enable Images - + Tabs - + Select tabs and windows as they are created - + Confirm when closing multiple tabs + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + TabBar - + New &Tab - + Duplicate Tab - + &Close Tab - + Close &Other Tabs - + Reload Tab - + Reload All Tabs - + Show Tab Bar - + Hide Tab Bar @@ -1430,42 +1459,42 @@ Do you want to ignore these errors? TabWidget - + New &Tab - + &Close Tab - + Show Next Tab - + Show Previous Tab - + Recently Closed Tabs - + (Untitled) - + Do you really want to close this page? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1556,7 +1585,7 @@ Do you really want to close this page? - + Loading... diff --git a/src/locale/es.ts b/src/locale/es.ts index 8752b764..368b7d33 100644 --- a/src/locale/es.ts +++ b/src/locale/es.ts @@ -1,1500 +1,1685 @@ - - - - - AboutDialog - - - About - Acerca de... - - - - AddBookmarkDialog - - - Add Bookmark - A帽adir marcador - - - - Type a name for the bookmark, and choose where to keep it. - Escriba un nombre para el marcador y elija d贸nde quiere guardarlo. - - - - BookmarksDialog - - - Open - Abrir - - - - Open in New Tab - Abrir en una pesta帽a nueva - - - - Delete - Borrar - - - - New Folder - Nueva carpeta - - - - Bookmarks - Marcadores - - - - &Remove - &Eliminar - - - - Add Folder - Crear carpeta - - - - BookmarksManager - - - Error when loading bookmarks on line %1, column %2: -%3 - Error al cargar los marcadores en la l铆nea %1, columna %2: %3 - - - - Toolbar Bookmarks - Barra de herramientas de marcadores - - - - Menu - Men煤 - - - - Open File - Abrir archivo - - - - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) - - - - Imported %1 - Importado %1 - - - - Save File - Guardar archivo - - - - %1 Bookmarks.xbel - %1 Bookmarks.xbel - - - - Export error - Error al exportar - - - - error saving bookmarks - Error guardando los marcadores - - - - Remove Bookmark - Eliminar marcador - - - - Insert Bookmark - Insertar marcador - - - - Name Change - Cambiar el nombre - - - - Address Change - Cambiar la direcci贸n - - - - BookmarksModel - - - Title - T铆tulo - - - - Address - Direcci贸n - - - - BookmarksToolBar - - - Bookmark - Marcador - - - - BrowserApplication - - - There are %1 windows and %2 tabs open -Do you want to quit anyway? - Hay %1 ventanas y %2 pesta帽as abiertas -驴Est谩 seguro de que desea salir? - - - - BrowserMainWindow - - - &File - &Archivo - - - - &New Window - &Ventana nueva - - - - &Open File... - &Abrir archivo... - - - - Open &Location... - Abrir &ubicaci贸n... - - - - &Save As... - &Guardar como... - - - - &Import Bookmarks... - &Importar marcadores... - - - - &Export Bookmarks... - &Exportar marcadores... - - - - P&rint Preview... - V&ista previa... - - - - &Print... - Im&primir... - - - - Private &Browsing... - &Navegaci贸n privada... - - - - &Quit - &Salir - - - - &Edit - &Editar - - - - &Undo - &Deshacer - - - - &Redo - &Rehacer - - - - Cu&t - Cor&tar - - - - &Copy - &Copiar - - - - &Paste - &Pegar - - - - &Find - &Buscar - - - - &Find Next - Buscar &siguiente - - - - &Find Previous - Buscar &anterior - - - - &Preferences - &Preferencias - - - - Ctrl+, - Ctrl+, - - - - &View - &Ver - - - - Shift+Ctrl+B - Shift+Ctrl+B - - - - Ctrl+| - Ctrl+| - - - - Ctrl+/ - Ctrl+/ - - - - &Stop - &Detener - - - - Reload Page - &Recargar la p谩gina - - - - &Make Text Bigger - &Ampliar tama帽o del texto - - - - &Make Text Normal - Tama帽o del texto &normal - - - - &Make Text Smaller - &Reducir tama帽o del texto - - - - Page S&ource - C贸digo &fuente - - - - Ctrl+Alt+U - Ctrl+Alt+U - - - - &Full Screen - Pantalla &completa - - - - Hi&story - &Historial - - - - Back - Atr谩s - - - - Forward - Adelante - - - - Home - Inicio - - - - Restore Last Session - Restaurar la 煤ltima sesi贸n - - - - &Bookmarks - &Marcadores - - - - Manage Bookmarks... - Administrar marcadores... - - - - Add Bookmark... - A帽adir marcador... - - - - &Window - &Ventana - - - - &Tools - &Herramientas - - - - Web &Search - &Buscar en la web - - - - Ctrl+K - Web Search - Ctrl+K - - - - &Clear Private Data - &Borrar datos privados - - - - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete - - - - Enable Web &Inspector - Activar el &inspector web - - - - &Help - &Ayuda - - - - About &Qt - Acerca de &Qt - - - - About &Arora - Acerca de &Arora - - - - Navigation - Navegaci贸n - - - - Show Status Bar - Mostrar la barra de estado - - - - Hide Status Bar - Ocultar la barra de estado - - - - Show Toolbar - Mostrar la barra de herramientas - - - - Hide Toolbar - Ocultar la barra de herramientas - - - - Show Bookmarks bar - Mostrar la barra de marcadores - - - - Hide Bookmarks bar - Ocultar la barra de marcadores - - - - Arora - Arora - - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - - Open Web Resource - Abrir un recurso web - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos los archivos (*.*) - - - - Print Document - Imprimir documento - - - - Are you sure you want to turn on private browsing? - 驴Est谩 seguro de que quiere activar la navegaci贸n privada? - - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>Cuando la navegaci贸n privada est谩 activada, se desactivan algunas opciones relacionadas con su privacidad:<ul><li> Las p谩ginas web no se a帽aden al historial.</li><li> Las descargas se quitan autom谩ticamente de la ventana de descargas.</li><li> No se guardan las cookies nuevas y no se puede acceder a las cookies actuales.</li><li> No se guardan los iconos de los sitios web ni tampoco la sesi贸n.</li><li> Las b煤squedas no se a帽aden al men煤 emergente del cuadro de b煤squeda.</li></ul>A煤n puede pulsar los botones Atr谩s y Adelante para volver a las p谩ginas que ha abierto hasta que cierre la ventana. - - - - Are you sure you want to close the window? There are %1 tabs open - 驴Est谩 seguro de que quiere cerrar la ventana? Hay %1 pesta帽as abiertas - - - - Page Source of %1 - C贸digo fuente de %1 - - - - Web Inspector - Inspector web - - - - The web inspector will only work correctly for pages that were loaded after enabling. -Do you want to reload all pages? - El inspector web s贸lo funcionar谩 correctamente con las p谩ginas que se carguen despu茅s de activarlo. -驴Desea recargar todas las p谩ginas? - - - - Stop loading the current page - Detener la carga de la p谩gina actual - - - - Reload the current page - Recargar la p谩gina actual - - - - Downloads - Descargas - - - - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L - - - - ClearButton - - - Clear - Limpiar - - - - ClearPrivateData - - - Clear Private Data - Limpiar datos privados - - - - Clear the following items: - Limpiar los siguientes elementos: - - - - &Browsing History - Historial de &navegaci贸n - - - - &Download History - Historial de &descargas - - - - &Search History - Historial de &b煤squedas - - - - &Cookies - &Cookies - - - - C&ache - C&ach茅 - - - - Website &Icons - &Iconos de los sitios web - - - - Clear &Private Data - Limpiar datos &privados - - - - &Cancel - &Cancelar - - - - CookieExceptionsModel - - - Website - Sitio web - - - - Status - Estado - - - - Allow - Permitir - - - - Block - Bloquar - - - - Allow For Session - Permitir s贸lo durante esta sesi贸n - - - - CookieModel - - - Website - Sitio web - - - - Name - Nombre - - - - Path - Ruta - - - - Secure - Segura - - - - Expires - Caducidad - - - - Contents - Contenidos - - - - CookiesDialog - - - Cookies - Cookies - - - - &Remove - &Eliminar - - - - Remove &All Cookies - Eliminar &todas las cookies - - - - CookiesExceptionsDialog - - - Cookie Exceptions - Cookies exentas - - - - New Exception - Nueva excepci贸n - - - - Domain: - Dominio: - - - - Block - Bloquear - - - - Allow For Session - Permitir s贸lo durante esta sesi贸n - - - - Allow - Permitir - - - - Exceptions - Excepciones - - - - &Remove - &Eliminar - - - - Remove &All - Eliminar &todas - - - - DownloadDialog - - - Downloads - Descargas - - - - Clean up - Vaciar - - - - 0 Items - 0 elementos - - - - DownloadItem - - - Form - Formulario - - - - Ico - Ico - - - - Filename - Nombre de archivo - - - - Try Again - Volver a intentarlo - - - - Stop - Detener - - - - Open - Abrir - - - - Save File - Guardar archivo - - - - Download canceled: %1 - Descarga cancelada: %1 - - - - Error opening save file: %1 - Error al abrir el archivo guardado: %1 - - - - Error saving: %1 - Error al guardar: %1 - - - - Network Error: %1 - Error de red: %1 - - - - seconds - segundos - - - - minutes - minutos - - - - - %4 %5 remaining - - %4 %5 restantes - - - - %1 of %2 (%3/sec) %4 - %1 de %2 (%3/seg) %4 - - - - ? - ? - - - - %1 of %2 - Stopped - %1 de %2 - Detenida - - - - bytes - bytes - - - - kB - kB - - - - MB - MB - - - - DownloadManager - - - 1 Download - 1 descarga - - - - %1 Downloads - %1 descargas - - - - HistoryDialog - - - Open - Abrir - - - - Copy - Copiar - - - - Delete - Borrar - - - - History - Historial - - - - &Remove - &Eliminar - - - - Remove &All - Eliminar &todo - - - - HistoryMenu - - - Show All History - Mostrar todo el historial - - - - Clear History - Limpiar historial - - - - HistoryModel - - - Title - T铆tulo - - - - Address - Direcci贸n - - - - HistoryTreeModel - - - Earlier Today - Hace un rato - - - - %1 items - %1 elementos - - - - NetworkAccessManager - - - <qt>Enter username and password for "%1" at %2</qt> - <qt>Introduzca el nombre de usuario y la contrase帽a para "%1" en %2</qt> - - - - <qt>Connect to proxy "%1" using:</qt> - <qt>Conectar al proxy "%1" usando:</qt> - - - - SSL Errors: - -%1 - -%2 - -Do you want to ignore these errors? - Errores SSL: - -%1 - -%2 - -驴Quiere omitir estos errores? - - - - Do you want to accept all these certificates? - 驴Desea aceptar todos estos certificados? - - - - PasswordDialog - - - Authentication Required - Autenticaci贸n necesaria - - - - DUMMY ICON - - - - - INTRO TEXT DUMMY - - - - - Username: - Nombre de usuario: - - - - Password: - Contrase帽a: - - - - ProxyDialog - - - Proxy Authentication - Autenticaci贸n con el proxy - - - - ICON - - - - - Connect to proxy - Conectar al proxy - - - - Username: - Nombre de usuario: - - - - Password: - Contrase帽a: - - - - QObject - - - The file is not an XBEL version 1.0 file. - El archivo no es un archivo XBEL versi贸n 1.0. - - - - Unknown title - T铆tulo desconocido - - - - SearchBanner - - - Form - Formulario - - - - TextLabel - - - - - < - < - - - - > - > - - - - Done - Hecho - - - - SearchLineEdit - - - Search - Buscar - - - - Settings - - - Settings - Opciones - - - - General - General - - - - Home: - P谩gina de inicio: - - - - Set to current page - P谩gina actual - - - - Remove history items: - Eliminar p谩ginas del historial: - - - - After one day - Al cabo de un d铆a - - - - After one week - Al cabo de una semana - - - - After two weeks - Al cabo de dos semanas - - - - After one month - Al cabo de un mes - - - - After one year - Al cabo de un a帽o - - - - Manually - Manualmente - - - - Open links from applications: - Abrir enlaces desde aplicaciones: - - - - In a tab in the current window - En una pesta帽a en la ventana actual - - - - In a new window - En una ventana nueva - - - - Downloads - Descargas - - - - Ask for a destination each time - Preguntar d贸nde guardar las descargas cada vez - - - - Use this destination: - Usar este destino: - - - - Appearance - Apariencia - - - - Standard font: - Fuente est谩ndar: - - - - Times 16 - Times 16 - - - - Select... - Seleccionar... - - - - Fixed-width font: - Fuente de anchura fija: - - - - Courier 13 - Courier 13 - - - - Privacy - Privacidad - - - - Web Content - Contenido web - - - - Enable Plugins - Activar plugins - - - - Enable Javascript - Activar javascript - - - - Cookies - Cookies - - - - Accept Cookies: - Aceptar cookies: - - - - Always - Siempre - - - - Never - Nunca - - - - Only from sites you navigate to - S贸lo desde los sitios que visite - - - - Exceptions... - Excepciones... - - - - Keep until: - Mantener: - - - - They expire - Hasta que caduquen - - - - I exit the application - Hasta que cierre la aplicaci贸n - - - - At most 90 days - 90 d铆as como m谩ximo - - - - Cookies... - Cookies... - - - - Proxy - Proxy - - - - Enable proxy - Usar un proxy - - - - Type: - Tipo: - - - - Socks5 - Socks5 - - - - Http - Http - - - - Host: - Direcci贸n: - - - - Port: - Puerto: - - - - User Name: - Nombre de usuario: - - - - Password: - Contrase帽a: - - - - Advanced - Avanzado - - - - Style Sheet: - Hoja de estilos: - - - - TabBar - - - New &Tab - &Nueva pesta帽a - - - - Duplicate Tab - Duplicar pesta帽a - - - - &Close Tab - &Cerrar pesta帽a - - - - Close &Other Tabs - Cerrar &otras pesta帽as - - - - Reload Tab - Recargar pesta帽a - - - - Reload All Tabs - Recargar todas las pesta帽as - - - - TabWidget - - - New &Tab - Nueva &pesta帽a - - - - &Close Tab - &Cerrar pesta帽a - - - - Show Next Tab - Mostrar pesta帽a siguiente - - - - Show Previous Tab - Mostrar pesta帽a anterior - - - - Recently Closed Tabs - Pesta帽as cerradas recientemente - - - - (Untitled) - (Sin t铆tulo) - - - - Do you really want to close this page? - 驴Est谩 seguro de que quiere cerrar esta p谩gina? - - - - You have modified this page and when closing it you would lose the modification. -Do you really want to close this page? - - Ha modificado esta p谩gina y si la cierre perder谩 los cambios. -驴Est谩 seguro de que quiere cerrar esta p谩gina? - - - - ToolbarSearch - - - Google - Google - - - - No Recent Searches - No hay b煤squedas recientes - - - - Recent Searches - B煤squedas recientes - - - - Clear Recent Searches - Limpiar b煤squedas recientes - - - - WebPage - - - Error loading page: %1 - Error al cargar la p谩gina: %1 - - - - WebView - - - Open in New &Window - Abrir en una &ventana nueva - - - - Open in New &Tab - Abrir en una &pesta帽a nueva - - - - Save Lin&k - &Guardar enlace - - - - &Bookmark This Link - &A帽adir esta p谩gina a marcadores - - - - &Copy Link Location - &Copiar direcci贸n del enlace - - - - Open Image in New &Window - Abrir &imagen en una ventana nueva - - - - Open Image in New &Tab - Abrir i&magen en una pesta帽a nueva - - - - &Save Image - G&uardar imagen - - - - &Copy Image - Co&piar imagen - - - - C&opy Image Location - Copiar &direcci贸n de la imagen - - - - WebViewSearch - - - Not Found - No encontrado - - - + + + + AboutDialog + + + About + Acerca de... + + + + Authors + + + + + License + + + + + Lightweight WebKit-based web browser + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + + + + + AddBookmarkDialog + + + Add Bookmark + A帽adir marcador + + + + Type a name for the bookmark, and choose where to keep it. + Escriba un nombre para el marcador y elija d贸nde quiere guardarlo. + + + + BookmarksDialog + + + Open + Abrir + + + + Open in New Tab + Abrir en una pesta帽a nueva + + + + Delete + Borrar + + + + New Folder + Nueva carpeta + + + + Bookmarks + Marcadores + + + + &Remove + &Eliminar + + + + Add Folder + Crear carpeta + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Error al cargar los marcadores en la l铆nea %1, columna %2: %3 + + + + Toolbar Bookmarks + Barra de herramientas de marcadores + + + + Menu + Men煤 + + + + Open File + Abrir archivo + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + Importado %1 + + + + Save File + Guardar archivo + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Error al exportar + + + + error saving bookmarks + Error guardando los marcadores + + + + Remove Bookmark + Eliminar marcador + + + + Insert Bookmark + Insertar marcador + + + + Name Change + Cambiar el nombre + + + + Address Change + Cambiar la direcci贸n + + + + BookmarksModel + + + Title + T铆tulo + + + + Address + Direcci贸n + + + + BookmarksToolBar + + + Bookmark + Marcador + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Hay %1 ventanas y %2 pesta帽as abiertas +驴Est谩 seguro de que desea salir? + + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + + + + BrowserMainWindow + + + &File + &Archivo + + + + &New Window + &Ventana nueva + + + + &Open File... + &Abrir archivo... + + + + Open &Location... + Abrir &ubicaci贸n... + + + + &Save As... + &Guardar como... + + + + &Import Bookmarks... + &Importar marcadores... + + + + &Export Bookmarks... + &Exportar marcadores... + + + + P&rint Preview... + V&ista previa... + + + + &Print... + Im&primir... + + + + Private &Browsing... + &Navegaci贸n privada... + + + + &Quit + &Salir + + + + &Edit + &Editar + + + + &Undo + &Deshacer + + + + &Redo + &Rehacer + + + + Cu&t + Cor&tar + + + + &Copy + &Copiar + + + + &Paste + &Pegar + + + + &Find + &Buscar + + + + &Find Next + Buscar &siguiente + + + + &Find Previous + Buscar &anterior + + + + &Preferences + &Preferencias + + + + Ctrl+, + Ctrl+, + + + + &View + &Ver + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+| + Ctrl+| + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &Detener + + + + Reload Page + &Recargar la p谩gina + + + + &Make Text Bigger + &Ampliar tama帽o del texto + + + + &Make Text Normal + Tama帽o del texto &normal + + + + &Make Text Smaller + &Reducir tama帽o del texto + + + + Page S&ource + C贸digo &fuente + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + Pantalla &completa + + + + Hi&story + &Historial + + + + Back + Atr谩s + + + + Forward + Adelante + + + + Home + Inicio + + + + Restore Last Session + Restaurar la 煤ltima sesi贸n + + + + &Bookmarks + &Marcadores + + + + Manage Bookmarks... + Administrar marcadores... + + + + Add Bookmark... + A帽adir marcador... + + + + &Window + &Ventana + + + + &Tools + &Herramientas + + + + Web &Search + &Buscar en la web + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + &Borrar datos privados + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + Activar el &inspector web + + + + &Help + &Ayuda + + + + About &Qt + Acerca de &Qt + + + + About &Arora + Acerca de &Arora + + + + Navigation + Navegaci贸n + + + + Show Status Bar + Mostrar la barra de estado + + + + Hide Status Bar + Ocultar la barra de estado + + + + Show Toolbar + Mostrar la barra de herramientas + + + + Hide Toolbar + Ocultar la barra de herramientas + + + + Show Bookmarks bar + Mostrar la barra de marcadores + + + + Hide Bookmarks bar + Ocultar la barra de marcadores + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Abrir un recurso web + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos los archivos (*.*) + + + + Print Document + Imprimir documento + + + + Are you sure you want to turn on private browsing? + 驴Est谩 seguro de que quiere activar la navegaci贸n privada? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. + <b>%1</b><br><br>Cuando la navegaci贸n privada est谩 activada, se desactivan algunas opciones relacionadas con su privacidad:<ul><li> Las p谩ginas web no se a帽aden al historial.</li><li> Las descargas se quitan autom谩ticamente de la ventana de descargas.</li><li> No se guardan las cookies nuevas y no se puede acceder a las cookies actuales.</li><li> No se guardan los iconos de los sitios web ni tampoco la sesi贸n.</li><li> Las b煤squedas no se a帽aden al men煤 emergente del cuadro de b煤squeda.</li></ul>A煤n puede pulsar los botones Atr谩s y Adelante para volver a las p谩ginas que ha abierto hasta que cierre la ventana. + + + + Are you sure you want to close the window? There are %1 tabs open + 驴Est谩 seguro de que quiere cerrar la ventana? Hay %1 pesta帽as abiertas + + + + Page Source of %1 + C贸digo fuente de %1 + + + + Web Inspector + Inspector web + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + El inspector web s贸lo funcionar谩 correctamente con las p谩ginas que se carguen despu茅s de activarlo. +驴Desea recargar todas las p谩ginas? + + + + Stop loading the current page + Detener la carga de la p谩gina actual + + + + Reload the current page + Recargar la p谩gina actual + + + + Downloads + Descargas + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + + + + ClearButton + + + Clear + Limpiar + + + + ClearPrivateData + + + Clear Private Data + Limpiar datos privados + + + + Clear the following items: + Limpiar los siguientes elementos: + + + + &Browsing History + Historial de &navegaci贸n + + + + &Download History + Historial de &descargas + + + + &Search History + Historial de &b煤squedas + + + + &Cookies + &Cookies + + + + C&ache + C&ach茅 + + + + Website &Icons + &Iconos de los sitios web + + + + Clear &Private Data + Limpiar datos &privados + + + + &Cancel + &Cancelar + + + + CookieExceptionsModel + + + Website + Sitio web + + + + Status + Estado + + + + Allow + Permitir + + + + Block + Bloquar + + + + Allow For Session + Permitir s贸lo durante esta sesi贸n + + + + CookieModel + + + Website + Sitio web + + + + Name + Nombre + + + + Path + Ruta + + + + Secure + Segura + + + + Expires + Caducidad + + + + Contents + Contenidos + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + &Eliminar + + + + Remove &All Cookies + Eliminar &todas las cookies + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Cookies exentas + + + + New Exception + Nueva excepci贸n + + + + Domain: + Dominio: + + + + Block + Bloquear + + + + Allow For Session + Permitir s贸lo durante esta sesi贸n + + + + Allow + Permitir + + + + Exceptions + Excepciones + + + + &Remove + &Eliminar + + + + Remove &All + Eliminar &todas + + + + DownloadDialog + + + Downloads + Descargas + + + + Clean up + Vaciar + + + + 0 Items + 0 elementos + + + + DownloadItem + + + Form + Formulario + + + + Ico + Ico + + + + Filename + Nombre de archivo + + + + Try Again + Volver a intentarlo + + + + Stop + Detener + + + + Open + Abrir + + + + Save File + Guardar archivo + + + + Download canceled: %1 + Descarga cancelada: %1 + + + + Error opening save file: %1 + Error al abrir el archivo guardado: %1 + + + + Error saving: %1 + Error al guardar: %1 + + + + Network Error: %1 + Error de red: %1 + + + + seconds + segundos + + + + minutes + minutos + + + + - %4 %5 remaining + - %4 %5 restantes + + + + %1 of %2 (%3/sec) %4 + %1 de %2 (%3/seg) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 de %2 - Detenida + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + + + + DownloadManager + + + 1 Download + 1 descarga + + + + %1 Downloads + %1 descargas + + + + %n Download(s) + + + + + + + + HistoryDialog + + + Open + Abrir + + + + Copy + Copiar + + + + Delete + Borrar + + + + History + Historial + + + + &Remove + &Eliminar + + + + Remove &All + Eliminar &todo + + + + HistoryMenu + + + Show All History + Mostrar todo el historial + + + + Clear History + Limpiar historial + + + + HistoryModel + + + Title + T铆tulo + + + + Address + Direcci贸n + + + + HistoryTreeModel + + + Earlier Today + Hace un rato + + + + %1 items + %1 elementos + + + + %n item(s) + + + + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Introduzca el nombre de usuario y la contrase帽a para "%1" en %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Conectar al proxy "%1" usando:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + Errores SSL: + +%1 + +%2 + +驴Quiere omitir estos errores? + + + + Do you want to accept all these certificates? + 驴Desea aceptar todos estos certificados? + + + + PasswordDialog + + + Authentication Required + Autenticaci贸n necesaria + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Nombre de usuario: + + + + Password: + Contrase帽a: + + + + ProxyDialog + + + Proxy Authentication + Autenticaci贸n con el proxy + + + + ICON + + + + + Connect to proxy + Conectar al proxy + + + + Username: + Nombre de usuario: + + + + Password: + Contrase帽a: + + + + QObject + + + The file is not an XBEL version 1.0 file. + El archivo no es un archivo XBEL versi贸n 1.0. + + + + Unknown title + T铆tulo desconocido + + + + SearchBanner + + + Form + Formulario + + + + TextLabel + + + + + < + < + + + + > + > + + + + Done + Hecho + + + + SearchLineEdit + + + Search + Buscar + + + + Settings + + + Settings + Opciones + + + + General + General + + + + Home: + P谩gina de inicio: + + + + Set to current page + P谩gina actual + + + + Remove history items: + Eliminar p谩ginas del historial: + + + + After one day + Al cabo de un d铆a + + + + After one week + Al cabo de una semana + + + + After two weeks + Al cabo de dos semanas + + + + After one month + Al cabo de un mes + + + + After one year + Al cabo de un a帽o + + + + Manually + Manualmente + + + + Open links from applications: + Abrir enlaces desde aplicaciones: + + + + In a tab in the current window + En una pesta帽a en la ventana actual + + + + In a new window + En una ventana nueva + + + + Downloads + Descargas + + + + Ask for a destination each time + Preguntar d贸nde guardar las descargas cada vez + + + + Use this destination: + Usar este destino: + + + + Appearance + Apariencia + + + + Standard font: + Fuente est谩ndar: + + + + Times 16 + Times 16 + + + + Select... + Seleccionar... + + + + Fixed-width font: + Fuente de anchura fija: + + + + Courier 13 + Courier 13 + + + + Privacy + Privacidad + + + + Web Content + Contenido web + + + + Enable Plugins + Activar plugins + + + + Enable Javascript + Activar javascript + + + + Cookies + Cookies + + + + Accept Cookies: + Aceptar cookies: + + + + Always + Siempre + + + + Never + Nunca + + + + Only from sites you navigate to + S贸lo desde los sitios que visite + + + + Exceptions... + Excepciones... + + + + Keep until: + Mantener: + + + + They expire + Hasta que caduquen + + + + I exit the application + Hasta que cierre la aplicaci贸n + + + + At most 90 days + 90 d铆as como m谩ximo + + + + Cookies... + Cookies... + + + + Proxy + Proxy + + + + Enable proxy + Usar un proxy + + + + Type: + Tipo: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + Direcci贸n: + + + + Port: + Puerto: + + + + User Name: + Nombre de usuario: + + + + Password: + Contrase帽a: + + + + Advanced + Avanzado + + + + Style Sheet: + Hoja de estilos: + + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + On application exit + + + + + Enable Images + + + + + Tabs + + + + + Select tabs and windows as they are created + + + + + Confirm when closing multiple tabs + + + + + TabBar + + + New &Tab + &Nueva pesta帽a + + + + Duplicate Tab + Duplicar pesta帽a + + + + &Close Tab + &Cerrar pesta帽a + + + + Close &Other Tabs + Cerrar &otras pesta帽as + + + + Reload Tab + Recargar pesta帽a + + + + Reload All Tabs + Recargar todas las pesta帽as + + + + Show Tab Bar + + + + + Hide Tab Bar + + + + + TabWidget + + + New &Tab + Nueva &pesta帽a + + + + &Close Tab + &Cerrar pesta帽a + + + + Show Next Tab + Mostrar pesta帽a siguiente + + + + Show Previous Tab + Mostrar pesta帽a anterior + + + + Recently Closed Tabs + Pesta帽as cerradas recientemente + + + + (Untitled) + (Sin t铆tulo) + + + + Do you really want to close this page? + 驴Est谩 seguro de que quiere cerrar esta p谩gina? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Ha modificado esta p谩gina y si la cierre perder谩 los cambios. +驴Est谩 seguro de que quiere cerrar esta p谩gina? + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + No hay b煤squedas recientes + + + + Recent Searches + B煤squedas recientes + + + + Clear Recent Searches + Limpiar b煤squedas recientes + + + + WebPage + + + Error loading page: %1 + Error al cargar la p谩gina: %1 + + + + WebView + + + Open in New &Window + Abrir en una &ventana nueva + + + + Open in New &Tab + Abrir en una &pesta帽a nueva + + + + Save Lin&k + &Guardar enlace + + + + &Bookmark This Link + &A帽adir esta p谩gina a marcadores + + + + &Copy Link Location + &Copiar direcci贸n del enlace + + + + Open Image in New &Window + Abrir &imagen en una ventana nueva + + + + Open Image in New &Tab + Abrir i&magen en una pesta帽a nueva + + + + &Save Image + G&uardar imagen + + + + &Copy Image + Co&piar imagen + + + + C&opy Image Location + Copiar &direcci贸n de la imagen + + + + Loading... + + + + + WebViewSearch + + + Not Found + No encontrado + + + diff --git a/src/locale/et.ts b/src/locale/et.ts index 5c532285..7ecab062 100644 --- a/src/locale/et.ts +++ b/src/locale/et.ts @@ -1,7 +1,6 @@ - - - + + AboutDialog diff --git a/src/locale/fr.ts b/src/locale/fr.ts index 94e20b3b..ab16ac42 100644 --- a/src/locale/fr.ts +++ b/src/locale/fr.ts @@ -1,13 +1,46 @@ - - + AboutDialog - + About 脌 propos + + + Authors + + + + + License + + + + + Lightweight WebKit-based web browser + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + + AddBookmarkDialog @@ -35,7 +68,7 @@ Supprimer - + New Folder Nouveau dossier @@ -151,7 +184,7 @@ BookmarksToolBar - + Bookmark Marque-page @@ -159,164 +192,174 @@ BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Il y a %1 fen锚tres et %2 onglets ouverts. Voulez-vous tout de m锚me quitter? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File &Fichier - + &New Window &Nouvelle fen锚tre - + &Open File... &Ouvrir un fichier... - + Open &Location... Ouvrir une &adresse... - + &Save As... Enregistrer &sous... - + &Import Bookmarks... &Importer des marque-pages... - + &Export Bookmarks... &Exporter les marque-pages... - + P&rint Preview... Ape&r莽u avant impression... - + &Print... Im&pression - + Private &Browsing... Navigation en mode priv茅 - + &Quit &Quitter - + &Edit &脡dition - + &Undo &Annuler - + &Redo &Refaire - + Cu&t &Couper - + &Copy Co&pier - + &Paste C&oller - + &Find &Rechercher &Find Next - Rechercher le &suivant + Rechercher le &suivant &Find Previous - Rechercher le p&r茅c茅dent + Rechercher le p&r茅c茅dent &Preferences - &Pr茅f茅rences + &Pr茅f茅rences - + Ctrl+, - + &View &Affichage - + Shift+Ctrl+B - + Ctrl+| - + Ctrl+/ - + &Stop A&rr锚ter Reload Page - &Recharger la page + &Recharger la page &Make Text Bigger - Agrandir le texte + Agrandir le texte &Make Text Smaller - R茅duire le texte + R茅duire le texte @@ -331,7 +374,7 @@ Voulez-vous tout de m锚me quitter? &Make Text Normal - R茅initialiser la taile du texte + R茅initialiser la taile du texte @@ -339,225 +382,275 @@ Voulez-vous tout de m锚me quitter? R茅initialiser la taile de la page - + Page S&ource Code s&ource de la page - + Ctrl+Alt+U - + &Full Screen &Plein 茅cran - + Hi&story &Historique - + Back Page pr茅c茅dente - + Forward Page suivante - + Home Page d'accueil - + Restore Last Session Restaurer la derni猫re session - + &Bookmarks &Marque-pages - + Manage Bookmarks... G茅rer les marque-pages - + Add Bookmark... Ajouter un marque-page... - + &Window &Fen锚te - + &Tools &Outils - + Web &Search &Recherche Web - + Ctrl+K Web Search - + Enable Web &Inspector Activer l'&inspecteur Web - + &Help &Aide - + About &Qt 脌 propos de &Qt - + About &Arora 脌 propos d'&Arora - + Navigation - + Show Status Bar Afficher la barre d'茅tat - + Hide Status Bar Masquer la barre d'茅tat - + Show Toolbar Afficher la barre d'outils - + Hide Toolbar Masquer la barre d'outils Show Bookmarks bar - Afficher la barre de marque-pages + Afficher la barre de marque-pages Hide Bookmarks bar - Masquer la barre de marque-pages + Masquer la barre de marque-pages - + Arora - + %1 - Arora Page title and Browser name - + Open Web Resource Ouvrir un fichier Web - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Fichier Web (*.html *.htm *.svg *.png *.gif *.svgz);;Tous les fichiers (*.*) - + Print Document Imprimer le document - + Are you sure you want to turn on private browsing? 脢tes-vous s没r de vouloir activer la navigation en mode priv茅? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>Lorsque la navigation en mode priv茅 est activ茅e, certaines actions concernant votre vie priv茅e seront d茅sactiv茅es:<ul><li> Les pages Web ne sont pas ajout茅es 脿 l'historique.</li><li> Les t茅l茅chargements sont automatiquement retir茅 de la fen锚tre des t茅l茅chargements.</li><li> Les nouveaux fichiers t茅moins ne sont pas conserv茅s et les fichiers t茅moins d茅j脿 existant ne sont pas accessibles.</li><li> Les ic么nes de sites Web et la session ne sont pas enregistr茅s.</li><li> Les recherches ne sont pas ajout茅es dans la liste des recherches r茅centes.</li></ul>Jusqu'脿 la fermeture de l'茅cran, vous pouvez encore utiliser les boutons Page pr茅c茅dente et Page suivante. + <b>%1</b><br><br>Lorsque la navigation en mode priv茅 est activ茅e, certaines actions concernant votre vie priv茅e seront d茅sactiv茅es:<ul><li> Les pages Web ne sont pas ajout茅es 脿 l'historique.</li><li> Les t茅l茅chargements sont automatiquement retir茅 de la fen锚tre des t茅l茅chargements.</li><li> Les nouveaux fichiers t茅moins ne sont pas conserv茅s et les fichiers t茅moins d茅j脿 existant ne sont pas accessibles.</li><li> Les ic么nes de sites Web et la session ne sont pas enregistr茅s.</li><li> Les recherches ne sont pas ajout茅es dans la liste des recherches r茅centes.</li></ul>Jusqu'脿 la fermeture de l'茅cran, vous pouvez encore utiliser les boutons Page pr茅c茅dente et Page suivante. - + Are you sure you want to close the window? There are %1 tabs open 脢tes-vous s没r de vouloir fermer cette fen锚tre? Il y a %1 onglets ouverts. - + Page Source of %1 Code source de %1 - + Web Inspector Inspecteur Web - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'inspecteur Web ne fonctionne que pour les pages qui ont 茅t茅 charg茅es apr猫s son activation. Voulez-vous recharcher toutes les pages? - + Stop loading the current page Arr锚ter le chargement de la page en cours - + Reload the current page Recharger la page en cours - + Downloads T茅l茅chargements - + Alt+Ctrl+L Download Manager - + &Clear Private Data &Effacer l'information priv茅e - + Ctrl+Shift+Delete Clear Private Data + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + ClearButton @@ -623,27 +716,27 @@ Do you want to reload all pages? CookieExceptionsModel - + Website Site Web - + Status Statut - + Allow Permettre - + Block Bloquer - + Allow For Session Permettre pour la session @@ -651,32 +744,32 @@ Do you want to reload all pages? CookieModel - + Website Site Web - + Name Nom - + Path Chemin d'acc猫s - + Secure S茅cure - + Expires Expire - + Contents Contenu @@ -798,103 +891,127 @@ Do you want to reload all pages? Ouvrir - + Save File Enregistrer le fichier - + Download canceled: %1 T茅l茅chargement annul茅: %1 - + Error opening save file: %1 Erreur 脿 l'ouverture du fichier destination: %1 - + Error saving: %1 Erreur 脿 l'enregistrement: %1 - + Network Error: %1 Erreur r茅seau: %1 - + seconds secondes minutes - minutes + minutes - %4 %5 remaining - - %4 %5 restant + - %4 %5 restant - + %1 of %2 (%3/sec) %4 %1 de %2 (%3/sec) %4 - + ? - + %1 of %2 - Stopped %1 de %2 - Interrompu - + bytes octets - + kB kO - + MB MO + + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + DownloadManager 1 Download - 1 t茅l茅chargement + 1 t茅l茅chargement %1 Downloads - %1 t茅l茅chargements + %1 t茅l茅chargements + + + + %n Download(s) + + + + HistoryDialog - + Open Ouvrir - + Copy Copier - + Delete Supprimer @@ -917,12 +1034,12 @@ Do you want to reload all pages? HistoryMenu - + Show All History Montrer tout l'historique - + Clear History Effacer l'historique @@ -930,12 +1047,12 @@ Do you want to reload all pages? HistoryModel - + Title Titre - + Address Adresse @@ -943,14 +1060,22 @@ Do you want to reload all pages? HistoryTreeModel - + Earlier Today Plut么t aujourd'hui %1 items - %1 items + %1 items + + + + %n item(s) + + + + @@ -1085,7 +1210,7 @@ Voulez-vous ignorer ses erreurs? SearchLineEdit - + Search Rechercher @@ -1103,313 +1228,368 @@ Voulez-vous ignorer ses erreurs? G茅n茅ral - + Home: Page d'accueil: - + Set to current page Utiliser la page en cours - + Remove history items: Retirer les 茅l茅ments de l'historique: - + After one day Apr猫s une journ茅e - + After one week Apr猫s une semaine - + After two weeks Apr猫s 2 semaines - + After one month Apr猫s un mois - + After one year Apr猫s un an - + Manually Manuellement - + Open links from applications: Ouvrir les liens provenant d'applications: - + In a tab in the current window Dans un onglet dans la fen锚tre en cours - + In a new window Dans une nouvelle fen锚tre - + Appearance Apparence - + Standard font: Police par d茅faut: - + Times 16 - + Select... S茅lectionner... - + Fixed-width font: Police 脿 espacement constant: - + Courier 13 - + Privacy Vie priv茅e - + Web Content Contenu Web - + Enable Plugins Activer les plugiciels - + Enable Javascript Activer le Javascript - + Cookies Fichier t茅moins - + Accept Cookies: Accepter les fichiers t茅moins: - + Always Toujours - + Never Jamais - + Only from sites you navigate to Seulement des sites que vous visitez - + Exceptions... Exceptions... - + Keep until: Expiration: - + They expire Lorsqu'ils expirent - + I exit the application Lorsque je quitte l'application - + At most 90 days Au plus tard dans 90 jours - + Cookies... Fichiers t茅moins... - + Proxy Serveur mandataire - + Enable proxy Activer le serveur mandataire - + Type: Type: - + Socks5 - + Http - + Host: H么te: - + Port: Port: - + User Name: Nom d'utilisateur: - + Password: Mot de passe: - + Advanced Avanc茅 - + Style Sheet: Feuille de style: - + Downloads T茅l茅chargements - + Ask for a destination each time Demander le dossier de destination 脿 chaque fois - + Use this destination: Utiliser ce dossier + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + On application exit + + + + + Enable Images + + + + + Tabs + + + + + Select tabs and windows as they are created + + + + + Confirm when closing multiple tabs + + TabBar - + New &Tab Nouvel onglet - + Duplicate Tab Dupliquer l'onglet - + &Close Tab Fermer l'onglet - + Close &Other Tabs Fermer les autres onglets - + Reload Tab Recharger l'onglet - + Reload All Tabs Recharger tous les onglets + + + Show Tab Bar + + + + + Hide Tab Bar + + TabWidget - + New &Tab Nouvel onglet - + &Close Tab Fermer l'onglet - + Show Next Tab Afficher l'onglet suivant - + Show Previous Tab Afficher l'onglet pr茅c茅dent - + Recently Closed Tabs Onglet r茅cement ferm茅s - + (Untitled) (Sans titre) - + Do you really want to close this page? Voulez-vous vraiment fermer cette page? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1444,7 +1624,7 @@ Voulez-vous vraiment fermer cette page? WebPage - + Error loading page: %1 Erreur au chargement de la page: %1 @@ -1452,60 +1632,65 @@ Voulez-vous vraiment fermer cette page? WebView - + Open in New &Window Ouvrir dans une &nouvelle fen锚tre - + Open in New &Tab Ouvrir dans un nouvel &onglet - + Save Lin&k Enregistrer le &lien - + &Bookmark This Link Marquer le lien - + &Copy Link Location Copier le lien - + Open Image in New &Window Ouvrir l'image dans une nouvelle fen锚tre - + Open Image in New &Tab Ouvrir l'image dans un nouvel onglet - + &Save Image Enregistrer l'image - + &Copy Image Copier l'image - + C&opy Image Location Copier l'adresse de l'image + + + Loading... + + WebViewSearch - + Not Found Non trouv茅 diff --git a/src/locale/it.ts b/src/locale/it.ts index 6b6b4f18..ae3916e9 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -1,13 +1,46 @@ - - + AboutDialog - + About Informazioni + + + Authors + + + + + License + + + + + Lightweight WebKit-based web browser + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + + AddBookmarkDialog @@ -35,7 +68,7 @@ Cancella - + New Folder Nuova Cartella @@ -151,7 +184,7 @@ BookmarksToolBar - + Bookmark Segnalibro @@ -159,391 +192,446 @@ BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Ci sono %1 finestre e %2 schede aperte Se sicuro di voler uscire? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File &File - + &New Window &Nuova Finestra - + &Open File... &Apri File... - + Open &Location... &Apri Indirizzo... - + &Save As... &Salva Con Nome... - + &Import Bookmarks... &Importa i Segnalibri... - + &Export Bookmarks... &Esporta i Segnalibri... - + P&rint Preview... An&teprima di Stampa... - + &Print... Stam&pa... - + Private &Browsing... &Navigazione Anonima... - + &Quit &Esci - + &Edit &Modifica - + &Undo &Annulla - + &Redo &Ripeti - + Cu&t &Taglia - + &Copy &Copia - + &Paste &Incolla - + &Find &Cerca &Find Next - &Cerca il Successivo + &Cerca il Successivo &Find Previous - &Cerca il Precedente + &Cerca il Precedente &Preferences - &Preferenze + &Preferenze - + Ctrl+, Ctrl+, - + &View &Vista - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop &Ferma Reload Page - Ricarica la Pagina + Ricarica la Pagina &Make Text Bigger - &Ingrandisci il Testo + &Ingrandisci il Testo &Make Text Normal - &Dimensione Normale + &Dimensione Normale &Make Text Smaller - &Rimpicciolisci il Testo + &Rimpicciolisci il Testo - + Page S&ource &Sorgente della Pagina - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Schermo Intero - + Hi&story &Cronologia - + Back Indietro - + Forward Avanti - + Home Pagina Iniziale - + Restore Last Session Ripristina la Sessione Precedente - + &Bookmarks &Segnalibri - + Manage Bookmarks... Gestione dei Segnalibri... - + Add Bookmark... Aggiungi Segnalibro... - + &Window &Finestra - + &Tools &Strumenti - + Web &Search &Ricerca nel Web - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Abilita l'&Ispettore Web - + &Help &Aiuto - + About &Qt Informazioni su &Qt - + About &Arora Informazioni su &Arora - + Navigation Navigazione - + Show Status Bar Mostra la Barra di Stato - + Hide Status Bar Nascondi la Barra di Stato - + Show Toolbar Mostra la Barra Degli Strumenti - + Hide Toolbar Nascondi la Barra Degli Strumenti Show Bookmarks bar - Mostra la Barra Dei Segnalibri + Mostra la Barra Dei Segnalibri Hide Bookmarks bar - Nascondi la Barra Dei Segnalibri + Nascondi la Barra Dei Segnalibri - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Apri Risorsa Web - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Risorse Web (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - + Print Document Stampa Documento - + Are you sure you want to turn on private browsing? Sei sicuro di voler passare alla navigazione anonima? - + Are you sure you want to close the window? There are %1 tabs open Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte - + Page Source of %1 Sorgente di %1 - + Web Inspector Ispettore Web - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'ispettore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? - + Stop loading the current page Ferma il caricamento della pagina corrente - + Reload the current page Ricarica la pagina corrente - + Downloads Scaricamenti - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data &Cancella i Dati Privati - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Canc - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sul box di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i bottoni Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + ClearButton @@ -609,27 +697,27 @@ Vuoi ricaricare tutte le pagine? CookieExceptionsModel - + Website Sito - + Status Stato - + Allow Consenti - + Block Rifiuta - + Allow For Session Consenti nella Sessione @@ -637,32 +725,32 @@ Vuoi ricaricare tutte le pagine? CookieModel - + Website Sito - + Name Nome - + Path Percorso - + Secure Sicuro - + Expires Scade - + Contents Contenuti @@ -754,72 +842,72 @@ Vuoi ricaricare tutte le pagine? DownloadItem - + Save File Salva il File - + Download canceled: %1 Download annullato: %1 - + Error opening save file: %1 Errore salvando il file: %1 - + Error saving: %1 Errore durante il salvataggio: %1 - + Network Error: %1 Errore di Rete: %1 - + seconds secondi minutes - minuti + minuti - %4 %5 remaining - - %4 %5 rimanenti + - %4 %5 rimanenti - + %1 of %2 (%3/sec) %4 %1 di %2 (%3/sec) %4 - + ? ? - + %1 of %2 - Stopped %1 di %2 - Fermato - + bytes byte - + kB kB - + MB MB @@ -853,34 +941,58 @@ Vuoi ricaricare tutte le pagine? Open Apri + + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + DownloadManager 1 Download - 1 Scaricamento + 1 Scaricamento %1 Downloads - %2 Scaricamenti + %2 Scaricamenti + + + + %n Download(s) + + + + HistoryDialog - + Open Apri - + Copy Copia - + Delete Cancella @@ -903,12 +1015,12 @@ Vuoi ricaricare tutte le pagine? HistoryMenu - + Show All History Mostra tutta la Cronologia - + Clear History Cancella la Cronologia @@ -916,12 +1028,12 @@ Vuoi ricaricare tutte le pagine? HistoryModel - + Title Titolo - + Address Indirizzo @@ -929,14 +1041,22 @@ Vuoi ricaricare tutte le pagine? HistoryTreeModel - + Earlier Today Odierni %1 items - %1 elementi + %1 elementi + + + + %n item(s) + + + + @@ -1092,313 +1212,368 @@ Vuoi ignorare questi errori? Generali - + Home: Pagina iniziale: - + Set to current page Usa la pagina corrente - + Remove history items: Cancella gli elementi dalla cronologia: - + After one day Dopo un giorno - + After one week Dopo una settimana - + After two weeks Dopo due settimane - + After one month Dopo un mese - + After one year Dopo un anno - + Manually Manualmente - + Open links from applications: Apri i link dalle applicazioni: - + In a tab in the current window In una scheda nella finestra corrente - + In a new window In una nuova finestra - + Appearance Aspetto - + Fixed-width font: Carattere a larghezza fissa: - + Privacy Riservatezza - + Web Content Contenuto Web - + Enable Plugins Abilita i Plugin - + Enable Javascript Abilita il Javascript - + Cookies Cookie - + Accept Cookies: Accetta i Cookie - + Always Sempre - + Never Mai - + Only from sites you navigate to Solo dai siti che stai navigando - + Exceptions... Eccezioni... - + Keep until: Mantienili fino a che: - + They expire Scadono - + I exit the application Esci dall'applicazione - + At most 90 days Al massimo 90 giorni - + Cookies... Cookie... - + Proxy Proxy - + Enable proxy Abilita il proxy - + Type: Tipo: - + Socks5 Socks5 - + Http Http - + Host: Host: - + Port: Porta: - + User Name: Nome Utente: - + Password: Password: - + Advanced Avanzate - + Style Sheet: Stile Web: - + Downloads Scaricamenti - + Ask for a destination each time Chiedi la cartella di destinazione ogni volta - + Use this destination: Usa questa cartella di destinazione: - + Standard font: Font standard: - + Times 16 Times 16 - + Select... Scegli... - + Courier 13 Courier 13 + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + On application exit + + + + + Enable Images + + + + + Tabs + + + + + Select tabs and windows as they are created + + + + + Confirm when closing multiple tabs + + TabBar - + New &Tab &Nuova Scheda - + Duplicate Tab Duplica Scheda - + &Close Tab &Chiudi Scheda - + Close &Other Tabs Chiudi &Altre Schede - + Reload Tab Ricarica Scheda - + Reload All Tabs Ricarica Tutte le Schede + + + Show Tab Bar + + + + + Hide Tab Bar + + TabWidget - + New &Tab &Nuova Scheda - + &Close Tab &Chiudi la Scheda - + Show Next Tab Mostra la Scheda Successiva - + Show Previous Tab Mostra la Scheda Precedente - + Recently Closed Tabs Schede Chiuse di Recente - + (Untitled) (Senza titolo) - + Do you really want to close this page? Sei sicuro di voler chiudere questa pagina? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1433,7 +1608,7 @@ Sei sicuro di volerlo fare? WebPage - + Error loading page: %1 Errore aprendo la pagina: %1 @@ -1441,60 +1616,65 @@ Sei sicuro di volerlo fare? WebView - + Open in New &Window Apri in una Nuova &Finestra - + Open in New &Tab Apri in una Nuova &Scheda - + Save Lin&k Salva il Lin&k - + &Bookmark This Link Salva il Link nei Segnali&bri - + &Copy Link Location &Copia il link - + Open Image in New &Window Apri l'Immagine un una nuova &Finestra - + Open Image in New &Tab Apri l'Immagine in una nuova &Scheda - + &Save Image &Salva l'Immagine - + &Copy Image &Copia l'Immagine negli Appunti - + C&opy Image Location C&opia l'indirizzo dell'Immagine + + + Loading... + + WebViewSearch - + Not Found Non Trovato diff --git a/src/locale/nl.ts b/src/locale/nl.ts index b1ef6e52..e597aa3a 100644 --- a/src/locale/nl.ts +++ b/src/locale/nl.ts @@ -1,1576 +1,1682 @@ - - - - - AboutDialog - - - About - Over - - - - Authors - Auteurs - - - - License - Licentie - - - - Lightweight WebKit-based web browser - Lichte browser gebaseerd op WebKit - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - - - <a href="http://arora-browser.org">http://arora-browser.org</a> - <a href="http://arora-browser.org">http://arora-browser.org</a> - - - - Close - Sluiten - - - - AddBookmarkDialog - - - Add Bookmark - Bladwijzer toevoegen - - - - Type a name for the bookmark, and choose where to keep it. - Voer de naam voor de bladwijzer in, en kies waar op te slaan. - - - - BookmarksDialog - - - Open - Openen - - - - Open in New Tab - Openen in nieuwe tab - - - - Delete - Verwijderen - - - - New Folder - Nieuwe map - - - - Bookmarks - Bladwijzers - - - - &Remove - Ver&wijderen - - - - Add Folder - Map toevoegen - - - - BookmarksManager - - - Error when loading bookmarks on line %1, column %2: -%3 - Fout bij laden van bladwijzers op lijn %1, kolom %2: -%3 - - - - Toolbar Bookmarks - Werkbalkbladwijzers - - - - Menu - Menu - - - - Open File - Bestand openen - - - - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) - - - - Imported %1 - %1 ge茂mporteerd - - - - Save File - Bestand opslaan - - - - %1 Bookmarks.xbel - %1 Bookmarks.xbel - - - - Export error - Fout bij het exporteren - - - - error saving bookmarks - fout bij het opslaan van de bladwijzers - - - - Remove Bookmark - Bladwijzer verwijderen - - - - Insert Bookmark - Bladwijzer invoegen - - - - Name Change - Naam wijzigen - - - - Address Change - Adres wijzigen - - - - BookmarksModel - - - Title - Titel - - - - Address - Adres - - - - BookmarksToolBar - - - Bookmark - Bladwijzer - - - - BrowserApplication - - - There are %1 windows and %2 tabs open -Do you want to quit anyway? - Er zijn %1 vensters en %2 tabs geopend -Wilt u toch afsluiten? - - - - BrowserMainWindow - - - &File - &Bestand - - - - &New Window - &Nieuw venster - - - - &Open File... - Bestand &openen... - - - - Open &Location... - &Locatie openen... - - - - &Save As... - O&pslaan als... - - - - &Import Bookmarks... - Bladwijzers &importeren... - - - - &Export Bookmarks... - Bladwijzers &exporteren... - - - - P&rint Preview... - Afdruk&voorbeeld... - - - - &Print... - &Afdrukken... - - - - Private &Browsing... - Priv茅sur&fen... - - - - &Quit - &Afsluiten - - - - &Edit - &Bewerken - - - - &Undo - Onge&daan maken - - - - &Redo - Op&nieuw doen - - - - Cu&t - Kn&ippen - - - - &Copy - &Kopieren - - - - &Paste - Plakk&en - - - - &Find - &Zoeken - - - - &Find Next - Volgende &zoeken - - - - &Find Previous - Vorige &zoeken - - - - &Preferences - &Voorkeuren - - - - Ctrl+, - Ctrl+, - - - - &View - Bee&ld - - - - Ctrl+| - Ctrl+| - - - - Shift+Ctrl+B - Shift+Ctrl+B - - - - Ctrl+/ - Ctrl+/ - - - - &Stop - &Stoppen - - - - Reload Page - Pagina herladen - - - - &Make Text Bigger - Tekst groter &maken - - - - &Make Text Normal - Tekst normaal &maken - - - - &Make Text Smaller - Tekst kleiner &maken - - - - Page S&ource - Paginab&ron - - - - Ctrl+Alt+U - Ctrl+Alt+U - - - - &Full Screen - Volledig s&cherm - - - - Hi&story - &Geschiedenis - - - - Back - Terug - - - - Forward - Vooruit - - - - Home - Startpagina - - - - Restore Last Session - Vorige sessie herstellen - - - - &Bookmarks - Bladwi&jzers - - - - Manage Bookmarks... - Bladwijzers beheren... - - - - Add Bookmark... - Bladwijzer toevoegen... - - - - &Window - &Venster - - - - &Tools - H&ulpmiddelen - - - - Web &Search - Web&zoeken - - - - Ctrl+K - Web Search - Ctrl+K - - - - &Clear Private Data - Priv茅gegevens &wissen - - - - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete - - - - Enable Web &Inspector - Web &Inspector inschakelen - - - - &Help - &Help - - - - About &Qt - Over &Qt - - - - About &Arora - Over &Arora - - - - Navigation - Navigatie - - - - Show Status Bar - Statusbalk tonen - - - - Hide Status Bar - Statusbalk verbergen - - - - Show Toolbar - Werkbalk tonen - - - - Hide Toolbar - Werkbalk verbergen - - - - Show Bookmarks bar - Bladwijzerbalk tonen - - - - Hide Bookmarks bar - Bladwijzerbalk verbergen - - - - Arora - Arora - - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - - Open Web Resource - Webresources openen - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Webresources (*.html *.htm *.svg *.png *.gif *.svgz);;Alle bestanden(*.*) - - - - Print Document - Document afdrukken - - - - Are you sure you want to turn on private browsing? - Bent u zeker dat u priv茅surfen wilt inschakelen? - - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>Als priv茅surfen aan staat zullen sommige acties omtrent uw privacy worden uitgeschakeld:<ul><li> Webpagina's worden niet toegevoegd aan de geschiedenis.</li><li> Items worden automatisch verwijderd uit het Downloads-scherm.</li><li> Nieuwe cookies worden niet opgeslagen, huidige cookies kunnen niet worden bereikt.</li><li> Sitepictogrammen en sessie's worden niet opgeslagen.</li><li> Zoekopdrachten worden niet toegevoegd aan het pop-upmenu in de zoekbalk.</li></ul>Totdat u het venster sluit, kunt u nog altijd de Terug- en Vooruitknoppen gebruiken om terug te keren naar webpagina's die u heeft geopend. - - - - Are you sure you want to close the window? There are %1 tabs open - Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend - - - - Page Source of %1 - Paginabron van %1 - - - - Web Inspector - Web Inspector - - - - The web inspector will only work correctly for pages that were loaded after enabling. -Do you want to reload all pages? - De Web Inspector zal alleen correct werken voor pagina's die werden geladen na het inschakelen. -Wilt u alle pagina's herladen? - - - - Stop loading the current page - Stop het laden van deze pagina - - - - Reload the current page - Deze pagina herladen - - - - Downloads - Downloads - - - - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L - - - - ClearButton - - - Clear - Wissen - - - - ClearPrivateData - - - Clear Private Data - Priv茅gegevens wissen - - - - Clear the following items: - Volgende items wissen: - - - - &Browsing History - &Surfgeschiedenis - - - - &Download History - &Downloadgeschiedenis - - - - &Search History - &Zoekgeschiedenis - - - - &Cookies - &Cookies - - - - C&ache - Cac&he - - - - Website &Icons - Website&pictogrammen - - - - Clear &Private Data - Priv茅&gegevens wissen - - - - &Cancel - &Annuleren - - - - CookieExceptionsModel - - - Website - Website - - - - Status - Status - - - - Allow - Toestaan - - - - Block - Blokkeren - - - - Allow For Session - Voor deze sessie toestaan - - - - CookieModel - - - Website - Website - - - - Name - Naam - - - - Path - Pad - - - - Secure - Veilig - - - - Expires - Vervalt - - - - Contents - Inhoud - - - - CookiesDialog - - - Cookies - Cookies - - - - &Remove - Ver&wijderen - - - - Remove &All Cookies - &Alle cookies verwijderen - - - - CookiesExceptionsDialog - - - Cookie Exceptions - Cookie-uitzonderingen - - - - New Exception - Nieuwe uitzondering - - - - Domain: - Domein: - - - - Block - Blokkeren - - - - Allow For Session - Toestaan voor sessie - - - - Allow - Toestaan - - - - Exceptions - Uitzonderingen - - - - &Remove - Ver&wijderen - - - - Remove &All - &Alle verwijderen - - - - DownloadDialog - - - Downloads - Downloads - - - - Clean up - Opschonen - - - - 0 Items - 0 items - - - - DownloadItem - - - Form - - - - - Ico - - - - - Filename - Bestandsnaam - - - - Try Again - Opnieuw proberen - - - - Stop - Stoppen - - - - Open - Openen - - - - Save File - Bestand opslaan - - - - Download canceled: %1 - Download geannuleerd: %1 - - - - Error opening save file: %1 - Fout bij het opslaan van bestand: %1 - - - - Error saving: %1 - Fout bij opslaan: %1 - - - - Network Error: %1 - Netwerkfout: %1 - - - - seconds - seconden - - - - minutes - minuten - - - - - %4 %5 remaining - - %4 %5 resterend - - - - %1 of %2 (%3/sec) %4 - %1 van %2 (%3/sec) %4 - - - - ? - ? - - - - %1 of %2 - Stopped - %1 van %2 - Gestopt - - - - bytes - bytes - - - - kB - kB - - - - MB - MB - - - - DownloadManager - - - 1 Download - 1 download - - - - %1 Downloads - %1 downloads - - - - HistoryDialog - - - Open - Openen - - - - Copy - Kopieren - - - - Delete - Verwijderen - - - - History - Geschiedenis - - - - &Remove - Ver&wijderen - - - - Remove &All - &Alles verwijderen - - - - HistoryMenu - - - Show All History - Toon volledige geschiedenis - - - - Clear History - Geschiedenis wissen - - - - HistoryModel - - - Title - Titel - - - - Address - Adres - - - - HistoryTreeModel - - - Earlier Today - Eerder vandaag - - - - %1 items - %1 items - - - - NetworkAccessManager - - - <qt>Enter username and password for "%1" at %2</qt> - <qt>Voer gebruikersnaam en wachtwoord voor "%1" op %2 in</qt> - - - - <qt>Connect to proxy "%1" using:</qt> - <qt>Verbinden met proxy "%1" met:</qt> - - - - SSL Errors: - -%1 - -%2 - -Do you want to ignore these errors? - SSL-foutmeldingen: - -%1 - -%2 - -Wilt u deze foutmeldingen negeren? - - - - Do you want to accept all these certificates? - Wilt u al deze certificaten accepteren? - - - - PasswordDialog - - - Authentication Required - Authentificatie vereist - - - - DUMMY ICON - - - - - INTRO TEXT DUMMY - - - - - Username: - Gebruikersnaam: - - - - Password: - Wachtwoord: - - - - ProxyDialog - - - Proxy Authentication - Proxy-authentificatie - - - - ICON - ICON - - - - Connect to proxy - Met proxy verbinden - - - - Username: - Gebruikersnaam: - - - - Password: - Wachtwoord: - - - - QObject - - - The file is not an XBEL version 1.0 file. - Het bestand is geen XBEL 1.0-bestand. - - - - Unknown title - Onbekende titel - - - - SearchBanner - - - Form - - - - - TextLabel - - - - - < - < - - - - > - > - - - - Done - Klaar - - - - SearchLineEdit - - - Search - Zoeken - - - - Settings - - - Settings - Instellingen - - - - General - Algemeen - - - - Home: - Startpagina: - - - - Set to current page - Huidige pagina gebruiken - - - - Remove history items: - Geschiedenisitems verwijderen: - - - - After one day - Na 茅茅n dag - - - - After one week - Na 茅茅n week - - - - After two weeks - Na twee weken - - - - After one month - Na 茅茅n maand - - - - After one year - Na 茅茅n jaar - - - - Manually - Handmatig - - - - On application exit - Bij het afsluiten van het programma - - - - Open links from applications: - Links uit programma's openen: - - - - In a tab in the current window - In een tab in het huidige venster - - - - In a new window - In een nieuw venster - - - - Downloads - Downloads - - - - Ask for a destination each time - Elke keer om een bestemming vragen - - - - Use this destination: - Deze bestemming gebruiken: - - - - Appearance - Uiterlijk - - - - Standard font: - Standaard lettertype: - - - - Times 16 - Times 16 - - - - Select... - Selecteren... - - - - Fixed-width font: - Lettertype met vaste breedte: - - - - Courier 13 - Courier 13 - - - - Privacy - Privacy - - - - Web Content - Webinhoud - - - - Enable Plugins - Plugins inschakelen - - - - Enable Javascript - Javascript inschakelen - - - - Enable Images - Afbeeldingen toestaan - - - - Cookies - Cookies - - - - Accept Cookies: - Cookies accepteren: - - - - Always - Altijd - - - - Never - Nooit - - - - Only from sites you navigate to - Alleen van sites waar u heen surft - - - - Exceptions... - Uitzonderingen... - - - - Keep until: - Houden tot: - - - - They expire - Ze vervallen - - - - I exit the application - Ik het programma afsluit - - - - At most 90 days - Maximaal 90 dagen - - - - Cookies... - Cookies... - - - - Tabs - Tabs - - - - Select tabs and windows as they are created - Tabs en vensters selecteren als ze gemaakt worden - - - - Confirm when closing multiple tabs - Bevestiging vragen bij het sluiten van meerdere tabs - - - - Proxy - Proxy - - - - Enable proxy - Proxy inschakelen - - - - Type: - Type: - - - - Socks5 - Socks5 - - - - Http - Http - - - - Host: - Host: - - - - Port: - Poort: - - - - User Name: - Gebruikersnaam: - - - - Password: - Wachtwoord: - - - - Advanced - Geavanceerd - - - - Style Sheet: - Stijlblad: - - - - TabBar - - - Show Tab Bar - Tabbalk tonen - - - - Hide Tab Bar - Tabbalk verbergen - - - - New &Tab - Nieuwe &tab - - - - Duplicate Tab - Tab klonen - - - - &Close Tab - Tab &sluiten - - - - Close &Other Tabs - &Andere tabs sluiten - - - - Reload Tab - Tab herladen - - - - Reload All Tabs - Alle tabs herladen - - - - TabWidget - - - New &Tab - Nieuwe &tab - - - - &Close Tab - Tab &sluiten - - - - Show Next Tab - Volgende tab tonen - - - - Show Previous Tab - Vorige tab tonen - - - - Recently Closed Tabs - Kortgeleden gesloten tabs - - - - (Untitled) - (Zonder titel) - - - - Do you really want to close this page? - Bent u zeker dat u deze pagina wilt sluiten? - - - - You have modified this page and when closing it you would lose the modification. -Do you really want to close this page? - - U hebt deze pagina gewijzigd en als u deze sluit zult u de wijzigingen kwijtraken. -Bent u zeker dat u deze pagina wilt sluiten? - - - - - ToolbarSearch - - - Google - Google - - - - No Recent Searches - Geen recente zoekopdrachten - - - - Recent Searches - Recente zoekopdrachten - - - - Clear Recent Searches - Recente zoekopdrachten wissen - - - - WebPage - - - Error loading page: %1 - Fout bij het laden van de pagina: %1 - - - - WebView - - - Open in New &Window - In nieuw &venster openen - - - - Open in New &Tab - In nieuwe &tab openen - - - - Save Lin&k - L&ink opslaan - - - - &Bookmark This Link - &Bladwijzer maken van deze link - - - - &Copy Link Location - Linklocatie &kopieren - - - - Open Image in New &Window - Afbeelding openen in nieuw &venster - - - - Open Image in New &Tab - Afbeelding openen in nieuwe &tab - - - - &Save Image - Afbeelding &opslaan - - - - &Copy Image - Afbeelding &kopieren - - - - C&opy Image Location - Afbeeldingslocatie& kopieren - - - - Loading... - Laden... - - - - WebViewSearch - - - Not Found - Niet gevonden - - - + + + + AboutDialog + + + About + Over + + + + Authors + Auteurs + + + + License + Licentie + + + + Lightweight WebKit-based web browser + Lichte browser gebaseerd op WebKit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Sluiten + + + + AddBookmarkDialog + + + Add Bookmark + Bladwijzer toevoegen + + + + Type a name for the bookmark, and choose where to keep it. + Voer de naam voor de bladwijzer in, en kies waar op te slaan. + + + + BookmarksDialog + + + Open + Openen + + + + Open in New Tab + Openen in nieuwe tab + + + + Delete + Verwijderen + + + + New Folder + Nieuwe map + + + + Bookmarks + Bladwijzers + + + + &Remove + Ver&wijderen + + + + Add Folder + Map toevoegen + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Fout bij laden van bladwijzers op lijn %1, kolom %2: +%3 + + + + Toolbar Bookmarks + Werkbalkbladwijzers + + + + Menu + Menu + + + + Open File + Bestand openen + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 ge茂mporteerd + + + + Save File + Bestand opslaan + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Fout bij het exporteren + + + + error saving bookmarks + fout bij het opslaan van de bladwijzers + + + + Remove Bookmark + Bladwijzer verwijderen + + + + Insert Bookmark + Bladwijzer invoegen + + + + Name Change + Naam wijzigen + + + + Address Change + Adres wijzigen + + + + BookmarksModel + + + Title + Titel + + + + Address + Adres + + + + BookmarksToolBar + + + Bookmark + Bladwijzer + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Er zijn %1 vensters en %2 tabs geopend +Wilt u toch afsluiten? + + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + + + + BrowserMainWindow + + + &File + &Bestand + + + + &New Window + &Nieuw venster + + + + &Open File... + Bestand &openen... + + + + Open &Location... + &Locatie openen... + + + + &Save As... + O&pslaan als... + + + + &Import Bookmarks... + Bladwijzers &importeren... + + + + &Export Bookmarks... + Bladwijzers &exporteren... + + + + P&rint Preview... + Afdruk&voorbeeld... + + + + &Print... + &Afdrukken... + + + + Private &Browsing... + Priv茅sur&fen... + + + + &Quit + &Afsluiten + + + + &Edit + &Bewerken + + + + &Undo + Onge&daan maken + + + + &Redo + Op&nieuw doen + + + + Cu&t + Kn&ippen + + + + &Copy + &Kopieren + + + + &Paste + Plakk&en + + + + &Find + &Zoeken + + + + &Find Next + Volgende &zoeken + + + + &Find Previous + Vorige &zoeken + + + + &Preferences + &Voorkeuren + + + + Ctrl+, + Ctrl+, + + + + &View + Bee&ld + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &Stoppen + + + + Reload Page + Pagina herladen + + + + &Make Text Bigger + Tekst groter &maken + + + + &Make Text Normal + Tekst normaal &maken + + + + &Make Text Smaller + Tekst kleiner &maken + + + + Page S&ource + Paginab&ron + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + Volledig s&cherm + + + + Hi&story + &Geschiedenis + + + + Back + Terug + + + + Forward + Vooruit + + + + Home + Startpagina + + + + Restore Last Session + Vorige sessie herstellen + + + + &Bookmarks + Bladwi&jzers + + + + Manage Bookmarks... + Bladwijzers beheren... + + + + Add Bookmark... + Bladwijzer toevoegen... + + + + &Window + &Venster + + + + &Tools + H&ulpmiddelen + + + + Web &Search + Web&zoeken + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + Priv茅gegevens &wissen + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + Web &Inspector inschakelen + + + + &Help + &Help + + + + About &Qt + Over &Qt + + + + About &Arora + Over &Arora + + + + Navigation + Navigatie + + + + Show Status Bar + Statusbalk tonen + + + + Hide Status Bar + Statusbalk verbergen + + + + Show Toolbar + Werkbalk tonen + + + + Hide Toolbar + Werkbalk verbergen + + + + Show Bookmarks bar + Bladwijzerbalk tonen + + + + Hide Bookmarks bar + Bladwijzerbalk verbergen + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Webresources openen + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Webresources (*.html *.htm *.svg *.png *.gif *.svgz);;Alle bestanden(*.*) + + + + Print Document + Document afdrukken + + + + Are you sure you want to turn on private browsing? + Bent u zeker dat u priv茅surfen wilt inschakelen? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Als priv茅surfen aan staat zullen sommige acties omtrent uw privacy worden uitgeschakeld:<ul><li> Webpagina's worden niet toegevoegd aan de geschiedenis.</li><li> Items worden automatisch verwijderd uit het Downloads-scherm.</li><li> Nieuwe cookies worden niet opgeslagen, huidige cookies kunnen niet worden bereikt.</li><li> Sitepictogrammen en sessie's worden niet opgeslagen.</li><li> Zoekopdrachten worden niet toegevoegd aan het pop-upmenu in de zoekbalk.</li></ul>Totdat u het venster sluit, kunt u nog altijd de Terug- en Vooruitknoppen gebruiken om terug te keren naar webpagina's die u heeft geopend. + + + + Are you sure you want to close the window? There are %1 tabs open + Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend + + + + Page Source of %1 + Paginabron van %1 + + + + Web Inspector + Web Inspector + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + De Web Inspector zal alleen correct werken voor pagina's die werden geladen na het inschakelen. +Wilt u alle pagina's herladen? + + + + Stop loading the current page + Stop het laden van deze pagina + + + + Reload the current page + Deze pagina herladen + + + + Downloads + Downloads + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + ClearButton + + + Clear + Wissen + + + + ClearPrivateData + + + Clear Private Data + Priv茅gegevens wissen + + + + Clear the following items: + Volgende items wissen: + + + + &Browsing History + &Surfgeschiedenis + + + + &Download History + &Downloadgeschiedenis + + + + &Search History + &Zoekgeschiedenis + + + + &Cookies + &Cookies + + + + C&ache + Cac&he + + + + Website &Icons + Website&pictogrammen + + + + Clear &Private Data + Priv茅&gegevens wissen + + + + &Cancel + &Annuleren + + + + CookieExceptionsModel + + + Website + Website + + + + Status + Status + + + + Allow + Toestaan + + + + Block + Blokkeren + + + + Allow For Session + Voor deze sessie toestaan + + + + CookieModel + + + Website + Website + + + + Name + Naam + + + + Path + Pad + + + + Secure + Veilig + + + + Expires + Vervalt + + + + Contents + Inhoud + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + Ver&wijderen + + + + Remove &All Cookies + &Alle cookies verwijderen + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Cookie-uitzonderingen + + + + New Exception + Nieuwe uitzondering + + + + Domain: + Domein: + + + + Block + Blokkeren + + + + Allow For Session + Toestaan voor sessie + + + + Allow + Toestaan + + + + Exceptions + Uitzonderingen + + + + &Remove + Ver&wijderen + + + + Remove &All + &Alle verwijderen + + + + DownloadDialog + + + Downloads + Downloads + + + + Clean up + Opschonen + + + + 0 Items + 0 items + + + + DownloadItem + + + Form + + + + + Ico + + + + + Filename + Bestandsnaam + + + + Try Again + Opnieuw proberen + + + + Stop + Stoppen + + + + Open + Openen + + + + Save File + Bestand opslaan + + + + Download canceled: %1 + Download geannuleerd: %1 + + + + Error opening save file: %1 + Fout bij het opslaan van bestand: %1 + + + + Error saving: %1 + Fout bij opslaan: %1 + + + + Network Error: %1 + Netwerkfout: %1 + + + + seconds + seconden + + + + minutes + minuten + + + + - %4 %5 remaining + - %4 %5 resterend + + + + %1 of %2 (%3/sec) %4 + %1 van %2 (%3/sec) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 van %2 - Gestopt + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + + + + DownloadManager + + + 1 Download + 1 download + + + + %1 Downloads + %1 downloads + + + + %n Download(s) + + + + + + + + HistoryDialog + + + Open + Openen + + + + Copy + Kopieren + + + + Delete + Verwijderen + + + + History + Geschiedenis + + + + &Remove + Ver&wijderen + + + + Remove &All + &Alles verwijderen + + + + HistoryMenu + + + Show All History + Toon volledige geschiedenis + + + + Clear History + Geschiedenis wissen + + + + HistoryModel + + + Title + Titel + + + + Address + Adres + + + + HistoryTreeModel + + + Earlier Today + Eerder vandaag + + + + %1 items + %1 items + + + + %n item(s) + + + + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Voer gebruikersnaam en wachtwoord voor "%1" op %2 in</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Verbinden met proxy "%1" met:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL-foutmeldingen: + +%1 + +%2 + +Wilt u deze foutmeldingen negeren? + + + + Do you want to accept all these certificates? + Wilt u al deze certificaten accepteren? + + + + PasswordDialog + + + Authentication Required + Authentificatie vereist + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Gebruikersnaam: + + + + Password: + Wachtwoord: + + + + ProxyDialog + + + Proxy Authentication + Proxy-authentificatie + + + + ICON + ICON + + + + Connect to proxy + Met proxy verbinden + + + + Username: + Gebruikersnaam: + + + + Password: + Wachtwoord: + + + + QObject + + + The file is not an XBEL version 1.0 file. + Het bestand is geen XBEL 1.0-bestand. + + + + Unknown title + Onbekende titel + + + + SearchBanner + + + Form + + + + + TextLabel + + + + + < + < + + + + > + > + + + + Done + Klaar + + + + SearchLineEdit + + + Search + Zoeken + + + + Settings + + + Settings + Instellingen + + + + General + Algemeen + + + + Home: + Startpagina: + + + + Set to current page + Huidige pagina gebruiken + + + + Remove history items: + Geschiedenisitems verwijderen: + + + + After one day + Na 茅茅n dag + + + + After one week + Na 茅茅n week + + + + After two weeks + Na twee weken + + + + After one month + Na 茅茅n maand + + + + After one year + Na 茅茅n jaar + + + + Manually + Handmatig + + + + On application exit + Bij het afsluiten van het programma + + + + Open links from applications: + Links uit programma's openen: + + + + In a tab in the current window + In een tab in het huidige venster + + + + In a new window + In een nieuw venster + + + + Downloads + Downloads + + + + Ask for a destination each time + Elke keer om een bestemming vragen + + + + Use this destination: + Deze bestemming gebruiken: + + + + Appearance + Uiterlijk + + + + Standard font: + Standaard lettertype: + + + + Times 16 + Times 16 + + + + Select... + Selecteren... + + + + Fixed-width font: + Lettertype met vaste breedte: + + + + Courier 13 + Courier 13 + + + + Privacy + Privacy + + + + Web Content + Webinhoud + + + + Enable Plugins + Plugins inschakelen + + + + Enable Javascript + Javascript inschakelen + + + + Enable Images + Afbeeldingen toestaan + + + + Cookies + Cookies + + + + Accept Cookies: + Cookies accepteren: + + + + Always + Altijd + + + + Never + Nooit + + + + Only from sites you navigate to + Alleen van sites waar u heen surft + + + + Exceptions... + Uitzonderingen... + + + + Keep until: + Houden tot: + + + + They expire + Ze vervallen + + + + I exit the application + Ik het programma afsluit + + + + At most 90 days + Maximaal 90 dagen + + + + Cookies... + Cookies... + + + + Tabs + Tabs + + + + Select tabs and windows as they are created + Tabs en vensters selecteren als ze gemaakt worden + + + + Confirm when closing multiple tabs + Bevestiging vragen bij het sluiten van meerdere tabs + + + + Proxy + Proxy + + + + Enable proxy + Proxy inschakelen + + + + Type: + Type: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + Host: + + + + Port: + Poort: + + + + User Name: + Gebruikersnaam: + + + + Password: + Wachtwoord: + + + + Advanced + Geavanceerd + + + + Style Sheet: + Stijlblad: + + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + TabBar + + + Show Tab Bar + Tabbalk tonen + + + + Hide Tab Bar + Tabbalk verbergen + + + + New &Tab + Nieuwe &tab + + + + Duplicate Tab + Tab klonen + + + + &Close Tab + Tab &sluiten + + + + Close &Other Tabs + &Andere tabs sluiten + + + + Reload Tab + Tab herladen + + + + Reload All Tabs + Alle tabs herladen + + + + TabWidget + + + New &Tab + Nieuwe &tab + + + + &Close Tab + Tab &sluiten + + + + Show Next Tab + Volgende tab tonen + + + + Show Previous Tab + Vorige tab tonen + + + + Recently Closed Tabs + Kortgeleden gesloten tabs + + + + (Untitled) + (Zonder titel) + + + + Do you really want to close this page? + Bent u zeker dat u deze pagina wilt sluiten? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + U hebt deze pagina gewijzigd en als u deze sluit zult u de wijzigingen kwijtraken. +Bent u zeker dat u deze pagina wilt sluiten? + + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + Geen recente zoekopdrachten + + + + Recent Searches + Recente zoekopdrachten + + + + Clear Recent Searches + Recente zoekopdrachten wissen + + + + WebPage + + + Error loading page: %1 + Fout bij het laden van de pagina: %1 + + + + WebView + + + Open in New &Window + In nieuw &venster openen + + + + Open in New &Tab + In nieuwe &tab openen + + + + Save Lin&k + L&ink opslaan + + + + &Bookmark This Link + &Bladwijzer maken van deze link + + + + &Copy Link Location + Linklocatie &kopieren + + + + Open Image in New &Window + Afbeelding openen in nieuw &venster + + + + Open Image in New &Tab + Afbeelding openen in nieuwe &tab + + + + &Save Image + Afbeelding &opslaan + + + + &Copy Image + Afbeelding &kopieren + + + + C&opy Image Location + Afbeeldingslocatie& kopieren + + + + Loading... + Laden... + + + + WebViewSearch + + + Not Found + Niet gevonden + + + diff --git a/src/locale/pl.ts b/src/locale/pl.ts index 33d1c294..561eb882 100644 --- a/src/locale/pl.ts +++ b/src/locale/pl.ts @@ -1,13 +1,46 @@ - - + AboutDialog - + About O programie + + + Authors + + + + + License + + + + + Lightweight WebKit-based web browser + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + + AddBookmarkDialog @@ -40,7 +73,7 @@ Usu艅 - + New Folder Nowy katalog @@ -151,7 +184,7 @@ BookmarksToolBar - + Bookmark Zak艂adka @@ -159,391 +192,451 @@ BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Obecnie otwartych jest %1 okien i %2 kart Czy mimo to chcesz zako艅czy膰? + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow - + &File &Plik - + &New Window &Nowe okno - + &Open File... &Otw贸rz plik... - + Open &Location... Otw贸rz &lokacj臋... - + &Save As... Zapi&sz jako... - + &Import Bookmarks... &Importuj zak艂adki... - + &Export Bookmarks... &Eksportuj zak艂adki... - + P&rint Preview... Podgl膮d wyd&ruku... - + &Print... &Drukuj... - + Private &Browsing... &Prywatne przegl膮danie... - + &Quit &Zako艅cz - + &Edit &Edytuj - + &Undo &Cofnij - + &Redo &Pon贸w - + Cu&t Wy&tnij - + &Copy &Kopiuj - + &Paste &Wklej - + &Find &Znajd藕 &Find Next - &Znajd藕 nast臋pny + &Znajd藕 nast臋pny &Find Previous - &Znajd藕 poprzedni + &Znajd藕 poprzedni &Preferences - &Preferencje + &Preferencje - + Ctrl+, Ctrl+, - + &View &Widok - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop &Zatrzymaj Reload Page - Od艣wie偶 stron臋 + Od艣wie偶 stron臋 &Make Text Bigger - &Powi臋ksz rozmiar tekstu + &Powi臋ksz rozmiar tekstu &Make Text Normal - &Przywr贸膰 rozmiar tekstu + &Przywr贸膰 rozmiar tekstu &Make Text Smaller - &Zmniejsz rozmiar tekstu + &Zmniejsz rozmiar tekstu - + Page S&ource 殴r贸d艂&o strony - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Tryb pe艂noekranowy - + Hi&story Hi&storia - + Back Wstecz - + Forward Do przodu - + Home Strona domowa - + Restore Last Session Odtw贸rz ostatni膮 sesj臋 - + &Bookmarks &Zak艂adki - + Manage Bookmarks... Zarz膮dzaj zak艂adkami... - + Add Bookmark... Dodaj zak艂adk臋... - + &Window &Okno - + &Tools &Narz臋dzia - + Web &Search Wy&szukiwanie - + Ctrl+K Web Search Ctrl+K - + &Clear Private Data Wy&czy艣膰 prywatne dane - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - + Enable Web &Inspector W艂膮cz &inspektora stron - + &Help &Pomoc - + About &Qt Informacje o &Qt - + About &Arora Informacje o programie &Arora - + Navigation Nawigacja - + Show Status Bar Poka偶 pasek stanu - + Hide Status Bar Schowaj pasek stanu - + Show Toolbar Poka偶 pasek narz臋dziowy - + Hide Toolbar Schowaj pasek narz臋dziowy Show Bookmarks bar - Poka偶 pasek zak艂adek + Poka偶 pasek zak艂adek Hide Bookmarks bar - Schowaj pasek zak艂adek + Schowaj pasek zak艂adek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Otw贸rz plik internetowy - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Pliki internetowe (*.html *.htm *.svg *.png *.gif *.svgz);;Wszystkie pliki (*.*) - + Print Document Drukuj dokument - + Are you sure you want to turn on private browsing? Czy jeste艣 pewny 偶e chcesz w艂膮czy膰 prywatne przegl膮danie sieci? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>Kiedy prywatne przegl膮danie sieci jest w艂膮czone, niekt贸re dzia艂ania dotycz膮ce twojej prywatno艣ci s膮 wy艂膮czone:<ul><li> Strony internetowe nie s膮 dodawane do historii.</li><li> Lista pobierania jest automatycznie czyszczona.</li><li> Nowe ciasteczka nie s膮 zapisywane a dost臋p do przechowywanych jest uniemo偶liwiony.</li><li> Ikony stron nie s膮 przechowywane a sesje nie b臋d膮 zapisane.</li><li> Wyszukiwania nie s膮 dodawane do listy w menu pola wyszukiwania.</li></ul>Dop贸ki okno nie zostanie zamkni臋te, mo偶na u偶ywa膰 przycisk贸w Wstecz i Do przodu, by powr贸ci膰 do wcze艣niej otwartych stron. + <b>%1</b><br><br>Kiedy prywatne przegl膮danie sieci jest w艂膮czone, niekt贸re dzia艂ania dotycz膮ce twojej prywatno艣ci s膮 wy艂膮czone:<ul><li> Strony internetowe nie s膮 dodawane do historii.</li><li> Lista pobierania jest automatycznie czyszczona.</li><li> Nowe ciasteczka nie s膮 zapisywane a dost臋p do przechowywanych jest uniemo偶liwiony.</li><li> Ikony stron nie s膮 przechowywane a sesje nie b臋d膮 zapisane.</li><li> Wyszukiwania nie s膮 dodawane do listy w menu pola wyszukiwania.</li></ul>Dop贸ki okno nie zostanie zamkni臋te, mo偶na u偶ywa膰 przycisk贸w Wstecz i Do przodu, by powr贸ci膰 do wcze艣niej otwartych stron. - + Are you sure you want to close the window? There are %1 tabs open Czy jeste艣 pewien, 偶e chcesz zamkn膮膰 okno? %1 kart jest otwartch - + Page Source of %1 殴r贸d艂o strony %1 - + Web Inspector Inspektor stron - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Inspektor stron porawnie dzia艂a tylko dla stron, kt贸re zosta艂y za艂adowane po w艂膮czeniu inspektora. Czy chcesz od艣wie偶y膰 wszystkie strony? - + Stop loading the current page Zatrzymaj 艂adowenie strony - + Reload the current page Od艣wie偶 stron臋 - + Downloads Pobieranie - + Alt+Ctrl+L Download Manager Alt+Ctrl+L + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + ClearButton @@ -609,27 +702,27 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? CookieExceptionsModel - + Website Strona - + Status Stan - + Allow Zezw贸l - + Block Blokuj - + Allow For Session Zezw贸l na czas sesji @@ -637,32 +730,32 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? CookieModel - + Website Strona - + Name Nazwa - + Path 艢cie偶ka - + Secure Bezpieczne - + Expires Wygasa - + Contents Zawarto艣膰 @@ -784,103 +877,130 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Otw贸rz - + Save File Zapisz plik - + Download canceled: %1 Pobieranie anulowane: %1 - + Error opening save file: %1 B艂膮d przy otwieraniu zapisanego pliku: %1 - + Error saving: %1 B艂膮d przy zapisie: %1 - + Network Error: %1 B艂膮d sieci: %1 - + seconds sekund minutes - minut + minut - %4 %5 remaining - - %4 %5 pozosta艂o + - %4 %5 pozosta艂o - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/sek) %4 - + ? ? - + %1 of %2 - Stopped %1 z %2 - Zatrzymano - + bytes bajt贸w - + kB kB - + MB MB + + + - %n minutes remaining + + + + + + + + + - %n seconds remaining + + + + + + DownloadManager 1 Download - 1 pobieranie + 1 pobieranie %1 Downloads - %1 pobiera艅 + %1 pobiera艅 + + + + %n Download(s) + + + + + HistoryDialog - + Open Otw贸rz - + Copy Kopiuj - + Delete Skasuj @@ -903,12 +1023,12 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryMenu - + Show All History Poka偶 ca艂膮 histori臋 - + Clear History Wyczy艣膰 histori臋 @@ -916,12 +1036,12 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryModel - + Title Tytu艂 - + Address Adres @@ -929,14 +1049,23 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryTreeModel - + Earlier Today Dzisiaj %1 items - %1 element贸w + %1 element贸w + + + + %n item(s) + + + + + @@ -1074,7 +1203,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? SearchLineEdit - + Search Szukaj @@ -1092,313 +1221,368 @@ Czy chcesz zignorowa膰 te b艂臋dy? Og贸lne - + Home: Strona domowa: - + Set to current page Ustaw jako obecn膮 stron臋 - + Remove history items: Usu艅 elementy historii: - + After one day Po jednym dniu - + After one week Po tygodniu - + After two weeks Po dw贸ch tygodniach - + After one month Po miesi膮cu - + After one year Po roku - + Manually R臋cznie - + Open links from applications: Otw贸rz linki z aplikacji: - + In a tab in the current window W karcie w obecnym oknie - + In a new window W nowym oknie - + Downloads Pobieranie - + Ask for a destination each time Za ka偶dym razem pytaj o miejsce do zapisu - + Use this destination: U偶yj nast臋puj膮cego miejsca docelowego: - + Appearance Wygl膮d - + Standard font: Standardowa czcionka: - + Times 16 Times 16 - + Select... Wybierz... - + Fixed-width font: O sta艂ej szeroko艣ci: - + Courier 13 Courier 13 - + Privacy Prywatno艣膰 - + Web Content Zawarto艣膰 sieci - + Enable Plugins W艂膮cz wtyczki - + Enable Javascript W艂膮cz obs艂ug臋 j臋zyka Javascript - + Cookies Ciasteczka - + Accept Cookies: Akceptuj ciasteczka: - + Always Zawsze - + Never Nigdy - + Only from sites you navigate to Tylko ze stron, kt贸re odwiedzasz - + Exceptions... Wyj膮tki... - + Keep until: Przechowuj: - + They expire a偶 wygasn膮 - + I exit the application do zamkni臋cia programu - + At most 90 days najwy偶ej 90 dni - + Cookies... Ciasteczka... - + Proxy Proxy - + Enable proxy W艂膮cz proxy - + Type: Typ: - + Socks5 Socks5 - + Http Http - + Host: Host: - + Port: Port: - + User Name: Nazwa u偶ytkownika: - + Password: Has艂o: - + Advanced Zaawansowane - + Style Sheet: Arkusz styl贸w: + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + On application exit + + + + + Enable Images + + + + + Tabs + + + + + Select tabs and windows as they are created + + + + + Confirm when closing multiple tabs + + TabBar - + New &Tab Nowa &karta - + Duplicate Tab Duplikuj kart臋 - + &Close Tab &Zamknij kart臋 - + Close &Other Tabs Zamknij &inne karty - + Reload Tab Od艣wie偶 kart臋 - + Reload All Tabs Od艣wie偶 wszystkie karty + + + Show Tab Bar + + + + + Hide Tab Bar + + TabWidget - + New &Tab Nowa &karta - + &Close Tab &Zamknij kart臋 - + Show Next Tab Poka偶 nast臋pn膮 kart臋 - + Show Previous Tab Poka偶 poprzedni膮 kart臋 - + Recently Closed Tabs Ostatnio zamykane karty - + (Untitled) (Bez nazwy) - + Do you really want to close this page? Czy na pewno chcesz zamkn膮膰 t臋 stron臋? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1432,7 +1616,7 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebPage - + Error loading page: %1 B艂膮d podczas 艂adowania strony: %1 @@ -1440,60 +1624,65 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebView - + Open in New &Window Otw贸rz w nowym &oknie - + Open in New &Tab Otw贸rz w nowej &karcie - + Save Lin&k &Zapisz element docelowy - + &Bookmark This Link Dodaj ten odno艣nik do &zak艂adek - + &Copy Link Location &Kopiuj adres odno艣nika - + Open Image in New &Window Otw贸rz obrazek w nowym o&knie - + Open Image in New &Tab Otw贸rz obrazek w nowej k&arcie - + &Save Image &Zapisz obrazek - + &Copy Image &Kopiuj obrazek - + C&opy Image Location K&opiuj adres obrazka + + + Loading... + + WebViewSearch - + Not Found Nie znaleziono diff --git a/src/locale/pt_BR.ts b/src/locale/pt_BR.ts index 9a86664a..a3eca868 100644 --- a/src/locale/pt_BR.ts +++ b/src/locale/pt_BR.ts @@ -1,787 +1,883 @@ - - - + + + AboutDialog - About - Sobre + About + Sobre - - + + Authors + + + + License + + + + Lightweight WebKit-based web browser + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + + + + AddBookmarkDialog - Add Bookmark - Adicionar Favoritos + Add Bookmark + Adicionar Favoritos - Type a name for the bookmark, and choose where to keep it. - Digite o nome do favorito, e escolhe onde manter ele. + Type a name for the bookmark, and choose where to keep it. + Digite o nome do favorito, e escolhe onde manter ele. - - + + BookmarksDialog - Bookmarks - Favoritos + Bookmarks + Favoritos - &Remove - &Remover + &Remove + &Remover - Add Folder - Adicionar Pasta + Add Folder + Adicionar Pasta - Open - Abrir + Open + Abrir - Open in New Tab - Abrir em nova aba + Open in New Tab + Abrir em nova aba - Delete - Deletar + Delete + Deletar - New Folder - Nova Pasta + New Folder + Nova Pasta - - + + BookmarksManager - Error when loading bookmarks on line %1, column %2: + Error when loading bookmarks on line %1, column %2: %3 - Erro ao carregar favoritos na linha %1, coluna%2: + Erro ao carregar favoritos na linha %1, coluna%2: - Toolbar Bookmarks - + Toolbar Bookmarks + - Menu - Menu + Menu + Menu - Open File - Abrir Arquivo + Open File + Abrir Arquivo - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) - Imported %1 - Importado %1 + Imported %1 + Importado %1 - Save File - Salvar Arquivo + Save File + Salvar Arquivo - %1 Bookmarks.xbel - %1 Favoritos.xbel + %1 Bookmarks.xbel + %1 Favoritos.xbel - Export error - Erro na exporta莽茫o + Export error + Erro na exporta莽茫o - error saving bookmarks - erro salvando favoritos + error saving bookmarks + erro salvando favoritos - Remove Bookmark - Remover Favorito + Remove Bookmark + Remover Favorito - Insert Bookmark - Inserir Favorito + Insert Bookmark + Inserir Favorito - Name Change - Troca de Nome + Name Change + Troca de Nome - Address Change - Troca de Endere莽o + Address Change + Troca de Endere莽o - - + + BookmarksModel - Title - T铆tulo + Title + T铆tulo - Address - Endere莽o + Address + Endere莽o - - + + BookmarksToolBar - Bookmark - Favorito + Bookmark + Favorito - - + + BrowserApplication - There are %1 windows and %2 tabs open + There are %1 windows and %2 tabs open Do you want to quit anyway? - Existem %1 janelas e %2 abas abertas + Existem %1 janelas e %2 abas abertas Voc锚 deve sair de qualquer maneira? - - + + Restore failed + + + + The saved session will not being restored because last time it was restored Arora crashed. + + + + BrowserMainWindow - &File - &Arquivo + &File + &Arquivo - &New Window - &Nova Janela + &New Window + &Nova Janela - &Open File... - &Abrir Arquivo... + &Open File... + &Abrir Arquivo... - Open &Location... - Abrir &Endere莽o... + Open &Location... + Abrir &Endere莽o... - &Save As... - &Salvar Como... + &Save As... + &Salvar Como... - &Import Bookmarks... - &Importar Favoritos + &Import Bookmarks... + &Importar Favoritos - &Export Bookmarks... - &Exportar Favoritos + &Export Bookmarks... + &Exportar Favoritos - P&rint Preview... - Imp&rimir Previs茫o + P&rint Preview... + Imp&rimir Previs茫o - &Print... - Im&primir + &Print... + Im&primir - Private &Browsing... - + Private &Browsing... + - &Quit - &Sair + &Quit + &Sair - &Edit - &Editar + &Edit + &Editar - &Undo - &Desfazer + &Undo + &Desfazer - &Redo - &Refazer + &Redo + &Refazer - Cu&t - &Recortar + Cu&t + &Recortar - &Copy - &Colar + &Copy + &Colar - &Paste - &Colar + &Paste + &Colar - &Find - &Procurar + &Find + &Procurar - &Find Next - &Procurar Pr贸ximo + &Find Next + &Procurar Pr贸ximo - &Find Previous - &Procurar Anterior + &Find Previous + &Procurar Anterior - &Preferences - &Prefer锚ncias + &Preferences + &Prefer锚ncias - Ctrl+, - Ctrl+, + Ctrl+, + Ctrl+, - &View - &Visualizar + &View + &Visualizar - Shift+Ctrl+B - Shift+Ctrl+B + Shift+Ctrl+B + Shift+Ctrl+B - Ctrl+| - Ctrl+| + Ctrl+| + Ctrl+| - Ctrl+/ - Ctrl+/ + Ctrl+/ + Ctrl+/ - &Stop - &Parar + &Stop + &Parar - Reload Page - Recarregar P谩gina + Reload Page + Recarregar P谩gina - &Make Text Bigger - &Fazer Texto Maior + &Make Text Bigger + &Fazer Texto Maior - &Make Text Normal - &Fazer Texto Normal + &Make Text Normal + &Fazer Texto Normal - &Make Text Smaller - &Fazer Texto Menor + &Make Text Smaller + &Fazer Texto Menor - Page S&ource - C贸digo &Fonte + Page S&ource + C贸digo &Fonte - Ctrl+Alt+U - Ctrl+Alt+U + Ctrl+Alt+U + Ctrl+Alt+U - &Full Screen - &Tela Inteira + &Full Screen + &Tela Inteira - Hi&story - Hi&st贸rico + Hi&story + Hi&st贸rico - Back - Voltar + Back + Voltar - Forward - Avan莽ar + Forward + Avan莽ar - Home - P谩gina Inicial + Home + P谩gina Inicial - Restore Last Session - Restaurar 脷ltima Sess茫o + Restore Last Session + Restaurar 脷ltima Sess茫o - &Bookmarks - &Favoritos + &Bookmarks + &Favoritos - Manage Bookmarks... - Gerenciar Favoritos + Manage Bookmarks... + Gerenciar Favoritos - Add Bookmark... - Adicionar Favorito... + Add Bookmark... + Adicionar Favorito... - &Window - &Janela + &Window + &Janela - &Tools - &Ferramentas + &Tools + &Ferramentas - Web &Search - &Busca na Web + Web &Search + &Busca na Web - Ctrl+K - Web Search - Ctrl+K + Ctrl+K + Web Search + Ctrl+K - &Clear Private Data - &Limpar Dados Pessoais + &Clear Private Data + &Limpar Dados Pessoais - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete - Enable Web &Inspector - Ativar Web &Inspector + Enable Web &Inspector + Ativar Web &Inspector - &Help - &Ajuda + &Help + &Ajuda - About &Qt - Sobre &Qt + About &Qt + Sobre &Qt - About &Arora - Sobre &Arora + About &Arora + Sobre &Arora - Navigation - Navega莽茫o + Navigation + Navega莽茫o - Show Status Bar - Mostrar Barra de Status + Show Status Bar + Mostrar Barra de Status - Hide Status Bar - Esconder Barra de Status + Hide Status Bar + Esconder Barra de Status - Show Toolbar - Mostrar Barra de Ferramentas + Show Toolbar + Mostrar Barra de Ferramentas - Hide Toolbar - Esconder Barra de Ferramentas + Hide Toolbar + Esconder Barra de Ferramentas - Show Bookmarks bar - Mostrar barra de Favoritos + Show Bookmarks bar + Mostrar barra de Favoritos - Hide Bookmarks bar - Esconder barra de Favoritos + Hide Bookmarks bar + Esconder barra de Favoritos - Arora - Arora + Arora + Arora - %1 - Arora - Page title and Browser name - %1 - Arora + %1 - Arora + Page title and Browser name + %1 - Arora - Open Web Resource - Abrir Recurso Web + Open Web Resource + Abrir Recurso Web - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;Todos Arquivos (*.*) + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;Todos Arquivos (*.*) - Print Document - Imprimir Documento + Print Document + Imprimir Documento - Are you sure you want to turn on private browsing? - + Are you sure you want to turn on private browsing? + - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + - Are you sure you want to close the window? There are %1 tabs open - + Are you sure you want to close the window? There are %1 tabs open + - Page Source of %1 - C贸digo Fonte da p谩gina %1 + Page Source of %1 + C贸digo Fonte da p谩gina %1 - Web Inspector - Web Inspector + Web Inspector + Web Inspector - The web inspector will only work correctly for pages that were loaded after enabling. + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - + + + + Stop loading the current page + Parar de carregar a p谩gina atual + + + Reload the current page + Recarregar p谩gina atual + + + Downloads + Downloads + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + Find &Next + + + + Find P&revious + + + + Prefe&rences + + + + &Reload Page + - Stop loading the current page - Parar de carregar a p谩gina atual + Make Text &Bigger + - Reload the current page - Recarregar p谩gina atual + Make Text &Normal + - Downloads - Downloads + Make Text &Smaller + - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L + Show Bookmarks Bar + - - + + Hide Bookmarks Bar + + + + ClearButton - Clear - Limpar + Clear + Limpar - - + + ClearPrivateData - Clear Private Data - Limpar Dados Pessoais + Clear Private Data + Limpar Dados Pessoais - Clear the following items: - Limpar os seguintes itens: + Clear the following items: + Limpar os seguintes itens: - &Browsing History - &Navegar pelo Hist贸rico + &Browsing History + &Navegar pelo Hist贸rico - &Download History - &Baixar Hist贸rico + &Download History + &Baixar Hist贸rico - &Search History - &Buscar Hist贸rico + &Search History + &Buscar Hist贸rico - &Cookies - &Cookies + &Cookies + &Cookies - C&ache - C&ache + C&ache + C&ache - Website &Icons - &脥cones do Site + Website &Icons + &脥cones do Site - Clear &Private Data - Limpar Informa莽玫es &Pessoais + Clear &Private Data + Limpar Informa莽玫es &Pessoais - &Cancel - &Cancelar + &Cancel + &Cancelar - - + + CookieExceptionsModel - Website - Site + Website + Site - Status - Status + Status + Status - Allow - Permitir + Allow + Permitir - Block - Bloquear + Block + Bloquear - Allow For Session - Permitir Para Sess茫o + Allow For Session + Permitir Para Sess茫o - - + + CookieModel - Website - Site + Website + Site - Name - Nome + Name + Nome - Path - Caminho + Path + Caminho - Secure - Seguro + Secure + Seguro - Expires - Expira + Expires + Expira - Contents - Conte煤do + Contents + Conte煤do - - + + CookiesDialog - Cookies - Cookies + Cookies + Cookies - &Remove - &Remover + &Remove + &Remover - Remove &All Cookies - Remover &Todos Cookies + Remove &All Cookies + Remover &Todos Cookies - - + + CookiesExceptionsDialog - Cookie Exceptions - Exce莽茫o Cookie + Cookie Exceptions + Exce莽茫o Cookie - New Exception - Nova Exce莽茫o + New Exception + Nova Exce莽茫o - Domain: - Dom铆nio: + Domain: + Dom铆nio: - Block - Bloquear + Block + Bloquear - Allow For Session - Permitir para essa Sess茫o + Allow For Session + Permitir para essa Sess茫o - Allow - Permitir + Allow + Permitir - Exceptions - Exce莽玫es + Exceptions + Exce莽玫es - &Remove - &Remover + &Remove + &Remover - Remove &All - Remover &Todos + Remove &All + Remover &Todos - - + + DownloadDialog - Downloads - Downloads + Downloads + Downloads - Clean up - Limpar + Clean up + Limpar - 0 Items - 0 itens + 0 Items + 0 itens - - + + DownloadItem - Form - Formul谩rio + Form + Formul谩rio - Ico - Ico + Ico + Ico - Filename - Nome do Arquivo + Filename + Nome do Arquivo - Try Again - Tentar Novamente + Try Again + Tentar Novamente - Stop - Parar + Stop + Parar - Open - Abrir + Open + Abrir - Save File - Salvar Arquivo + Save File + Salvar Arquivo - Download canceled: %1 - Download cancelado: %1 + Download canceled: %1 + Download cancelado: %1 - Error opening save file: %1 - Erro abrindo arquivo saldo: %1 + Error opening save file: %1 + Erro abrindo arquivo saldo: %1 - Error saving: %1 - Erro salvando: %1 + Error saving: %1 + Erro salvando: %1 - Network Error: %1 - Erro na Rede: %1 + Network Error: %1 + Erro na Rede: %1 - seconds - segundos + seconds + segundos - minutes - minutos + minutes + minutos - - %4 %5 remaining - - %4 %5 restante + - %4 %5 remaining + - %4 %5 restante - %1 of %2 (%3/sec) %4 - %1 de %2 (%3/segundo) %4 + %1 of %2 (%3/sec) %4 + %1 de %2 (%3/segundo) %4 - ? - ? + ? + ? - %1 of %2 - Stopped - %1 de %2 - Parado + %1 of %2 - Stopped + %1 de %2 - Parado - bytes - bytes + bytes + bytes - kB - kB + kB + kB - MB - MB + MB + MB + + + - %n minutes remaining + + + + + + - %n seconds remaining + + + - - + + DownloadManager - 1 Download - 1 Download + 1 Download + 1 Download - %1 Downloads - %1 Downloads + %1 Downloads + %1 Downloads - - + + %n Download(s) + + + + + + HistoryDialog - History - Hist贸rico + History + Hist贸rico - &Remove - &Remover + &Remove + &Remover - Remove &All - Remover &Todos + Remove &All + Remover &Todos - Open - Abrir + Open + Abrir - Copy - Copiar + Copy + Copiar - Delete - Deletar + Delete + Deletar - - + + HistoryMenu - Show All History - Mostrar Todos Hist贸rico + Show All History + Mostrar Todos Hist贸rico - Clear History - Limpar Hist贸rico + Clear History + Limpar Hist贸rico - - + + HistoryModel - Title - T铆tulo + Title + T铆tulo - Address - Endere莽o + Address + Endere莽o - - + + HistoryTreeModel - Earlier Today - Hoje mais cedo + Earlier Today + Hoje mais cedo - %1 items - %1 itens + %1 items + %1 itens + + + %n item(s) + + + - - + + NetworkAccessManager - <qt>Enter username and password for "%1" at %2</qt> - <qt>Informe usu谩rio e senha para \"%1\" e \"%2\"</qt> + <qt>Enter username and password for "%1" at %2</qt> + <qt>Informe usu谩rio e senha para \"%1\" e \"%2\"</qt> - <qt>Connect to proxy "%1" using:</qt> - <qt>Conectar a proxy \"%1\" usando:</qt> + <qt>Connect to proxy "%1" using:</qt> + <qt>Conectar a proxy \"%1\" usando:</qt> - SSL Errors: + SSL Errors: %1 %2 Do you want to ignore these errors? - Erros SSL: + Erros SSL: %1 @@ -790,435 +886,483 @@ Do you want to ignore these errors? Voc锚 deseja ignorar esses erros? - Do you want to accept all these certificates? - Voc锚 deseja aceitar todos esses certificados? + Do you want to accept all these certificates? + Voc锚 deseja aceitar todos esses certificados? - - + + PasswordDialog - Authentication Required - Atentica莽茫o Requerida + Authentication Required + Atentica莽茫o Requerida - DUMMY ICON - + DUMMY ICON + - INTRO TEXT DUMMY - Texto de Introdu莽茫o + INTRO TEXT DUMMY + Texto de Introdu莽茫o - Username: - Usu谩rio: + Username: + Usu谩rio: - Password: - Senha: + Password: + Senha: - - + + ProxyDialog - Proxy Authentication - Autentica莽茫o Proxy + Proxy Authentication + Autentica莽茫o Proxy - ICON - ICON + ICON + ICON - Connect to proxy - Conectar a proxy + Connect to proxy + Conectar a proxy - Username: - Usu谩rio: + Username: + Usu谩rio: - Password: - Senha: + Password: + Senha: - - + + QObject - The file is not an XBEL version 1.0 file. - O arquivo n茫o 茅 um arquivo XBEL vers茫o 1.0 + The file is not an XBEL version 1.0 file. + O arquivo n茫o 茅 um arquivo XBEL vers茫o 1.0 - Unknown title - T铆tulo desconhecido + Unknown title + T铆tulo desconhecido - - + + SearchBanner - Form - Formul谩rio + Form + Formul谩rio - TextLabel - TextLabel + TextLabel + TextLabel - < - < + < + < - > - > + > + > - Done - Feito + Done + Feito - - + + SearchLineEdit - Search - Busca + Search + Busca - - + + Settings - Settings - Prefer锚ncias + Settings + Prefer锚ncias + + + General + Geral + + + Home: + P谩gtina Inicial: + + + Set to current page + Setar a p谩gina atual + + + Remove history items: + Remover itens do hist贸rico: + + + After one day + Depois de um dia + + + After one week + Depois de uma semana + + + After two weeks + Depois de 2 semanas + + + After one month + Depois de um m锚s - General - Geral + After one year + Depois de um ano - Home: - P谩gtina Inicial: + Manually + Manualmente - Set to current page - Setar a p谩gina atual + Open links from applications: + Abrir links de uma aplica莽茫o: - Remove history items: - Remover itens do hist贸rico: + In a tab in the current window + Em uma aba na janela atual - After one day - Depois de um dia + In a new window + Em uma nova janela - After one week - Depois de uma semana + Downloads + Downloads - After two weeks - Depois de 2 semanas + Ask for a destination each time + Perguntar um destino todas as vezes - After one month - Depois de um m锚s + Use this destination: + Use esse destino: - After one year - Depois de um ano + Appearance + Apar锚ncia - Manually - Manualmente + Standard font: + Fonte padr茫o: - Open links from applications: - Abrir links de uma aplica莽茫o: + Times 16 + Times 16 - In a tab in the current window - Em uma aba na janela atual + Select... + Selecionar... - In a new window - Em uma nova janela + Fixed-width font: + Fonte com largura fixa: - Downloads - Downloads + Courier 13 + Courier 13 - Ask for a destination each time - Perguntar um destino todas as vezes + Privacy + Privacidade - Use this destination: - Use esse destino: + Web Content + Conte煤do Web - Appearance - Apar锚ncia + Enable Plugins + Permitir Plugins - Standard font: - Fonte padr茫o: + Enable Javascript + Permitir JavaScript - Times 16 - Times 16 + Cookies + Cookies - Select... - Selecionar... + Accept Cookies: + Aceitar Cookies: - Fixed-width font: - Fonte com largura fixa: + Always + Sempre - Courier 13 - Courier 13 + Never + Nunca - Privacy - Privacidade + Only from sites you navigate to + Apenas sites que voc锚 navegar - Web Content - Conte煤do Web + Exceptions... + Exce莽玫es... - Enable Plugins - Permitir Plugins + Keep until: + Manter at茅: - Enable Javascript - Permitir JavaScript + They expire + Eles expirarem - Cookies - Cookies + I exit the application + Eu fecho a aplica莽茫o - Accept Cookies: - Aceitar Cookies: + At most 90 days + Mais de 90 dias - Always - Sempre + Cookies... + Cookies... - Never - Nunca + Proxy + Proxy - Only from sites you navigate to - Apenas sites que voc锚 navegar + Enable proxy + Ativar proxy - Exceptions... - Exce莽玫es... + Type: + Tipo: - Keep until: - Manter at茅: + Socks5 + Socks5 - They expire - Eles expirarem + Http + Http - I exit the application - Eu fecho a aplica莽茫o + Host: + Host: - At most 90 days - Mais de 90 dias + Port: + Porta: - Cookies... - Cookies... + User Name: + Usu谩rio: - Proxy - Proxy + Password: + Senha: - Enable proxy - Ativar proxy + Advanced + Avan莽ado - Type: - Tipo: + Style Sheet: + Folha de Estilo: - Socks5 - Socks5 + On startup: + - Http - Http + Show my home page + - Host: - Host: + Show a blank page + - Port: - Porta: + Restore windows and tabs from last time + - User Name: - Usu谩rio: + On application exit + - Password: - Senha: + Enable Images + - Advanced - Avan莽ado + Tabs + - Style Sheet: - Folha de Estilo: + Select tabs and windows as they are created + - - + + Confirm when closing multiple tabs + + + + TabBar - New &Tab - Nova &Aba + New &Tab + Nova &Aba + + + Duplicate Tab + Duplicar Aba - Duplicate Tab - Duplicar Aba + &Close Tab + &Fechar Aba - &Close Tab - &Fechar Aba + Close &Other Tabs + Fechar &Outras Abas - Close &Other Tabs - Fechar &Outras Abas + Reload Tab + Recarregar Aba - Reload Tab - Recarregar Aba + Reload All Tabs + Recarregar Todas as Abas - Reload All Tabs - Recarregar Todas as Abas + Show Tab Bar + - - + + Hide Tab Bar + + + + TabWidget - New &Tab - Nova &Aba + New &Tab + Nova &Aba - &Close Tab - &Fechar Aba + &Close Tab + &Fechar Aba - Show Next Tab - Mostrar Pr贸xima Aba + Show Next Tab + Mostrar Pr贸xima Aba - Show Previous Tab - Mostrar Aba Anterior + Show Previous Tab + Mostrar Aba Anterior - Recently Closed Tabs - Abas Recentemente Fechadas + Recently Closed Tabs + Abas Recentemente Fechadas - (Untitled) - (Sem T铆tulo) + (Untitled) + (Sem T铆tulo) - Do you really want to close this page? - Voc锚 deseja fechar essa p谩gina? + Do you really want to close this page? + Voc锚 deseja fechar essa p谩gina? - You have modified this page and when closing it you would lose the modification. + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? - Voc锚 modificou essa p谩gina e quando fechar voc锚 perder谩 as modifica莽玫es. + Voc锚 modificou essa p谩gina e quando fechar voc锚 perder谩 as modifica莽玫es. Voc锚 realmente deseja fechar essa p谩gina? - - + + ToolbarSearch - Google - Google + Google + Google - No Recent Searches - Sem Pesquisas Recentes + No Recent Searches + Sem Pesquisas Recentes - Recent Searches - Pesquisas Recentes + Recent Searches + Pesquisas Recentes - Clear Recent Searches - Limpar Pesquisas Recentes + Clear Recent Searches + Limpar Pesquisas Recentes - - + + WebPage - Error loading page: %1 - Erro carregando p谩gina: %1 + Error loading page: %1 + Erro carregando p谩gina: %1 - - + + WebView - Open in New &Window - Abrir em uma Nova &Janela + Open in New &Window + Abrir em uma Nova &Janela + + + Open in New &Tab + Abrir em uma Nova &Aba - Open in New &Tab - Abrir em uma Nova &Aba + Save Lin&k + Salvar Lin&k - Save Lin&k - Salvar Lin&k + &Bookmark This Link + &Adicionar Link a Favoritos - &Bookmark This Link - &Adicionar Link a Favoritos + &Copy Link Location + &Copar Endere莽o do Link - &Copy Link Location - &Copar Endere莽o do Link + Open Image in New &Window + Abrir Imagem em uma Nova &Janela - Open Image in New &Window - Abrir Imagem em uma Nova &Janela + Open Image in New &Tab + Abrir imagem em uma Nova &Aba - Open Image in New &Tab - Abrir imagem em uma Nova &Aba + &Save Image + &Salvar Imagem - &Save Image - &Salvar Imagem + &Copy Image + &Copiar Imagem - &Copy Image - &Copiar Imagem + C&opy Image Location + C&opiar Endere莽o da Imagem - C&opy Image Location - C&opiar Endere莽o da Imagem + Loading... + - - + + WebViewSearch - Not Found - N茫o Encontrado + Not Found + N茫o Encontrado - + diff --git a/src/locale/ru.ts b/src/locale/ru.ts index 9fb6d536..125c2e66 100644 --- a/src/locale/ru.ts +++ b/src/locale/ru.ts @@ -1,8 +1,7 @@ - - + - @default + Error 袨褕懈斜泻邪 @@ -18,6 +17,34 @@ About 袨 锌褉芯谐褉邪屑屑械 + + Authors + + + + License + + + + Lightweight WebKit-based web browser + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + + AddBookmarkDialog @@ -148,6 +175,14 @@ Do you want to quit anyway? 袨褌泻褉褘褌芯 %1 芯泻芯薪 懈 %2 胁泻谢邪写芯泻 袙褘 胁褋褢 褉邪胁薪芯 褏芯褌懈褌械 胁褘泄褌懈? + + Restore failed + + + + The saved session will not being restored because last time it was restored Arora crashed. + + BrowserMainWindow @@ -225,15 +260,15 @@ Do you want to quit anyway? &Find Next - 袧邪泄褌懈 &写邪谢械械 + 袧邪泄褌懈 &写邪谢械械 &Find Previous - 袧邪泄褌懈 锌褉械写&褘写褍褖械械 + 袧邪泄褌懈 锌褉械写&褘写褍褖械械 &Preferences - &袩邪褉邪屑械褌褉褘 + &袩邪褉邪屑械褌褉褘 Ctrl+, @@ -261,19 +296,19 @@ Do you want to quit anyway? Reload Page - 袨斜薪芯胁懈褌褜 褋褌褉邪薪懈褑褍 + 袨斜薪芯胁懈褌褜 褋褌褉邪薪懈褑褍 &Make Text Bigger - 校&胁械谢懈褔懈褌褜 + 校&胁械谢懈褔懈褌褜 &Make Text Normal - &袠褋褏芯写薪褘泄 褉邪蟹屑械褉 + &袠褋褏芯写薪褘泄 褉邪蟹屑械褉 &Make Text Smaller - 校&屑械薪褜褕懈褌褜 + 校&屑械薪褜褕懈褌褜 Page S&ource @@ -374,11 +409,11 @@ Do you want to quit anyway? Show Bookmarks bar - 袩芯泻邪蟹邪褌褜 锌邪薪械谢褜 蟹邪泻谢邪写芯泻 + 袩芯泻邪蟹邪褌褜 锌邪薪械谢褜 蟹邪泻谢邪写芯泻 Hide Bookmarks bar - 小泻褉褘褌褜 锌邪薪械谢褜 蟹邪泻谢邪写芯泻 + 小泻褉褘褌褜 锌邪薪械谢褜 蟹邪泻谢邪写芯泻 Arora @@ -450,7 +485,7 @@ Do you want to reload all pages? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>袙 褉械卸懈屑械 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈 芯褌泻谢褞褔邪褞褌褋褟 薪械泻芯褌芯褉褘械 写械泄褋褌胁懈褟, 褋胁褟蟹邪薪薪褘械 褋 胁邪褕械泄 邪薪芯薪懈屑薪芯褋褌褜褞:<ul><li> 袙械斜-褋褌褉邪薪懈褑褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 卸褍褉薪邪谢.</li><li> 肖邪泄谢褘 邪胁褌芯屑邪褌懈褔械褋泻懈 褍写邪谢褟褞褌褋褟 懈蟹 芯泻薪邪 蟹邪谐褉褍蟹芯泻.</li><li> 袧芯胁褘械 cookies 薪械 褋芯褏褉邪薪褟褞褌褋褟, 褌械泻褍褖懈械 cookies 薪械写芯褋褌褍锌薪褘.</li><li> 袟薪邪褔泻懈 褋邪泄褌芯胁 懈 褋械邪薪褋褘 薪械 褋芯褏褉邪薪褟褞褌褋褟.</li><li> 袩芯懈褋泻芯胁褘械 蟹邪锌褉芯褋褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 锌芯谢械 锌芯懈褋泻邪.</li></ul> 袩芯泻邪 胁褘 薪械 蟹邪泻褉芯械褌械 芯泻薪芯, 胁褘 胁褋褢 械褖褢 屑芯卸械褌械 薪邪卸懈屑邪褌褜 泻薪芯锌泻懈 袧邪蟹邪写 懈 袙锌械褉褢写 写谢褟 胁芯蟹胁褉邪褌邪 泻 褍卸械 锌芯褋械褖褢薪薪褘屑 褋褌褉邪薪懈褑邪屑. + <b>%1</b><br><br>袙 褉械卸懈屑械 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈 芯褌泻谢褞褔邪褞褌褋褟 薪械泻芯褌芯褉褘械 写械泄褋褌胁懈褟, 褋胁褟蟹邪薪薪褘械 褋 胁邪褕械泄 邪薪芯薪懈屑薪芯褋褌褜褞:<ul><li> 袙械斜-褋褌褉邪薪懈褑褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 卸褍褉薪邪谢.</li><li> 肖邪泄谢褘 邪胁褌芯屑邪褌懈褔械褋泻懈 褍写邪谢褟褞褌褋褟 懈蟹 芯泻薪邪 蟹邪谐褉褍蟹芯泻.</li><li> 袧芯胁褘械 cookies 薪械 褋芯褏褉邪薪褟褞褌褋褟, 褌械泻褍褖懈械 cookies 薪械写芯褋褌褍锌薪褘.</li><li> 袟薪邪褔泻懈 褋邪泄褌芯胁 懈 褋械邪薪褋褘 薪械 褋芯褏褉邪薪褟褞褌褋褟.</li><li> 袩芯懈褋泻芯胁褘械 蟹邪锌褉芯褋褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 锌芯谢械 锌芯懈褋泻邪.</li></ul> 袩芯泻邪 胁褘 薪械 蟹邪泻褉芯械褌械 芯泻薪芯, 胁褘 胁褋褢 械褖褢 屑芯卸械褌械 薪邪卸懈屑邪褌褜 泻薪芯锌泻懈 袧邪蟹邪写 懈 袙锌械褉褢写 写谢褟 胁芯蟹胁褉邪褌邪 泻 褍卸械 锌芯褋械褖褢薪薪褘屑 褋褌褉邪薪懈褑邪屑. &Clear Private Data @@ -461,6 +496,46 @@ Do you want to reload all pages? Clear Private Data Ctrl+Shift+Delete + + Find &Next + + + + Find P&revious + + + + Prefe&rences + + + + &Reload Page + + + + Make Text &Bigger + + + + Make Text &Normal + + + + Make Text &Smaller + + + + Show Bookmarks Bar + + + + Hide Bookmarks Bar + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + ClearButton @@ -659,11 +734,11 @@ Do you want to reload all pages? minutes - 屑懈薪褍褌 + 屑懈薪褍褌 - %4 %5 remaining - - %4 %5 芯褋褌邪谢芯褋褜 + - %4 %5 芯褋褌邪谢芯褋褜 %1 of %2 (%3/sec) %4 @@ -713,16 +788,40 @@ Do you want to reload all pages? Open 袨褌泻褉褘褌褜 + + - %n minutes remaining + + + + + + + + - %n seconds remaining + + + + + + DownloadManager 1 Download - 1 蟹邪谐褉褍蟹泻邪 + 1 蟹邪谐褉褍蟹泻邪 %1 Downloads - %1 蟹邪谐褉褍蟹芯泻 + %1 蟹邪谐褉褍蟹芯泻 + + + %n Download(s) + + + + + @@ -782,7 +881,15 @@ Do you want to reload all pages? %1 items - %1 褝谢械屑械薪褌芯胁 + %1 褝谢械屑械薪褌芯胁 + + + %n item(s) + + + + + @@ -1129,6 +1236,42 @@ Do you want to ignore these errors? Use this destination: 袠褋锌芯谢褜蟹芯胁邪褌褜 褝褌褍 锌邪锌泻褍 薪邪蟹薪邪褔械薪懈褟: + + On startup: + + + + Show my home page + + + + Show a blank page + + + + Restore windows and tabs from last time + + + + On application exit + + + + Enable Images + + + + Tabs + + + + Select tabs and windows as they are created + + + + Confirm when closing multiple tabs + + TabBar @@ -1156,6 +1299,14 @@ Do you want to ignore these errors? Reload All Tabs 袨斜薪芯胁懈褌褜 胁褋械 胁泻谢邪写泻懈 + + Show Tab Bar + + + + Hide Tab Bar + + TabWidget @@ -1264,6 +1415,10 @@ Do you really want to close this page? C&opy Image Location 袣芯锌懈褉芯胁邪褌褜 &邪写褉械褋 懈蟹芯斜褉邪卸械薪懈褟 + + Loading... + + WebViewSearch diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index 9e49f14d..1f020e2e 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -1,12 +1,45 @@ - - - + + AboutDialog - + About - 关于 + 锟斤拷锟斤拷 + + + + Authors + + + + + License + + + + + Lightweight WebKit-based web browser + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + @@ -14,13 +47,18 @@ Add Bookmark - 添加书签 + 锟斤拷锟斤拷锟斤拷签 Type a name for the bookmark, and choose where to keep it. - 请为此书签输入名称,然后选择位置保存。 + 锟斤拷为锟斤拷锟斤拷签锟斤拷锟斤拷锟斤拷锟狡o拷然锟斤拷选锟斤拷位锟矫憋拷锟芥。 + + + + Type a name for the bookmark, and choose where to keep it. + @@ -28,37 +66,37 @@ it. Open - 打开 + 锟斤拷锟斤拷 Delete - 删除 + 删锟斤拷 - + New Folder - 新建文件夹 + 锟铰斤拷锟侥硷拷锟斤拷 Bookmarks - 书签 + 锟斤拷签 &Remove - 移除(&R) + 锟狡筹拷(&R) Add Folder - 添加文件夹 + 锟斤拷锟斤拷锟侥硷拷锟斤拷 Open in New Tab - 在新标签中打开 + 锟斤拷锟铰憋拷签锟叫达拷锟斤拷 @@ -67,22 +105,22 @@ it. Error when loading bookmarks on line %1, column %2: %3 - 在打开书签的第 %1 行和 %2 列时出错: + 锟节达拷锟斤拷锟斤拷签锟侥碉拷 %1 锟叫猴拷 %2 锟斤拷时锟斤拷锟斤拷 Toolbar Bookmarks - 工具栏书签 + 锟斤拷锟斤拷锟斤拷锟角 Menu - 菜单 + 锟剿碉拷 Open File - 打开文件 + 锟斤拷锟斤拷锟侥硷拷 @@ -92,12 +130,12 @@ it. Imported %1 - 导入的 %1 + 锟斤拷锟斤拷锟斤拷 %1 Save File - 保存文件 + 锟斤拷锟斤拷锟侥硷拷 @@ -107,32 +145,32 @@ it. Export error - 导出错误 + 锟斤拷锟斤拷锟斤拷锟斤拷 error saving bookmarks - 保存书签时出错 + 锟斤拷锟斤拷锟斤拷签时锟斤拷锟斤拷 Remove Bookmark - 移除书签 + 锟狡筹拷锟斤拷签 Insert Bookmark - 插入书签 + 锟斤拷锟斤拷锟斤拷签 Name Change - 更改名称 + 锟斤拷锟斤拷锟斤拷锟斤拷 Address Change - 更改地址 + 锟斤拷锟侥碉拷址 @@ -140,327 +178,337 @@ it. Title - 标题 + 锟斤拷锟斤拷 Address - 地址 + 锟斤拷址 BookmarksToolBar - + Bookmark - 书签 + 锟斤拷签 BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? - 当前有 %1 个窗口和 %2 -个标签打开,您真的要退出吗? + 锟斤拷前锟斤拷 %1 锟斤拷诤锟 %2 +锟斤拷锟斤拷签锟津开o拷锟斤拷锟斤拷锟斤拷要锟剿筹拷锟斤拷锟斤拷 + + + + Restore failed + + + + + The saved session will not being restored because last time it was restored Arora crashed. + BrowserMainWindow - + &File - 文件(&F) + 锟侥硷拷(&F) - + &New Window - 新建窗口(&N) + 锟铰斤拷锟斤拷锟斤拷(&N) - + &Open File... - 打开文件(&O)... + 锟斤拷锟斤拷锟侥硷拷(&O)... - + Open &Location... - 打开位置(&L)... + 锟斤拷锟斤拷位锟斤拷(&L)... - + &Save As... - 另存为(&S)... + 锟斤拷锟斤拷为(&S)... - + &Import Bookmarks... - 导入书签(&I)... + 锟斤拷锟斤拷锟斤拷签(&I)... - + &Export Bookmarks... - 导出书签(&E)... + 锟斤拷锟斤拷锟斤拷签(&E)... - + P&rint Preview... - 打印预览(&r)... + 锟斤拷印预锟斤拷(&r)... - + &Print... - 打印(&P)... + 锟斤拷印(&P)... - + Private &Browsing... - 秘密浏览(&B)... + 锟斤拷锟斤拷锟斤拷锟斤拷(&B)... - + &Quit - 退出(&Q) + 锟剿筹拷(&Q) - + &Edit - 编辑(&E) + 锟洁辑(&E) - + &Undo - 撤销(&U) + 锟斤拷锟斤拷(&U) - + &Redo - 重做(&R) + 锟斤拷锟斤拷(&R) - + Cu&t - 剪切(&t) + 锟斤拷锟斤拷(&t) - + &Copy - 复制(&C) + 锟斤拷锟斤拷(&C) - + &Paste - 粘贴(&P) + 粘锟斤拷(&P) - + &Find - 搜索(&F) + 锟斤拷锟斤拷(&F) &Find Next - 搜索下一个(&F) + 锟斤拷锟斤拷锟斤拷一锟斤拷(&F) &Find Previous - 搜索前一个(&F) + 锟斤拷锟斤拷前一锟斤拷(&F) &Preferences - 选项(&P) + 选锟斤拷(&P) - + Ctrl+, Ctrl+, - + &View - 视图(&V) + 锟斤拷图(&V) - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop 停止(&S) Reload Page - 刷新页面 + 刷锟斤拷页锟斤拷 &Make Text Bigger - 增大文字(&M) + 锟斤拷锟斤拷锟斤拷锟斤拷(&M) &Make Text Normal - 恢复文字正常大小(&M) + 锟街革拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷小(&M) &Make Text Smaller - 缩小文字(&M) + 锟斤拷小锟斤拷锟斤拷(&M) - + Page S&ource - 页面源文件(&o) + 页锟斤拷源锟侥硷拷(&o) - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen - 全屏(&F) + 全锟斤拷(&F) - + Hi&story - 历史(&s) + 锟斤拷史(&s) - + Back - 后退 + 锟斤拷锟斤拷 - + Forward - 前进 + 前锟斤拷 - + Home - 主页 + 锟斤拷页 - + Restore Last Session - 恢复最后一次的会话 + 锟街革拷锟斤拷锟斤拷一锟轿的会话 - + &Bookmarks - 书签(&B) + 锟斤拷签(&B) - + Manage Bookmarks... - 管理书签... + 锟斤拷锟斤拷锟斤拷签... - + Add Bookmark... - 增加书签... + 锟斤拷锟斤拷锟斤拷签... - + &Window - 窗口(&W) + 锟斤拷锟斤拷(&W) - + &Tools - 工具(&T) + 锟斤拷锟斤拷(&T) - + Web &Search - Web搜索(&S) + Web锟斤拷锟斤拷(&S) - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Enable Web &Inspector - + &Help - 帮助(&H) + 锟斤拷锟斤拷(&H) - + About &Qt - 关于Qt(&Q) + 锟斤拷锟斤拷Qt(&Q) - + About &Arora - 关于Arora(&A) + 锟斤拷锟斤拷Arora(&A) - + Navigation - 导航 + 锟斤拷锟斤拷 - + Show Status Bar - 显示状态栏 + 锟斤拷示状态锟 - + Hide Status Bar - 隐藏状态栏 + 锟斤拷锟斤拷状态锟 - + Show Toolbar - 显示工具栏 + 锟斤拷示锟斤拷锟斤拷锟 - + Hide Toolbar - 隐藏工具栏 + 锟斤拷锟截癸拷锟斤拷锟 Show Bookmarks bar - 显示书签栏 + 锟斤拷示锟斤拷签锟 Hide Bookmarks bar - 隐藏书签栏 + 锟斤拷锟斤拷锟斤拷签锟 - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -468,7 +516,7 @@ Do you want to quit anyway? About - 关于 + 锟斤拷锟斤拷 @@ -477,33 +525,33 @@ facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. - Version %1<p>This demo demonstrates Qt's webkit + Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource - 开放网络资源 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷源 Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - 网络资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有的文件 + 锟斤拷锟斤拷锟斤拷源 (*.html *.htm *.svg *.png *.gif *.svgz);;锟斤拷锟叫碉拷锟侥硷拷 (*.*) - + Print Document - 打印文档 + 锟斤拷印锟侥碉拷 - + Are you sure you want to turn on private browsing? - 您确定要打开秘密浏览吗? + 锟斤拷确锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 @@ -514,22 +562,21 @@ be accessed, site icons wont be stored, session wont be saved, and searches are not addded to the pop-up menu in the Google search box. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>打开秘密浏览时,浏览的页面不会被添加到历史中,下载的内容会被自动从下载窗口种移除,新的cookie也不会被保存,当前的cookie也不能被访问,站点图标不会被保存,会话也将不被保存,搜索也不会添加到Google搜索框的弹出菜单中。在你关闭窗口前,你仍然可以使用前进和后退按钮来访问你曾经打开的页面。 + <b>%1</b><br><br>锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟揭筹拷娌伙拷岜伙拷锟斤拷拥锟斤拷锟绞凤拷校锟斤拷锟斤拷氐锟斤拷锟斤拷莼岜伙拷远锟斤拷锟斤拷锟斤拷卮锟斤拷锟斤拷锟斤拷瞥锟斤拷锟斤拷碌锟絚ookie也锟斤拷锟结被锟斤拷锟芥,锟斤拷前锟斤拷cookie也锟斤拷锟杰憋拷锟斤拷锟绞o拷站锟斤拷图锟疥不锟结被锟斤拷锟芥,锟结话也锟斤拷锟斤拷锟斤拷锟斤拷锟芥,锟斤拷锟斤拷也锟斤拷锟斤拷锟斤拷锟接碉拷Google锟斤拷锟斤拷锟斤拷锟侥碉拷锟斤拷锟剿碉拷锟叫★拷锟斤拷锟斤拷锟截闭达拷锟斤拷前锟斤拷锟斤拷锟斤拷然锟斤拷锟斤拷使锟斤拷前锟斤拷锟酵猴拷锟剿帮拷钮锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷蚩锟揭筹拷妗 Are you sure you want to close the window? There are %1 tab open - 您确定要关闭窗口吗? 当前已经打开了 %1 个标签。 + 锟斤拷确锟斤拷要锟截闭达拷锟斤拷锟斤拷锟斤拷 锟斤拷前锟窖撅拷锟斤拷锟斤拷锟斤拷 %1 锟斤拷锟斤拷签锟斤拷 - + Page Source of %1 - 页面 %1 的源码 + 页锟斤拷 %1 锟斤拷源锟斤拷 - + Web Inspector Web Inspector @@ -538,40 +585,40 @@ open The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - Web -inspactor只对启用后打开的页面有效。您是否要重新载入所有的页面? + Web +inspactor只锟斤拷锟斤拷锟矫猴拷锟津开碉拷页锟斤拷锟斤拷效锟斤拷锟斤拷锟角凤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷页锟芥? - + Stop loading the current page - 停止载入当前页面 + 停止锟斤拷锟诫当前页锟斤拷 - + Reload the current page - 重新载入当前页面 + 锟斤拷锟斤拷锟斤拷锟诫当前页锟斤拷 - + Downloads - 下载 + 锟斤拷锟斤拷 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data - 清除隐私数据(&C) + 锟斤拷锟斤拷锟斤拷私锟斤拷锟斤拷(&C) - + Ctrl+Shift+Delete Clear Private Data - Ctrl+Shift+Delete + Ctrl+Shift+Delete @@ -585,9 +632,74 @@ session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - -<b>%1</b><br><br>当秘密浏览启用时,涉及您个人隐私的操作是被禁止的:<ul><li> -页面不会被添加到历史中。</li><li>内容会被自动从下载窗口中移除。</li><li>新的cookie不能被保存,当前cookie不能访问。</li><li>站点图标不被保存。</li><li>搜索过的关键词不会被添加到搜索框的弹出菜单中</li></ul>在关闭窗口前,您仍然可以通过前进和后退按钮访问打开的页面。 + <b>%1</b><br><br>锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟芥及锟斤拷锟斤拷锟斤拷锟斤拷私锟侥诧拷锟斤拷锟角憋拷锟斤拷止锟侥o拷<ul><li> +页锟芥不锟结被锟斤拷锟接碉拷锟斤拷史锟叫★拷</li><li>锟斤拷锟捷会被锟皆讹拷锟斤拷锟斤拷锟截达拷锟斤拷锟斤拷锟狡筹拷锟斤拷</li><li>锟铰碉拷cookie锟斤拷锟杰憋拷锟斤拷锟芥,锟斤拷前cookie锟斤拷锟杰凤拷锟绞★拷</li><li>站锟斤拷图锟疥不锟斤拷锟斤拷锟芥。</li><li>锟斤拷锟斤拷锟斤拷锟侥关硷拷锟绞诧拷锟结被锟斤拷锟接碉拷锟斤拷锟斤拷锟斤拷锟侥碉拷锟斤拷锟剿碉拷锟斤拷</li></ul>锟节关闭达拷锟斤拷前锟斤拷锟斤拷锟斤拷然锟斤拷锟斤拷通锟斤拷前锟斤拷锟酵猴拷锟剿帮拷钮锟斤拷锟绞打开碉拷页锟芥。 + + + + Find &Next + + + + + Find P&revious + + + + + Prefe&rences + + + + + &Reload Page + + + + + Make Text &Bigger + + + + + Make Text &Normal + + + + + Make Text &Smaller + + + + + Show Bookmarks Bar + + + + + Hide Bookmarks Bar + + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + + + + + Are you sure you want to close the window? There are %1 tabs open + + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + @@ -595,7 +707,7 @@ opened. Clear - 清除 + 锟斤拷锟斤拷 @@ -603,27 +715,27 @@ opened. Clear Private Data - 清楚个人信息 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息 Clear the following items: - 清除以下内容: + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟捷o拷 &Browsing History - 浏览历史(&amo;B) + 锟斤拷锟斤拷锟斤拷史(B) &Download History - 下载历史(&D) + 锟斤拷锟斤拷锟斤拷史(&D) &Search History - 搜索历史(&S) + 锟斤拷锟斤拷锟斤拷史(&S) @@ -633,83 +745,83 @@ opened. C&ache - 缓存(&a) + 锟斤拷锟斤拷(&a) Website &Icons - 站点图标(&I) + 站锟斤拷图锟斤拷(&I) Clear &Private Data - 清除个人数据(&P) + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷(&P) &Cancel - 取消(&C) + 取锟斤拷(&C) CookieExceptionsModel - + Website - 站点 + 站锟斤拷 - + Status 状态 - + Allow - 允许 + 锟斤拷锟斤拷 - + Block - 拒绝 + 锟杰撅拷 - + Allow For Session - 对此会话允许 + 锟皆此会话锟斤拷锟斤拷 CookieModel - + Website - 站点 + 站锟斤拷 - + Name - 名称 + 锟斤拷锟斤拷 - + Path - 路径 + 路锟斤拷 - + Secure - 安全 + 锟斤拷全 - + Expires - 过期 + 锟斤拷锟斤拷 - + Contents - 内容 + 锟斤拷锟斤拷 @@ -722,12 +834,12 @@ opened. &Remove - 移除(&R) + 锟狡筹拷(&R) Remove &All Cookies - 移除所有的Cookie(&A) + 锟狡筹拷锟斤拷锟叫碉拷Cookie(&A) @@ -735,47 +847,47 @@ opened. Cookie Exceptions - 例外的Cookie + 锟斤拷锟斤拷锟斤拷Cookie New Exception - 新建例外 + 锟铰斤拷锟斤拷锟斤拷 Domain: - 域: + 锟斤拷锟斤拷 Block - 拒绝 + 锟杰撅拷 Allow For Session - 对所有的会话允许 + 锟斤拷锟斤拷锟叫的会话锟斤拷锟斤拷 Allow - 允许 + 锟斤拷锟斤拷 Exceptions - 例外 + 锟斤拷锟斤拷 &Remove - 移除(&R) + 锟狡筹拷(&R) Remove &All - 移除所有(&A) + 锟狡筹拷锟斤拷锟斤拷(&A) @@ -783,17 +895,17 @@ opened. Downloads - 下载 + 锟斤拷锟斤拷 Clean up - 清除 + 锟斤拷锟斤拷 0 Items - 0 个内容 + 0 锟斤拷锟斤拷锟斤拷 @@ -811,12 +923,12 @@ opened. Filename - 文件名 + 锟侥硷拷锟斤拷 Try Again - 重试 + 锟斤拷锟斤拷 @@ -826,162 +938,190 @@ opened. Open - 打开 + 锟斤拷锟斤拷 - + Save File - 保存文件 + 锟斤拷锟斤拷锟侥硷拷 - + Download canceled: %1 - 取消下载: %1 + 取锟斤拷锟斤拷锟截o拷 %1 - + Error opening save file: %1 - 打开已存文件错误: %1 + 锟斤拷锟斤拷锟窖达拷锟侥硷拷锟斤拷锟斤拷锟斤拷 %1 - + Error saving: %1 - 保存错误: %1 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 %1 - + Network Error: %1 - 网络错误: %1 + 锟斤拷锟斤拷锟斤拷锟斤拷: %1 - + seconds - + 锟斤拷 minutes - 分钟 + 锟斤拷锟斤拷 - %4 %5 remaining - - %4 %5 剩余 + - %4 %5 剩锟斤拷 - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 - + ? - + 锟斤拷 - + %1 of %2 - Stopped %1 z %2 - 停止 - + bytes bytes - + kB kB - + MB MB + + + - %n minutes remaining + + + + + + + - %n seconds remaining + + + + DownloadManager 1 Download - 1 个下载 + 1 锟斤拷锟斤拷锟斤拷 %1 Downloads - %1 个下载 + %1 锟斤拷锟斤拷锟斤拷 + + + + %n Download(s) + + + HistoryDialog - + Open - 打开 + 锟斤拷锟斤拷 - + Copy - 复制 + 锟斤拷锟斤拷 - + Delete - 删除 + 删锟斤拷 History - 历史 + 锟斤拷史 &Remove - 移除(&R) + 锟狡筹拷(&R) Remove &All - 移除全部(&A) + 锟狡筹拷全锟斤拷(&A) HistoryMenu - + Show All History - 显示全部历史 + 锟斤拷示全锟斤拷锟斤拷史 - + Clear History - 清除历史 + 锟斤拷锟斤拷锟斤拷史 HistoryModel - + Title - 标题 + 锟斤拷锟斤拷 - + Address - 地址 + 锟斤拷址 HistoryTreeModel - + Earlier Today - 今天早些时候 + 锟斤拷锟斤拷锟斤拷些时锟斤拷 %1 items - %1 条内容 + %1 锟斤拷锟斤拷锟斤拷 + + + + %n item(s) + + + @@ -990,15 +1130,15 @@ opened. <qt>Enter username and password for "%1" at %2</qt> - <qt>输入 "%1" 于 %2 -的用户名和密码</qt> + <qt>锟斤拷锟斤拷 "%1" 锟斤拷 %2 +锟斤拷锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷</qt> <qt>Connect to proxy "%1" using:</qt> - <qt>使用如下方式连接代理 -"%1":</qt> + <qt>使锟斤拷锟斤拷锟铰凤拷式锟斤拷哟锟斤拷锟 +"%1"锟斤拷</qt> @@ -1009,18 +1149,28 @@ using:</qt> %2 Do you want to ignore these errors? - SSL错误: + SSL锟斤拷锟斤拷: %1 %2 -您要忽略这些错误吗? +锟斤拷要锟斤拷锟斤拷锟斤拷些锟斤拷锟斤拷锟斤拷锟斤拷 Do you want to accept all these certificates? - 您要接受全部这些认证吗? + 锟斤拷要锟斤拷锟斤拷全锟斤拷锟斤拷些锟斤拷证锟斤拷锟斤拷 + + + + <qt>Enter username and password for "%1" at %2</qt> + + + + + <qt>Connect to proxy "%1" using:</qt> + @@ -1028,7 +1178,7 @@ Do you want to ignore these errors? Authentication Required - 需要认证 + 锟斤拷要锟斤拷证 @@ -1043,12 +1193,12 @@ Do you want to ignore these errors? Username: - 用户名: + 锟矫伙拷锟斤拷锟斤拷 Password: - 密码: + 锟斤拷锟诫: @@ -1056,7 +1206,7 @@ Do you want to ignore these errors? Proxy Authentication - 代理认证 + 锟斤拷锟斤拷锟斤拷证 @@ -1066,17 +1216,17 @@ Do you want to ignore these errors? Connect to proxy - 连接到代理 + 锟斤拷拥锟斤拷锟斤拷锟 Username: - 用户名: + 锟矫伙拷锟斤拷锟斤拷 Password: - 密码: + 锟斤拷锟诫: @@ -1084,12 +1234,12 @@ Do you want to ignore these errors? The file is not an XBEL version 1.0 file. - 此文件非XBEL 1.0版。 + 锟斤拷锟侥硷拷锟斤拷XBEL 1.0锟芥。 Unknown title - 未知标题 + 未知锟斤拷锟斤拷 @@ -1102,7 +1252,7 @@ Do you want to ignore these errors? TextLabel - 文字标签 + 锟斤拷锟街憋拷签 @@ -1117,15 +1267,15 @@ Do you want to ignore these errors? Done - 完成 + 锟斤拷锟斤拷 SearchLineEdit - + Search - 搜索 + 锟斤拷锟斤拷 @@ -1133,323 +1283,378 @@ Do you want to ignore these errors? Settings - 设定 + 锟借定 General - 通用 + 通锟斤拷 - + Home: - 主页: + 锟斤拷页锟斤拷 - + Set to current page - 使用当前页面 + 使锟矫碉拷前页锟斤拷 - + Remove history items: - 移除历史内容: + 锟狡筹拷锟斤拷史锟斤拷锟捷o拷 - + After one day - 一天后 + 一锟斤拷锟斤拷 - + After one week - 一周后 + 一锟杰猴拷 - + After two weeks - 两周后 + 锟斤拷芎锟 - + After one month - 一个月后 + 一锟斤拷锟铰猴拷 - + After one year - 一年后 + 一锟斤拷锟斤拷 - + Manually - 手动 + 锟街讹拷 Save downloads to: - 保存下载到: + 锟斤拷锟斤拷锟斤拷锟截碉拷锟斤拷 - + Open links from applications: - 在程序中打开链接: + 锟节筹拷锟斤拷锟叫达拷锟斤拷锟斤拷樱锟 - + In a tab in the current window - 在当前窗口的标签中 + 锟节碉拷前锟斤拷锟节的憋拷签锟斤拷 - + In a new window - 在新窗口中 + 锟斤拷锟铰达拷锟斤拷锟斤拷 - + Appearance - 外观 + 锟斤拷锟斤拷 - + Standard font: - 标准字体: + 锟斤拷准锟斤拷锟藉: - + Times 16 Times 16 - + Select... - 选择... + 选锟斤拷... - + Fixed-width font: - 等宽字体: + 锟饺匡拷锟斤拷锟藉: - + Courier 13 Courier 13 - + Privacy - 隐私 + 锟斤拷私 - + Web Content - Web内容 + Web锟斤拷锟斤拷 - + Enable Plugins - 启用插件 + 锟斤拷锟矫诧拷锟斤拷 - + Enable Javascript - 启用JavaScript + 锟斤拷锟斤拷JavaScript - + Cookies Cookies - + Accept Cookies: - 接受cookies: + 锟斤拷锟斤拷cookies锟斤拷 - + Always - 永远 + 锟斤拷远 - + Never - 永不 + 锟斤拷锟 - + Only from sites you navigate to - 只从这些你访问的 + 只锟斤拷锟斤拷些锟斤拷锟斤拷锟绞碉拷 - + Exceptions... - 例外... + 锟斤拷锟斤拷... - + Keep until: - 保存到: + 锟斤拷锟芥到锟斤拷 - + They expire - 过期 + 锟斤拷锟斤拷 - + I exit the application - 我退出程序 + 锟斤拷锟剿筹拷锟斤拷锟斤拷 - + At most 90 days - 最多90天 + 锟斤拷锟斤拷90锟斤拷 - + Cookies... Cookies... - + Proxy - 代理 + 锟斤拷锟斤拷 - + Enable proxy - 启用代理 + 锟斤拷锟矫达拷锟斤拷 - + Type: - 类型: + 锟斤拷锟酵o拷 - + Socks5 Socks5 - + Http Http - + Host: - 主机: + 锟斤拷锟斤拷锟斤拷 - + Port: - 端口: + 锟剿口o拷 - + User Name: - 用户名: + 锟矫伙拷锟斤拷锟斤拷 - + Password: - 密码: + 锟斤拷锟诫: - + Advanced - 高级 + 锟竭硷拷 - + Style Sheet: - 样式表: + 锟斤拷式锟斤拷 - + Downloads - 下载 + 锟斤拷锟斤拷 - + Ask for a destination each time - 每次都询问目的地 + 每锟轿讹拷询锟斤拷目锟侥碉拷 - + Use this destination: - 使用此目的地: + 使锟矫达拷目锟侥地o拷 + + + + On startup: + + + + + Show my home page + + + + + Show a blank page + + + + + Restore windows and tabs from last time + + + + + On application exit + + + + + Enable Images + + + + + Tabs + + + + + Select tabs and windows as they are created + + + + + Confirm when closing multiple tabs + TabBar - + New &Tab - 新建标签(&T) + 锟铰斤拷锟斤拷签(&T) - + Duplicate Tab - 复制标签 + 锟斤拷锟狡憋拷签 - + &Close Tab - 关闭标签(&C) + 锟截闭憋拷签(&C) - + Close &Other Tabs - 关闭其它标签(&O) + 锟截憋拷锟斤拷锟斤拷锟斤拷签(&O) - + Reload Tab - 重载标签 + 锟斤拷锟截憋拷签 - + Reload All Tabs - 重新载入所有标签 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫憋拷签 + + + + Show Tab Bar + + + + + Hide Tab Bar + TabWidget - + New &Tab - 新建标签(&T) + 锟铰斤拷锟斤拷签(&T) - + &Close Tab - 关闭标签(&C) + 锟截闭憋拷签(&C) - + Show Next Tab - 显示下一个标签 + 锟斤拷示锟斤拷一锟斤拷锟斤拷签 - + Show Previous Tab - 显示前一个标签 + 锟斤拷示前一锟斤拷锟斤拷签 - + Recently Closed Tabs - 最近关闭的标签 + 锟斤拷锟斤拷锟截闭的憋拷签 - + (Untitled) - 无标题 + 锟睫憋拷锟斤拷 - + Do you really want to close this page? - 您确定要关闭此页? + 锟斤拷确锟斤拷要锟截闭达拷页锟斤拷 @@ -1457,10 +1662,16 @@ Do you want to ignore these errors? modification. Do you really want to close this page? - -您已经修改了页面,关闭将导致您的修改丢失。您确定要关闭此页吗? + 锟斤拷锟窖撅拷锟睫革拷锟斤拷页锟芥,锟截闭斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟睫改讹拷失锟斤拷锟斤拷确锟斤拷要锟截闭达拷页锟斤拷锟斤拷 + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + + ToolbarSearch @@ -1472,25 +1683,25 @@ Do you really want to close this page? No Recent Searches - 无最近的搜索 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 Recent Searches - 最近的搜索 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 Clear Recent Searches - 清除最近的搜索 + 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 WebPage - + Error loading page: %1 - 载入页面: %1 发生错误 + 锟斤拷锟斤拷页锟芥: %1 锟斤拷锟斤拷锟斤拷锟斤拷 @@ -1498,66 +1709,70 @@ Do you really want to close this page? Open in New Tab - 在新标签中打开 + 锟斤拷锟铰憋拷签锟叫达拷锟斤拷 - + Open in New &Window - 在新窗口中打开(&W) + 锟斤拷锟铰达拷锟斤拷锟叫达拷锟斤拷(&W) - + Open in New &Tab - 在新标签中打开(&T) + 锟斤拷锟铰憋拷签锟叫达拷锟斤拷(&T) - + Save Lin&k - 保存链接(&k) + 锟斤拷锟斤拷锟斤拷锟(&k) - + &Bookmark This Link - 添加此链接到书签(&B) + 锟斤拷锟接达拷锟斤拷拥锟斤拷锟角(&B) - + &Copy Link Location - 复制链接(&C) + 锟斤拷锟斤拷锟斤拷锟(&C) - + Open Image in New &Window - 在新窗口中打开图片(&W) + 锟斤拷锟铰达拷锟斤拷锟叫达拷锟斤拷图片(&W) - + Open Image in New &Tab - 在新标签中打开图片(&T) + 锟斤拷锟铰憋拷签锟叫达拷锟斤拷图片(&T) - + &Save Image - 保存图片(&S) + 锟斤拷锟斤拷图片(&S) - + &Copy Image - 复制图片(&C) + 锟斤拷锟斤拷图片(&C) - + C&opy Image Location - 复制图片地址(&o) + 锟斤拷锟斤拷图片锟斤拷址(&o) + + + + Loading... + WebViewSearch - + Not Found - 未发现 + 未锟斤拷锟斤拷 - From 589c809bd4edff220af379d646d85a9790f16fe5 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 3 Jul 2008 20:46:40 +0200 Subject: [PATCH 0071/1254] Update Italian translation --- src/locale/it.ts | 329 +++++++++++++++++++++-------------------------- 1 file changed, 144 insertions(+), 185 deletions(-) diff --git a/src/locale/it.ts b/src/locale/it.ts index ae3916e9..23e2c488 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -1,26 +1,17 @@ - - + + + AboutDialog About Informazioni - - - Authors - - - - - License - - Lightweight WebKit-based web browser - + Browser Web leggero basato su WebKit @@ -29,17 +20,27 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> - + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Authors + Autori + + + + License + Licenza Close - + Chiudi @@ -199,438 +200,401 @@ Do you want to quit anyway? Se sicuro di voler uscire? - + Restore failed - + Ripristino fallito - + The saved session will not being restored because last time it was restored Arora crashed. - + La sessione salvata non sar脿 ripristinata perch猫 l'ultima volta che 猫 stata ripristinata Arora 猫 andata in crash. BrowserMainWindow - + &File &File - + &New Window &Nuova Finestra - + &Open File... &Apri File... - + Open &Location... &Apri Indirizzo... - + &Save As... &Salva Con Nome... - + &Import Bookmarks... &Importa i Segnalibri... - + &Export Bookmarks... &Esporta i Segnalibri... - + P&rint Preview... An&teprima di Stampa... - + &Print... Stam&pa... - + Private &Browsing... &Navigazione Anonima... - + &Quit &Esci - + &Edit &Modifica - + &Undo &Annulla - + &Redo &Ripeti - + Cu&t &Taglia - + &Copy &Copia - + &Paste &Incolla - + &Find &Cerca - + &Find Next - &Cerca il Successivo + &Cerca il Successivo - + &Find Previous - &Cerca il Precedente + &Cerca il Precedente - + &Preferences - &Preferenze + &Preferenze - + Ctrl+, Ctrl+, - + &View &Vista - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop &Ferma - + Reload Page - Ricarica la Pagina + Ricarica la Pagina - + &Make Text Bigger - &Ingrandisci il Testo + &Ingrandisci il Testo - + &Make Text Normal - &Dimensione Normale + &Dimensione Normale - + &Make Text Smaller - &Rimpicciolisci il Testo + &Rimpicciolisci il Testo - + Page S&ource &Sorgente della Pagina - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Schermo Intero - + Hi&story &Cronologia - + Back Indietro - + Forward Avanti - + Home Pagina Iniziale - + Restore Last Session Ripristina la Sessione Precedente - + &Bookmarks &Segnalibri - + Manage Bookmarks... Gestione dei Segnalibri... - + Add Bookmark... Aggiungi Segnalibro... - + &Window &Finestra - + &Tools &Strumenti - + Web &Search &Ricerca nel Web - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Abilita l'&Ispettore Web - + &Help &Aiuto - + About &Qt Informazioni su &Qt - + About &Arora Informazioni su &Arora - + Navigation Navigazione - + Show Status Bar Mostra la Barra di Stato - + Hide Status Bar Nascondi la Barra di Stato - + Show Toolbar Mostra la Barra Degli Strumenti - + Hide Toolbar Nascondi la Barra Degli Strumenti - Show Bookmarks bar Mostra la Barra Dei Segnalibri - Hide Bookmarks bar Nascondi la Barra Dei Segnalibri - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Apri Risorsa Web - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Risorse Web (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - + Print Document Stampa Documento - + Are you sure you want to turn on private browsing? Sei sicuro di voler passare alla navigazione anonima? - + Are you sure you want to close the window? There are %1 tabs open Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte - + Page Source of %1 Sorgente di %1 - + Web Inspector Ispettore Web - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'ispettore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? - + Stop loading the current page Ferma il caricamento della pagina corrente - + Reload the current page Ricarica la pagina corrente - + Downloads Scaricamenti - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data &Cancella i Dati Privati - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Canc - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sul box di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i bottoni Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. - - Find &Next - - - - - Find P&revious - - - - - Prefe&rences - - - - - &Reload Page - - - - - Make Text &Bigger - - - - - Make Text &Normal - - - - - Make Text &Smaller - - - - + Show Bookmarks Bar - + Visualizza la barra dei Preferiti - + Hide Bookmarks Bar - + Nascondi la barra dei Preferiti @@ -872,12 +836,10 @@ Vuoi ricaricare tutte le pagine? secondi - minutes minuti - - %4 %5 remaining - %4 %5 rimanenti @@ -944,38 +906,36 @@ Vuoi ricaricare tutte le pagine? - %n minutes remaining - - - + + - %n minuto rimanente + - %n minuti rimanenti - %n seconds remaining - - - + + - %n secondo rimanente + - %n secondi rimanenti DownloadManager - 1 Download 1 Scaricamento - %1 Downloads %2 Scaricamenti %n Download(s) - - - + + %n Scaricamento + %n Scaricamenti @@ -1046,16 +1006,15 @@ Vuoi ricaricare tutte le pagine? Odierni - %1 items %1 elementi %n item(s) - - - + + %n elemento + %n elementi @@ -1449,131 +1408,131 @@ Vuoi ignorare questi errori? On startup: - + In fase di avvio: Show my home page - + Mostra la home page Show a blank page - + Mostra pagina vuota Restore windows and tabs from last time - + Ripristina le finestre ed i tabs dell'ultima sessione On application exit - + In fase di chiusura Enable Images - + Abilita immagini Tabs - + Tabs Select tabs and windows as they are created - + Seleziona tabs e finestre a seconda di come sono state create Confirm when closing multiple tabs - + Chiedi conferma durante la chiusura di tab multipli TabBar - + New &Tab &Nuova Scheda - + Duplicate Tab Duplica Scheda - + &Close Tab &Chiudi Scheda - + Close &Other Tabs Chiudi &Altre Schede - + Reload Tab Ricarica Scheda - + Reload All Tabs Ricarica Tutte le Schede - + Show Tab Bar - + Visualizza la barra dei Tab - + Hide Tab Bar - + Nascondi la barra dei Tab TabWidget - + New &Tab &Nuova Scheda - + &Close Tab &Chiudi la Scheda - + Show Next Tab Mostra la Scheda Successiva - + Show Previous Tab Mostra la Scheda Precedente - + Recently Closed Tabs Schede Chiuse di Recente - + (Untitled) (Senza titolo) - + Do you really want to close this page? Sei sicuro di voler chiudere questa pagina? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1668,7 +1627,7 @@ Sei sicuro di volerlo fare? Loading... - + Caricamento in corso ... From e70ac01e7b82a4c89052e2936376ed69747c66b6 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 8 Jul 2008 19:03:11 +0200 Subject: [PATCH 0072/1254] When only a hostname and port are entered in the url prepend http:// Issue:128 --- src/browsermainwindow.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 6819cc44..9c1738d4 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -650,9 +650,14 @@ void BrowserMainWindow::slotViewStatusbar() QUrl BrowserMainWindow::guessUrlFromString(const QString &string) { QString urlStr = string.trimmed(); - QRegExp test(QLatin1String("^[a-zA-Z]+\\:.*")); + + // check if the string is just a host with a port + QRegExp hostWithPort(QLatin1String("^[a-zA-Z\\.]+\\:[0-9]*$")); + if (hostWithPort.exactMatch(urlStr)) + urlStr = QLatin1String("http://") + urlStr; // Check if it looks like a qualified URL. Try parsing it and see. + QRegExp test(QLatin1String("^[a-zA-Z]+\\:.*")); bool hasSchema = test.exactMatch(urlStr); if (hasSchema) { bool isAscii = true; From 82cc82f9b5121dbe11f32d41fab609b49f7d4dfa Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 8 Jul 2008 18:56:31 +0200 Subject: [PATCH 0073/1254] Update modeltest code to match Trolltech's svn --- autotests/modeltest/README | 2 +- autotests/modeltest/modeltest.cpp | 12 +----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/autotests/modeltest/README b/autotests/modeltest/README index 6a612613..f13e2af4 100644 --- a/autotests/modeltest/README +++ b/autotests/modeltest/README @@ -20,7 +20,7 @@ To Use the model test do the following: include(../path/to/dir/modeltest.pri) -2) Then in your source include "modeltest.h" and instantiate ModelTest with your model so the test can live for the lifetime of your model. For example: +2) Then in your source include "modeltest.h" and instantiate ModelTest with your model so the test can live for the lifetime of your model. For example: #include diff --git a/autotests/modeltest/modeltest.cpp b/autotests/modeltest/modeltest.cpp index 4a0a5360..e8a4dffe 100644 --- a/autotests/modeltest/modeltest.cpp +++ b/autotests/modeltest/modeltest.cpp @@ -416,17 +416,7 @@ void ModelTest::data() QVariant textAlignmentVariant = model->data(model->index(0, 0), Qt::TextAlignmentRole); if (textAlignmentVariant.isValid()) { int alignment = textAlignmentVariant.toInt(); - Q_ASSERT(alignment == Qt::AlignLeft || - alignment == Qt::AlignRight || - alignment == Qt::AlignHCenter || - alignment == Qt::AlignJustify || - alignment == Qt::AlignTop || - alignment == Qt::AlignBottom || - alignment == Qt::AlignVCenter || - alignment == Qt::AlignCenter || - alignment == Qt::AlignAbsolute || - alignment == Qt::AlignLeading || - alignment == Qt::AlignTrailing); + Q_ASSERT(alignment == (alignment & (Qt::AlignHorizontal_Mask | Qt::AlignVertical_Mask))); } // General Purpose roles that should return a QColor From e57c0610e4b43fab1dd2c60ee563c407bf822613 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 6 Jul 2008 18:07:06 +0200 Subject: [PATCH 0074/1254] Create utils directory to contain non-Arora specific classes and move sqeezelabel and autosaver into that directory. --- .gitignore | 1 + manualtests/manualtests.pro | 1 + manualtests/squeezelabel/main.cpp | 37 +++++++++++++++++++++++ manualtests/squeezelabel/squeezelabel.pro | 10 ++++++ src/src.pri | 6 ++-- src/utils/README | 1 + src/{ => utils}/autosaver.cpp | 0 src/{ => utils}/autosaver.h | 0 src/{ => utils}/squeezelabel.cpp | 0 src/{ => utils}/squeezelabel.h | 4 +++ src/utils/utils.pri | 10 ++++++ 11 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 manualtests/squeezelabel/main.cpp create mode 100644 manualtests/squeezelabel/squeezelabel.pro create mode 100644 src/utils/README rename src/{ => utils}/autosaver.cpp (100%) rename src/{ => utils}/autosaver.h (100%) rename src/{ => utils}/squeezelabel.cpp (100%) rename src/{ => utils}/squeezelabel.h (95%) create mode 100644 src/utils/utils.pri diff --git a/.gitignore b/.gitignore index db44a040..071a29c1 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ manualtests/bookmarks/bookmarks manualtests/downloadmanager/downloadmanager manualtests/history/history manualtests/searchlineedit/searchlineedit +manualtests/squeezelabel/squeezelabel manualtests/urllineedit/urllineedit manualtests/webviewsearch/webviewsearch diff --git a/manualtests/manualtests.pro b/manualtests/manualtests.pro index b61810c3..fb690ec6 100644 --- a/manualtests/manualtests.pro +++ b/manualtests/manualtests.pro @@ -3,5 +3,6 @@ SUBDIRS = bookmarks \ downloadmanager \ history \ searchlineedit \ + squeezelabel \ urllineedit diff --git a/manualtests/squeezelabel/main.cpp b/manualtests/squeezelabel/main.cpp new file mode 100644 index 00000000..193ae101 --- /dev/null +++ b/manualtests/squeezelabel/main.cpp @@ -0,0 +1,37 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include +#include "squeezelabel.h" + +int main(int argc, char **argv) +{ + QApplication application(argc, argv); + + SqueezeLabel label; + if (application.arguments().count() > 1) + label.setText(application.arguments().value(1)); + else + label.setText("This is one long sentence that I will have to ponder the meaning of"); + label.show(); + label.resize(100, label.height()); + + return application.exec(); +} + diff --git a/manualtests/squeezelabel/squeezelabel.pro b/manualtests/squeezelabel/squeezelabel.pro new file mode 100644 index 00000000..675c6080 --- /dev/null +++ b/manualtests/squeezelabel/squeezelabel.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +include(../manualtests.pri) + +# Input +SOURCES = main.cpp squeezelabel.cpp +HEADERS = squeezelabel.h diff --git a/src/src.pri b/src/src.pri index 4ca1e450..04ed38fb 100644 --- a/src/src.pri +++ b/src/src.pri @@ -35,7 +35,6 @@ FORMS += \ HEADERS += \ aboutdialog.h \ - autosaver.h \ bookmarks.h \ browserapplication.h \ browsermainwindow.h \ @@ -49,7 +48,6 @@ HEADERS += \ networkaccessmanager.h \ searchlineedit.h \ settings.h \ - squeezelabel.h \ tabbar.h \ tabwidget.h \ toolbarsearch.h \ @@ -61,7 +59,6 @@ HEADERS += \ SOURCES += \ aboutdialog.cpp \ - autosaver.cpp \ bookmarks.cpp \ browserapplication.cpp \ browsermainwindow.cpp \ @@ -75,7 +72,6 @@ SOURCES += \ networkaccessmanager.cpp \ searchlineedit.cpp \ settings.cpp \ - squeezelabel.cpp \ tabbar.cpp \ tabwidget.cpp \ toolbarsearch.cpp \ @@ -85,6 +81,8 @@ SOURCES += \ webviewsearch.cpp \ xbel.cpp +include(utils/utils.pri) + RESOURCES += data/data.qrc \ htmls/htmls.qrc diff --git a/src/utils/README b/src/utils/README new file mode 100644 index 00000000..7527cfed --- /dev/null +++ b/src/utils/README @@ -0,0 +1 @@ +This directory contains stand alone utility classes that provide functionality beyond the normal Qt class or is a general purpose class that would be useful for multiple applications, not just Arora. All classes should have auto tests and manual tests were applicable. diff --git a/src/autosaver.cpp b/src/utils/autosaver.cpp similarity index 100% rename from src/autosaver.cpp rename to src/utils/autosaver.cpp diff --git a/src/autosaver.h b/src/utils/autosaver.h similarity index 100% rename from src/autosaver.h rename to src/utils/autosaver.h diff --git a/src/squeezelabel.cpp b/src/utils/squeezelabel.cpp similarity index 100% rename from src/squeezelabel.cpp rename to src/utils/squeezelabel.cpp diff --git a/src/squeezelabel.h b/src/utils/squeezelabel.h similarity index 95% rename from src/squeezelabel.h rename to src/utils/squeezelabel.h index bb7bcb2f..6d066fe3 100644 --- a/src/squeezelabel.h +++ b/src/utils/squeezelabel.h @@ -65,6 +65,10 @@ #include +/* + This class will paint the current text with an elided in the middle + if the width of the text is less then the width of the widget. +*/ class SqueezeLabel : public QLabel { Q_OBJECT diff --git a/src/utils/utils.pri b/src/utils/utils.pri new file mode 100644 index 00000000..c61ed3f8 --- /dev/null +++ b/src/utils/utils.pri @@ -0,0 +1,10 @@ +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD + +HEADERS += \ + autosaver.h \ + squeezelabel.h + +SOURCES += \ + autosaver.cpp \ + squeezelabel.cpp \ No newline at end of file From 492d8c3cb976ef823b2eb0b78fd05262cb96c739 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 6 Jul 2008 20:38:50 +0200 Subject: [PATCH 0075/1254] Add new LineEdit that handles adding side widgets in a clean, simple and elegant way. An excellent baseclass for a new LocationBar and a better SearchWidget. --- .gitignore | 1 + manualtests/lineedit/bookmark.png | Bin 0 -> 956 bytes manualtests/lineedit/dialog.ui | 282 ++++++++++++++++++++++++++++++ manualtests/lineedit/lineedit.pro | 11 ++ manualtests/lineedit/main.cpp | 141 +++++++++++++++ manualtests/lineedit/rss.png | Bin 0 -> 689 bytes manualtests/lineedit/siteicon.png | Bin 0 -> 777 bytes manualtests/manualtests.pro | 1 + src/utils/lineedit.cpp | 181 +++++++++++++++++++ src/utils/lineedit.h | 74 ++++++++ src/utils/lineedit_p.h | 69 ++++++++ src/utils/proxystyle.h | 100 +++++++++++ src/utils/utils.pri | 4 + 13 files changed, 864 insertions(+) create mode 100644 manualtests/lineedit/bookmark.png create mode 100644 manualtests/lineedit/dialog.ui create mode 100644 manualtests/lineedit/lineedit.pro create mode 100644 manualtests/lineedit/main.cpp create mode 100755 manualtests/lineedit/rss.png create mode 100644 manualtests/lineedit/siteicon.png create mode 100644 src/utils/lineedit.cpp create mode 100644 src/utils/lineedit.h create mode 100644 src/utils/lineedit_p.h create mode 100644 src/utils/proxystyle.h diff --git a/.gitignore b/.gitignore index 071a29c1..dee9ef21 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ autotests/xbel/xbel manualtests/bookmarks/bookmarks manualtests/downloadmanager/downloadmanager manualtests/history/history +manualtests/lineedit/lineedit manualtests/searchlineedit/searchlineedit manualtests/squeezelabel/squeezelabel manualtests/urllineedit/urllineedit diff --git a/manualtests/lineedit/bookmark.png b/manualtests/lineedit/bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..be21134bbd3e0662a23ccb6e5890a1b9029f8609 GIT binary patch literal 956 zcmV;t14I0YP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2hsrn z6%Q8(SfRoI00TTpL_t(I%WacSXdHDM#ozDuo7vf&>27xuvRN8yZHQJFtGy43#>gj{ywWq6PyC4{+R>upkTwk60=F%*k2* zK8Ade%`UexCUPVULz5=WNNYx^hT&jzr1HW-=g_yPUz`Gv3IM?26Bp3BJ?Wc+6!D^V z(|pzlnHnydeACzIt(NTn>GtJ~`er=8v>s(~ZxE%2_Mp3V-oVSBk7M!EqbSu#slL3t6_EgNqDW14MN7ZjyX(Iq+hoi3m`d zkZFP@LadO!_d{#0-VC}>Dg#LkB5A<1eI!91N)l8;zpVPnrQ5!E$*~*&UnEfEka!O)yRa!V+8qxY?H(HK9yMJLIUQ`XbuWjw#}Rh~ z;+_Fu*1+IX$FVj$jmTv%9e^7Uv1|NxCr-XzQtNj+NpE^jZus$vu05Rh2X1*y4`JIx z($iq#%!4aWy?+ubKfaFAj+Ad3k`rS)#I+`KiHit?1ZgBo+~-!@F#xAAKZnHM4lNZZ+kk0*kJ9e1 eaOGsQwf+~5Te_uGdsS5c0000 literal 0 HcmV?d00001 diff --git a/manualtests/lineedit/dialog.ui b/manualtests/lineedit/dialog.ui new file mode 100644 index 00000000..ea0676dc --- /dev/null +++ b/manualtests/lineedit/dialog.ui @@ -0,0 +1,282 @@ + + Dialog + + + + 0 + 0 + 603 + 366 + + + + Dialog + + + + + + + + Left: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Foo Bar Baz Arora LineEdit Manual Test This is the end + + + + + + + Right: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Foo Bar Baz Arora LineEdit Manual Test This is the end + + + + + + + Foo Bar Baz Arora LineEdit Manual Test This is the end + + + + + + + Empty: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Foo Bar Baz Arora LineEdit Manual Test + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Widget + + + + + + Site Icon + + + true + + + + + + + RSS + + + false + + + + + + + Bookmark + + + + + + + + + + Position + + + + + + Left + + + true + + + + + + + Right + + + + + + + + + + + 0 + 0 + + + + 3 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Add + + + + + + + Remove + + + + + + + swapVisibility + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Add ToolButton + + + + + + + + + Qt::Vertical + + + + 20 + 28 + + + + + + + + + LineEdit + QLineEdit +
lineedit.h
+
+
+ + +
diff --git a/manualtests/lineedit/lineedit.pro b/manualtests/lineedit/lineedit.pro new file mode 100644 index 00000000..a4490bcb --- /dev/null +++ b/manualtests/lineedit/lineedit.pro @@ -0,0 +1,11 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +include(../manualtests.pri) + +# Input +FORMS = dialog.ui +SOURCES = main.cpp lineedit.cpp +HEADERS = lineedit.h lineedit_p.h proxystyle.h diff --git a/manualtests/lineedit/main.cpp b/manualtests/lineedit/main.cpp new file mode 100644 index 00000000..c203a381 --- /dev/null +++ b/manualtests/lineedit/main.cpp @@ -0,0 +1,141 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include + +#include +#include "ui_dialog.h" + +class Dialog : public QDialog, public Ui_Dialog +{ + Q_OBJECT +public: + Dialog(QWidget *parent = 0); + + QLabel *rssButton; + QLabel *bookmarkButton; + QLabel *siteIconButton; + +private slots: + void setWidgetSpacing(int s); + void add(); + void remove(); + void showW(); + void addToolButton(); + + QWidget *getWidget(); +}; + +Dialog::Dialog(QWidget *parent) + : QDialog(parent) +{ + setupUi(this); + rssButton = new QLabel(this); + rssButton->setPixmap(QPixmap("rss.png")); + rssButton->hide(); + bookmarkButton = new QLabel(this); + bookmarkButton->setPixmap(QPixmap("bookmark.png")); + bookmarkButton->hide(); + siteIconButton = new QLabel(this); + siteIconButton->setPixmap(QPixmap("siteicon.png")); + siteIconButton->hide(); + + { + QToolButton *b = new QToolButton(this); + b->resize(16, 16); + leftLineEdit->addWidget(b, LineEdit::LeftSide); + } + { + QToolButton *b = new QToolButton(this); + b->resize(16, 16); + rightLineEdit->addWidget(b, LineEdit::RightSide); + } + connect(addButton, SIGNAL(clicked()), this, SLOT(add())); + connect(removeButton, SIGNAL(clicked()), this, SLOT(remove())); + connect(showButton, SIGNAL(clicked()), this, SLOT(showW())); + connect(addToolButtonButton, SIGNAL(clicked()), this, SLOT(addToolButton())); + connect(spacing, SIGNAL(valueChanged(int)), this, SLOT(setWidgetSpacing(int))); +} + +QWidget *Dialog::getWidget() +{ + if (rssWidget->isChecked()) { + bookmarkWidget->setChecked(true); + return rssButton; + } + if (bookmarkWidget->isChecked()) { + siteIconWidget->setChecked(true); + return bookmarkButton; + } + if (siteIconWidget->isChecked()) { + rssWidget->setChecked(true); + return siteIconButton; + } + return 0; +} + +void Dialog::setWidgetSpacing(int s) +{ + lineEdit->setWidgetSpacing(s); +} + +void Dialog::add() +{ + LineEdit::WidgetPosition position = leftSide->isChecked() ? LineEdit::LeftSide : LineEdit::RightSide; + lineEdit->addWidget(getWidget(), position); +} + +void Dialog::remove() +{ + lineEdit->removeWidget(getWidget()); +} + +void Dialog::showW() +{ + QWidget *w = getWidget(); + w->setVisible(!w->isVisible()); +} + +void Dialog::addToolButton() +{ + LineEdit::WidgetPosition position = leftSide->isChecked() ? LineEdit::LeftSide : LineEdit::RightSide; + QToolButton *button = new QToolButton; + lineEdit->addWidget(button, position); +} + +int main(int argc,char ** argv) +{ + QApplication app(argc,argv); + + if (app.arguments().count() == 1) { + Dialog dialog; + dialog.show(); + return app.exec(); + } else { + LineEdit lineEdit; + QPushButton *rightButton = new QPushButton("Dialog bar"); + qDebug() << rightButton->sizeHint(); + lineEdit.addWidget(rightButton, LineEdit::RightSide); + lineEdit.show(); + return app.exec(); + } +} + +#include "main.moc" + diff --git a/manualtests/lineedit/rss.png b/manualtests/lineedit/rss.png new file mode 100755 index 0000000000000000000000000000000000000000..b3c949d2244f2c0c81d65e74719af2a1b56d06a3 GIT binary patch literal 689 zcmV;i0#5yjP)(tky!*UETcH-TCU7SrqEjJM#?B`_A)!p7(kFf9-P@=@15kkTkGK zgFusyy#KECqZzRdBLb=P?$(kUP;>kYTDeG&{|a+iOiRbI6nbQ)j#7bOf>iF=C+|_py<&Fo1F5cC*iEM?zZGC{ejNg4LWYp=S$L6Qaby6y zp$+F`250{%tU{Lg$5*ROH}y!1UKJS4*xqd7P(Y3JQF?lrnf?yerr%&6yGXLG1ur*B z{$&R1@Oj)yl@%rY5rh?j(j10Yz_DBs`AKFU_QnB;)(aqQmGi&ieOS|21^NP9UMpa< zU&p!f6RZ6Owp^X!EXA=0SbN&h?CrQK%Q3(=YBqqHD^9ZUM0Hxt-6-KT;>lf@j?Z+v zHm(}`>85I&E<7e}oz?6UwjAogowzGO8kSN7+2`b^$Az9L{K5*ko87EV45LT-`_##3 z>d3AGh@>=mbg34|6}+-gT9N+6Dr@44VEl44O&{&|w=qpbzC#iWMKa?5)>tI+KLQK@ Xq0QFqn(9Yl00000NkvXXu0mjfZ8tPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOM$ z4;Uc5(trs7000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0007HNkl>>^T(;wlMT0~Ot)VTqh+Ws`GxPp;hgj3T=+`tJ|Wlw{vK+&bkXtYUKtybbyJ1`ZMAk`ZSuunR$SS-<{)N07g0F^2lt5nfgtp>ni zv0$Hcpf?so^LC#QP0g(vj=dS1np?%tbWqrRLP)nM1#=!hS8PHH`=+{a)px8G7Om+^!4=-4u_G+WK>jC05JGsfZO*T zQh%-M?;GttA-oGqc-$@?ci%ym5J%aOLu6%Tp-?CYg+e%;P6l4S!tGz7x}l8}oj&G; zn7|**e0DG~_8zZ$p4HGYa)lDDE{$AMKAG9Zb!L)m)y}^G$1gH+@$`;*00000NkvXX Hu0mjf@qSP6 literal 0 HcmV?d00001 diff --git a/manualtests/manualtests.pro b/manualtests/manualtests.pro index fb690ec6..91a74c51 100644 --- a/manualtests/manualtests.pro +++ b/manualtests/manualtests.pro @@ -2,6 +2,7 @@ TEMPLATE = subdirs SUBDIRS = bookmarks \ downloadmanager \ history \ + lineedit \ searchlineedit \ squeezelabel \ urllineedit diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp new file mode 100644 index 00000000..a2bc7030 --- /dev/null +++ b/src/utils/lineedit.cpp @@ -0,0 +1,181 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "lineedit.h" +#include "lineedit_p.h" + +#include +#include +#include + +#include + +SideWidget::SideWidget(QWidget *parent) + : QWidget(parent) +{ +} + +bool SideWidget::event(QEvent *event) +{ + if (event->type() == QEvent::LayoutRequest) + emit sizeHintChanged(); + return QWidget::event(event); +} + +LineEdit::LineEdit(QWidget *parent) + : QLineEdit(parent) + , m_leftLayout(0) + , m_rightLayout(0) +{ +#if 1 + setStyle(new LineEditStyle); +#endif + init(); +} + +LineEdit::LineEdit(const QString &contents, QWidget *parent) + : QLineEdit(contents, parent) + , m_leftLayout(0) + , m_rightLayout(0) +{ + init(); +} + +void LineEdit::init() +{ + m_leftWidget = new SideWidget(this); + m_leftWidget->resize(0, 0); + m_leftLayout = new QHBoxLayout(m_leftWidget); + m_leftLayout->setContentsMargins(0, 0, 0, 0); + if (isRightToLeft()) + m_leftLayout->setDirection(QBoxLayout::RightToLeft); + else + m_leftLayout->setDirection(QBoxLayout::LeftToRight); + m_leftLayout->setSizeConstraint(QLayout::SetFixedSize); + + m_rightWidget = new SideWidget(this); + m_rightWidget->resize(0, 0); + m_rightLayout = new QHBoxLayout(m_rightWidget); + if (isRightToLeft()) + m_rightLayout->setDirection(QBoxLayout::RightToLeft); + else + m_rightLayout->setDirection(QBoxLayout::LeftToRight); + m_rightLayout->setContentsMargins(0, 0, 0, 0); + + QSpacerItem *horizontalSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); + m_rightLayout->addItem(horizontalSpacer); + + setWidgetSpacing(3); + connect(m_leftWidget, SIGNAL(sizeHintChanged()), + this, SLOT(updateTextMargins())); + connect(m_rightWidget, SIGNAL(sizeHintChanged()), + this, SLOT(updateTextMargins())); +} + +void LineEdit::addWidget(QWidget *widget, WidgetPosition position) +{ + if (!widget) + return; + + bool rtl = isRightToLeft(); + if (rtl) + position = (position == LeftSide) ? RightSide : LeftSide; + widget->show(); + if (position == LeftSide) { + m_leftLayout->addWidget(widget); + } else { + m_rightLayout->insertWidget(1, widget); + } +} + +void LineEdit::removeWidget(QWidget *widget) +{ + if (!widget) + return; + + m_leftLayout->removeWidget(widget); + m_rightLayout->removeWidget(widget); + widget->hide(); +} + +void LineEdit::setWidgetSpacing(int spacing) +{ + m_leftLayout->setSpacing(spacing); + m_rightLayout->setSpacing(spacing); + updateTextMargins(); +} + +int LineEdit::textMargin(WidgetPosition position) const +{ + int spacing = m_rightLayout->spacing(); + int w = 0; + if (position == LeftSide) + w = m_leftWidget->width(); + else + w = m_rightWidget->sizeHint().width(); + if (w == 0) + return 0; + return w + spacing * 2; +} + +void LineEdit::updateTextMargins() +{ +#if 0 + int left = textMargin(LineEdit::LeftSide); + int right = textMargin(LineEdit::RightSide); + int top = 0; + int bottom = 0; + setTextMargins(left, top, right, bottom); +#endif + update(); + updateSideWidgetLocations(); +} + +void LineEdit::updateSideWidgetLocations() +{ + QStyleOptionFrameV2 opt; + initStyleOption(&opt); + QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &opt, this); + int spacing = m_rightLayout->spacing(); + textRect.adjust(spacing, 0, -spacing, 0); + + int left = textMargin(LineEdit::LeftSide); + int right = textMargin(LineEdit::RightSide); + textRect.adjust(-left, 0, right, 0); + + int midHeight = textRect.center().y(); + + if (m_leftLayout->count() > 0) { + int leftHeight = midHeight - m_leftWidget->height() / 2; + int leftWidth = m_leftWidget->width(); + if (leftWidth == 0) + leftHeight = midHeight - m_leftWidget->sizeHint().height() / 2; + m_leftWidget->move(textRect.x(), leftHeight); + } + textRect.setY(midHeight - m_rightWidget->height() / 2); + textRect.setHeight(m_rightWidget->height()); + m_rightWidget->setGeometry(textRect); +} + +void LineEdit::resizeEvent(QResizeEvent *event) +{ + updateSideWidgetLocations(); + QLineEdit::resizeEvent(event); +} + diff --git a/src/utils/lineedit.h b/src/utils/lineedit.h new file mode 100644 index 00000000..d6b30483 --- /dev/null +++ b/src/utils/lineedit.h @@ -0,0 +1,74 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef LINEEDIT_H +#define LINEEDIT_H + +#include + +class QHBoxLayout; +class SideWidget; + +/* + LineEdit is a subclass of QLineEdit that provides an easy and simple + way to add widgets on the left or right hand side of the text. + + The layout of the widgets on either side are handled by a QHBoxLayout. + You can set the spacing around the widgets with setWidgetSpacing(). + + As widgets are added to the class they are inserted from the outside + into the center of the widget. +*/ +class LineEdit : public QLineEdit +{ + Q_OBJECT + +public: + enum WidgetPosition { + LeftSide, + RightSide + }; + + LineEdit(QWidget *parent = 0); + LineEdit(const QString &contents, QWidget *parent = 0); + + void addWidget(QWidget *widget, WidgetPosition position); + void removeWidget(QWidget *widget); + void setWidgetSpacing(int spacing); + int textMargin(WidgetPosition position) const; + +protected: + void resizeEvent(QResizeEvent *event); + +private slots: + void updateTextMargins(); + +private: + void init(); + void updateSideWidgetLocations(); + + SideWidget *m_leftWidget; + SideWidget *m_rightWidget; + QHBoxLayout *m_leftLayout; + QHBoxLayout *m_rightLayout; + +}; + +#endif // LINEEDIT_H + diff --git a/src/utils/lineedit_p.h b/src/utils/lineedit_p.h new file mode 100644 index 00000000..efd34dce --- /dev/null +++ b/src/utils/lineedit_p.h @@ -0,0 +1,69 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef LINEEDIT_P_H +#define LINEEDIT_P_H + +#include + +class SideWidget : public QWidget +{ + Q_OBJECT + +signals: + void sizeHintChanged(); + +public: + SideWidget(QWidget *parent = 0); + +protected: + bool event(QEvent *event); + +}; + +#include "qapplication.h" +#include "proxystyle.h" +#include "lineedit.h" + +class LineEditStyle : public ProxyStyle +{ + +public: + explicit LineEditStyle() + : ProxyStyle(QApplication::style()->objectName()) + { + } + + QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = 0) const + { + QRect r = ProxyStyle::subElementRect(element, option, widget); + if (element == SE_LineEditContents) { + if (const LineEdit *le = qobject_cast(widget)) { + int left = le->textMargin(LineEdit::LeftSide); + int right = le->textMargin(LineEdit::RightSide); + r.adjust(left, 0, -right, 0); + } + } + return r; + } + +}; + +#endif // LINEEDIT_P_H + diff --git a/src/utils/proxystyle.h b/src/utils/proxystyle.h new file mode 100644 index 00000000..170e561b --- /dev/null +++ b/src/utils/proxystyle.h @@ -0,0 +1,100 @@ +/* + *Copyright 2008 Benjamin C. Meyer + * + *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 2 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, write to the Free Software + *Foundation, Inc., 51 Franklin Street, Fifth Floor, + *Boston, MA 02110-1301 USA + */ + +#ifndef PROXYSTYLE_H +#define PROXYSTYLE_H + +#include +#include + +/* + A base class that can be used to write a style that modifise the currently style. + For more details see: http://doc.trolltech.com/qq/qq09-q-and-a.html#style +*/ +class ProxyStyle : public QStyle +{ + Q_OBJECT + +public: + explicit ProxyStyle(const QString &baseStyle) + { style = QStyleFactory::create(baseStyle); } + ~ProxyStyle() + { delete style; } + + virtual void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = 0) const + { style->drawComplexControl(control, option, painter, widget); } + virtual void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = 0) const + { style->drawControl(element, option, painter, widget); } + virtual void drawItemPixmap(QPainter *painter, const QRect &rectangle, int alignment, const QPixmap &pixmap) const + { style->drawItemPixmap(painter, rectangle, alignment, pixmap); } + virtual void drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const + { style->drawItemText(painter, rectangle, alignment, palette, enabled, text, textRole); } + virtual void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = 0) const + { style->drawPrimitive(element, option, painter, widget); } + virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *option) const + { return style->generatedIconPixmap(iconMode, pixmap, option); } + virtual SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget = 0) const + { return style->hitTestComplexControl(control, option, position, widget); } + virtual QRect itemPixmapRect(const QRect &rectangle, int alignment, const QPixmap &pixmap) const + { return style->itemPixmapRect(rectangle, alignment, pixmap); } + virtual QRect itemTextRect(const QFontMetrics &metrics, const QRect &rectangle, int alignment, bool enabled, const QString &text) const + { return style->itemTextRect(metrics, rectangle, alignment, enabled, text); } + virtual int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const + { return style->pixelMetric(metric, option, widget); } + virtual void polish(QWidget *widget) + { style->polish(widget); } + virtual void polish(QApplication *application) + { style->polish(application); } + virtual void polish(QPalette &palette) + { style->polish(palette); } + virtual QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &contentsSize, const QWidget *widget = 0) const + { return style->sizeFromContents(type, option, contentsSize, widget); } + virtual QPalette standardPalette () const + { return style->standardPalette(); } + virtual int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const + { return style->styleHint(hint, option, widget, returnData); } + virtual QRect subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget = 0) const + { return style->subControlRect(control, option, subControl, widget); } + virtual void unpolish(QWidget *widget) + { style->unpolish(widget); } + virtual void unpolish(QApplication *application) + { style->unpolish(application); } + virtual QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt = 0, const QWidget *widget = 0) const + { return style->standardPixmap(standardPixmap, opt, widget); } + virtual QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = 0) const + { return style->subElementRect(element, option, widget); } + virtual bool event(QEvent *e) + { return style->event(e); } + virtual bool eventFilter(QObject *o, QEvent *e) + { return style->eventFilter(o, e); } + +protected slots: + int layoutSpacingImplementation ( QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption * option = 0, const QWidget * widget = 0 ) const + { return style->layoutSpacing(control1, control2, orientation, option, widget); } + + QIcon standardIconImplementation ( StandardPixmap standardIcon, const QStyleOption * option = 0, const QWidget * widget = 0 ) const + { return style->standardIcon(standardIcon, option, widget); } + +private: + QStyle* style; + +}; + +#endif // PROXYSTYLE_H + diff --git a/src/utils/utils.pri b/src/utils/utils.pri index c61ed3f8..0d4f4931 100644 --- a/src/utils/utils.pri +++ b/src/utils/utils.pri @@ -3,8 +3,12 @@ DEPENDPATH += $$PWD HEADERS += \ autosaver.h \ + lineedit.h \ + lineedit_p.h \ + proxystyle.h \ squeezelabel.h SOURCES += \ autosaver.cpp \ + lineedit.cpp \ squeezelabel.cpp \ No newline at end of file From 494ef92c105637406f8411ac88f994d49bb7f1e4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 8 Jul 2008 01:04:19 +0200 Subject: [PATCH 0076/1254] Autotests for the LineEdit class, New LocationBar class and convert the search class to the LineEdit class. --- .gitignore | 1 + autotests/autotests.pro | 1 + autotests/lineedit/lineedit.pro | 10 + autotests/lineedit/tst_lineedit.cpp | 181 +++++++++++++ manualtests/lineedit/dialog.ui | 39 +-- src/browsermainwindow.cpp | 4 +- src/locationbar.cpp | 169 ++++++++++++ src/locationbar.h | 50 ++++ src/locationbar_p.h | 47 ++++ src/searchlineedit.cpp | 31 ++- src/searchlineedit.h | 7 +- src/src.pri | 5 +- src/tabwidget.cpp | 22 +- src/toolbarsearch.cpp | 12 +- src/urllineedit.cpp | 392 ---------------------------- src/urllineedit.h | 136 ---------- src/utils/lineedit.cpp | 12 +- src/utils/lineedit.h | 1 + src/webviewsearch.cpp | 8 +- 19 files changed, 539 insertions(+), 589 deletions(-) create mode 100644 autotests/lineedit/lineedit.pro create mode 100644 autotests/lineedit/tst_lineedit.cpp create mode 100644 src/locationbar.cpp create mode 100644 src/locationbar.h create mode 100644 src/locationbar_p.h delete mode 100644 src/urllineedit.cpp delete mode 100644 src/urllineedit.h diff --git a/.gitignore b/.gitignore index dee9ef21..aef27bad 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ autotests/downloadmanager/downloadmanager autotests/edittreeview/edittreeview autotests/history/history autotests/historyfiltermodel/historyfiltermodel +autotests/lineedit/lineedit autotests/searchlineedit/searchlineedit autotests/tabbar/tabbar autotests/tabwidget/tabwidget diff --git a/autotests/autotests.pro b/autotests/autotests.pro index c8af8534..7f7a8f7e 100644 --- a/autotests/autotests.pro +++ b/autotests/autotests.pro @@ -4,6 +4,7 @@ SUBDIRS = addbookmarkdialog \ downloadmanager \ edittreeview \ history \ + lineedit \ historyfiltermodel \ searchlineedit \ tabbar \ diff --git a/autotests/lineedit/lineedit.pro b/autotests/lineedit/lineedit.pro new file mode 100644 index 00000000..c565dd33 --- /dev/null +++ b/autotests/lineedit/lineedit.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +include(../autotests.pri) + +# Input +SOURCES = tst_lineedit.cpp lineedit.cpp +HEADERS = lineedit.h lineedit_p.h proxystyle.h diff --git a/autotests/lineedit/tst_lineedit.cpp b/autotests/lineedit/tst_lineedit.cpp new file mode 100644 index 00000000..b8ed9f21 --- /dev/null +++ b/autotests/lineedit/tst_lineedit.cpp @@ -0,0 +1,181 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include +#include +#include + +class tst_LineEdit : public QObject +{ + Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void lineedit_data(); + void lineedit(); + + void addWidget_data(); + void addWidget(); + void removeWidget(); + void setWidgetSpacing_data(); + void setWidgetSpacing(); + void textMargin_data(); + void textMargin(); +}; + +// Subclass that exposes the protected functions. +class SubLineEdit : public LineEdit +{ +public: + void call_resizeEvent(QResizeEvent* event) + { return SubLineEdit::resizeEvent(event); } +}; + +// This will be called before the first test function is executed. +// It is only called once. +void tst_LineEdit::initTestCase() +{ +} + +// This will be called after the last test function is executed. +// It is only called once. +void tst_LineEdit::cleanupTestCase() +{ +} + +// This will be called before each test function is executed. +void tst_LineEdit::init() +{ +} + +// This will be called after every test function. +void tst_LineEdit::cleanup() +{ +} + +void tst_LineEdit::lineedit_data() +{ +} + +void tst_LineEdit::lineedit() +{ + SubLineEdit edit; + edit.addWidget((QWidget*)0, LineEdit::LeftSide); + edit.addWidget((QWidget*)0, LineEdit::RightSide); + edit.removeWidget((QWidget*)0); + QCOMPARE(edit.widgetSpacing(), 3); + edit.setWidgetSpacing(-1); + QCOMPARE(edit.textMargin(LineEdit::LeftSide), 0); + QCOMPARE(edit.textMargin(LineEdit::RightSide), 0); +} + +Q_DECLARE_METATYPE(LineEdit::WidgetPosition) +void tst_LineEdit::addWidget_data() +{ + QTest::addColumn("position"); + QTest::addColumn("spacing"); + for (int i = 0; i < 4; ++i) { + QTest::newRow("left") << LineEdit::LeftSide << i; + QTest::newRow("right") << LineEdit::RightSide << i; + } +} + +// public void addWidget(QWidget* widget, LineEdit::WidgetPosition position) +void tst_LineEdit::addWidget() +{ + QFETCH(LineEdit::WidgetPosition, position); + QFETCH(int, spacing); + LineEdit::WidgetPosition other = position == LineEdit::LeftSide ? LineEdit::RightSide : LineEdit::LeftSide; + + SubLineEdit edit; + edit.setWidgetSpacing(spacing); + + QToolButton *button = new QToolButton; + button->setMinimumSize(10, 10); + button->setMaximumSize(10, 10); + edit.addWidget(button, position); + edit.show(); + + spacing = edit.widgetSpacing(); + QCOMPARE(edit.textMargin(position), 10 + spacing * 2); + QCOMPARE(edit.textMargin(other), 0); + + edit.removeWidget(button); + qApp->processEvents(); + QCOMPARE(edit.textMargin(position), 0); +} + +// public void removeWidget(QWidget* widget) +void tst_LineEdit::removeWidget() +{ + SubLineEdit edit; + QToolButton *button = new QToolButton; + edit.addWidget(button, LineEdit::LeftSide); + edit.show(); + QVERIFY(edit.textMargin(LineEdit::LeftSide) != 0); + edit.removeWidget(button); + qApp->processEvents(); + QVERIFY(edit.textMargin(LineEdit::LeftSide) == 0); +} + +void tst_LineEdit::setWidgetSpacing_data() +{ + QTest::addColumn("spacing"); + QTest::newRow("0") << 0; + QTest::newRow("1") << 1; + QTest::newRow("2") << 2; +} + +// public void setWidgetSpacing(int spacing) +void tst_LineEdit::setWidgetSpacing() +{ + QFETCH(int, spacing); + + SubLineEdit edit; + + edit.setWidgetSpacing(spacing); + QCOMPARE(edit.widgetSpacing(), spacing); +} + +void tst_LineEdit::textMargin_data() +{ + QTest::addColumn("position"); + QTest::addColumn("textMargin"); + QTest::newRow("null") << LineEdit::LeftSide << 0; +} + +// public int textMargin(LineEdit::WidgetPosition position) const +void tst_LineEdit::textMargin() +{ + QFETCH(LineEdit::WidgetPosition, position); + QFETCH(int, textMargin); + + SubLineEdit edit; + + QCOMPARE(edit.textMargin(position), textMargin); +} + +QTEST_MAIN(tst_LineEdit) +#include "tst_lineedit.moc" + diff --git a/manualtests/lineedit/dialog.ui b/manualtests/lineedit/dialog.ui index ea0676dc..4f5f0a72 100644 --- a/manualtests/lineedit/dialog.ui +++ b/manualtests/lineedit/dialog.ui @@ -5,8 +5,8 @@ 0 0 - 603 - 366 + 474 + 348 @@ -81,6 +81,13 @@ + + + + Qt::Horizontal + + + @@ -210,6 +217,19 @@ + + + + Qt::Vertical + + + + 20 + 28 + + + + @@ -229,7 +249,7 @@ - swapVisibility + Swap Visibility @@ -255,19 +275,6 @@ - - - - Qt::Vertical - - - - 20 - 28 - - - - diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 9c1738d4..8965eaf7 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -920,8 +920,8 @@ void BrowserMainWindow::slotHome() void BrowserMainWindow::slotWebSearch() { - m_toolbarSearch->lineEdit()->selectAll(); - m_toolbarSearch->lineEdit()->setFocus(); + m_toolbarSearch->selectAll(); + m_toolbarSearch->setFocus(); } void BrowserMainWindow::slotClearPrivateData() diff --git a/src/locationbar.cpp b/src/locationbar.cpp new file mode 100644 index 00000000..5a6f8da3 --- /dev/null +++ b/src/locationbar.cpp @@ -0,0 +1,169 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "locationbar.h" +#include "locationbar_p.h" + +#include "browserapplication.h" +#include "searchlineedit.h" +#include "webview.h" + +#include +#include +#include +#include + +#include + +LocationBarSiteIcon::LocationBarSiteIcon(WebView *webView, QWidget *parent) + : QLabel(parent) + , m_webView(webView) +{ + connect(webView, SIGNAL(loadFinished(bool)), + this, SLOT(webViewSiteIconChanged())); + connect(webView, SIGNAL(iconChanged()), + this, SLOT(webViewSiteIconChanged())); + webViewSiteIconChanged(); +} + +void LocationBarSiteIcon::webViewSiteIconChanged() +{ + setPixmap(BrowserApplication::instance()->icon(m_webView->url()).pixmap(16, 16)); +} + +void LocationBarSiteIcon::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) + m_dragStartPos = event->pos(); + QLabel::mousePressEvent(event); +} + +void LocationBarSiteIcon::mouseMoveEvent(QMouseEvent *event) +{ + if (event->buttons() == Qt::LeftButton + && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() + && m_webView) { + QDrag *drag = new QDrag(this); + QMimeData *mimeData = new QMimeData; + mimeData->setText(m_webView->url().toString()); + QList urls; + urls.append(m_webView->url()); + mimeData->setUrls(urls); + drag->setMimeData(mimeData); + drag->exec(); + } +} + +LocationBar::LocationBar(QWidget *parent) + : LineEdit(parent) + , m_webView(0) + , m_siteIcon(0) +{ + m_defaultBaseColor = palette().color(QPalette::Base); + + QPalette p = palette(); + p.setColor(QPalette::Base, QColor(255, 255, 255, 100)); + setPalette(p); + + // Urls are always LeftToRight + setLayoutDirection(Qt::LeftToRight); + + // clear button on the right + ClearButton *m_clearButton = new ClearButton(this); + connect(m_clearButton, SIGNAL(clicked()), + this, SLOT(clear())); + connect(this, SIGNAL(textChanged(const QString&)), + m_clearButton, SLOT(textChanged(const QString&))); + addWidget(m_clearButton, RightSide); + m_clearButton->hide(); +} + +void LocationBar::setWebView(WebView *webView) +{ + Q_ASSERT(webView); + m_webView = webView; + + // site icon on the left + m_siteIcon = new LocationBarSiteIcon(webView, this); + connect(webView, SIGNAL(urlChanged(const QUrl &)), + this, SLOT(webViewUrlChanged(const QUrl &))); + connect(webView, SIGNAL(loadProgress(int)), + this, SLOT(update())); + addWidget(m_siteIcon, LeftSide); +} + +void LocationBar::webViewUrlChanged(const QUrl &url) +{ + setText(url.toString()); + setCursorPosition(0); +} + +static QLinearGradient generateGradient(const QColor &top, const QColor &middle, int height) +{ + QLinearGradient gradient(0, 0, 0, height); + gradient.setColorAt(0, top); + gradient.setColorAt(0.15, middle.lighter(120)); + gradient.setColorAt(0.5, middle); + gradient.setColorAt(0.85, middle.lighter(120)); + gradient.setColorAt(1, top); + return gradient; +} + +void LocationBar::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + + QPalette p = palette(); + QColor backgroundColor = m_defaultBaseColor; + if (m_webView && m_webView->url().scheme() == QLatin1String("https") + && p.brush(QPalette::Text) != Qt::black) { + QColor lightYellow(248, 248, 210); + backgroundColor = lightYellow; + } + + // paint the text background + QStyleOptionFrameV2 panel; + initStyleOption(&panel); + QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); + int left = textMargin(LineEdit::LeftSide); + int right = textMargin(LineEdit::RightSide); + backgroundRect.adjust(-left, 0, right, 0); + painter.setBrush(backgroundColor); + painter.setPen(backgroundColor); + painter.drawRect(backgroundRect); + + // paint the progressbar + if (m_webView && !hasFocus()) { + int progress = m_webView->progress(); + QColor loadingColor = QColor(116, 192, 250); + if (p.brush(QPalette::Text) != Qt::black) + loadingColor = m_defaultBaseColor.value() < 128 ? m_defaultBaseColor.lighter(200) : m_defaultBaseColor.darker(200); + + painter.setBrush(generateGradient(m_defaultBaseColor, loadingColor, height())); + painter.setPen(Qt::transparent); + + int mid = backgroundRect.width() / 100 * progress; + QRect progressRect = QRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height()); + painter.drawRect(progressRect); + } + painter.end(); + + LineEdit::paintEvent(event); +} + diff --git a/src/locationbar.h b/src/locationbar.h new file mode 100644 index 00000000..a494355d --- /dev/null +++ b/src/locationbar.h @@ -0,0 +1,50 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef LOCATIONBAR_H +#define LOCATIONBAR_H + +#include "lineedit.h" + +#include +#include + +class WebView; +class LocationBarSiteIcon; +class LocationBar : public LineEdit +{ + Q_OBJECT + +public: + LocationBar(QWidget *parent = 0); + void setWebView(WebView *webView); + +protected: + void paintEvent(QPaintEvent *event); + +private slots: + void webViewUrlChanged(const QUrl &url); + +private: + QPointer m_webView; + LocationBarSiteIcon *m_siteIcon; + QColor m_defaultBaseColor; +}; + +#endif // LOCATIONBAR_H diff --git a/src/locationbar_p.h b/src/locationbar_p.h new file mode 100644 index 00000000..053da4e3 --- /dev/null +++ b/src/locationbar_p.h @@ -0,0 +1,47 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef LOCATIONBAR_P_H +#define LOCATIONBAR_P_H + +#include + +class WebView; +class LocationBarSiteIcon : public QLabel +{ + Q_OBJECT + +public: + LocationBarSiteIcon(WebView *m_webView, QWidget *parent = 0); + +protected: + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + +private slots: + void webViewSiteIconChanged(); + +private: + WebView *m_webView; + QPoint m_dragStartPos; + +}; + +#endif // LOCATIONBAR_P_H + diff --git a/src/searchlineedit.cpp b/src/searchlineedit.cpp index 758891c6..a773ecb1 100644 --- a/src/searchlineedit.cpp +++ b/src/searchlineedit.cpp @@ -66,6 +66,9 @@ #include #include #include +#include + +#include ClearButton::ClearButton(QWidget *parent) : QAbstractButton(parent) @@ -74,6 +77,7 @@ ClearButton::ClearButton(QWidget *parent) setToolTip(tr("Clear")); setVisible(false); setFocusPolicy(Qt::NoFocus); + setMinimumSize(22, 22); } void ClearButton::paintEvent(QPaintEvent *event) @@ -184,41 +188,48 @@ void SearchButton::paintEvent(QPaintEvent *event) - When there is text a clear button is displayed on the right hand side */ SearchLineEdit::SearchLineEdit(QWidget *parent) - : ExLineEdit(parent) + : LineEdit(parent) , m_searchButton(new SearchButton(this)) { - connect(lineEdit(), SIGNAL(textChanged(const QString &)), - this, SIGNAL(textChanged(const QString &))); - setLeftWidget(m_searchButton); + addWidget(m_searchButton, LeftSide); m_inactiveText = tr("Search"); QSizePolicy policy = sizePolicy(); setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy()); + + // clear button on the right + ClearButton *m_clearButton = new ClearButton(this); + connect(m_clearButton, SIGNAL(clicked()), + this, SLOT(clear())); + connect(this, SIGNAL(textChanged(const QString&)), + m_clearButton, SLOT(textChanged(const QString&))); + addWidget(m_clearButton, RightSide); + m_clearButton->hide(); } void SearchLineEdit::paintEvent(QPaintEvent *event) { - if (lineEdit()->text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) { - ExLineEdit::paintEvent(event); + if (text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) { + LineEdit::paintEvent(event); QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); QFontMetrics fm = fontMetrics(); - int horizontalMargin = lineEdit()->x(); + int horizontalMargin = x(); QRect lineRect(horizontalMargin + r.x(), r.y() + (r.height() - fm.height() + 1) / 2, r.width() - 2 * horizontalMargin, fm.height()); QPainter painter(this); painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); painter.drawText(lineRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); } else { - ExLineEdit::paintEvent(event); + LineEdit::paintEvent(event); } } void SearchLineEdit::resizeEvent(QResizeEvent *event) { updateGeometries(); - ExLineEdit::resizeEvent(event); + LineEdit::resizeEvent(event); } void SearchLineEdit::updateGeometries() @@ -227,7 +238,7 @@ void SearchLineEdit::updateGeometries() int menuWidth = menuHeight + 1; if (!m_searchButton->m_menu) menuWidth = (menuHeight / 5) * 4; - m_searchButton->resize(QSize(menuWidth, menuHeight)); + m_searchButton->setMinimumSize(QSize(menuWidth, menuHeight)); } QString SearchLineEdit::inactiveText() const diff --git a/src/searchlineedit.h b/src/searchlineedit.h index 9a931811..2c1ce9bb 100644 --- a/src/searchlineedit.h +++ b/src/searchlineedit.h @@ -63,7 +63,7 @@ #ifndef SEARCHLINEEDIT_H #define SEARCHLINEEDIT_H -#include "urllineedit.h" +#include "lineedit.h" #include #include @@ -92,14 +92,11 @@ public slots: }; -class SearchLineEdit : public ExLineEdit +class SearchLineEdit : public LineEdit { Q_OBJECT Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText) -signals: - void textChanged(const QString &text); - public: SearchLineEdit(QWidget *parent = 0); diff --git a/src/src.pri b/src/src.pri index 04ed38fb..7c340333 100644 --- a/src/src.pri +++ b/src/src.pri @@ -44,6 +44,8 @@ HEADERS += \ edittableview.h \ edittreeview.h \ history.h \ + locationbar.h \ + locationbar_p.h \ modelmenu.h \ networkaccessmanager.h \ searchlineedit.h \ @@ -51,7 +53,6 @@ HEADERS += \ tabbar.h \ tabwidget.h \ toolbarsearch.h \ - urllineedit.h \ webactionmapper.h \ webview.h \ webviewsearch.h \ @@ -68,6 +69,7 @@ SOURCES += \ edittableview.cpp \ edittreeview.cpp \ history.cpp \ + locationbar.cpp \ modelmenu.cpp \ networkaccessmanager.cpp \ searchlineedit.cpp \ @@ -75,7 +77,6 @@ SOURCES += \ tabbar.cpp \ tabwidget.cpp \ toolbarsearch.cpp \ - urllineedit.cpp \ webactionmapper.cpp \ webview.cpp \ webviewsearch.cpp \ diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index c013fd5d..b17fee2f 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -66,7 +66,7 @@ #include "browsermainwindow.h" #include "history.h" #include "tabbar.h" -#include "urllineedit.h" +#include "locationbar.h" #include "webactionmapper.h" #include "webview.h" #include "webviewsearch.h" @@ -329,10 +329,7 @@ WebView *TabWidget::currentWebView() const QLineEdit *TabWidget::lineEdit(int index) const { - UrlLineEdit *urlLineEdit = qobject_cast(m_lineEdits->widget(index)); - if (urlLineEdit) - return urlLineEdit->lineEdit(); - return 0; + return qobject_cast(m_lineEdits->widget(index)); } WebView *TabWidget::webView(int index) const @@ -392,8 +389,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) } // line edit - UrlLineEdit *urlLineEdit = new UrlLineEdit; - QLineEdit *lineEdit = urlLineEdit->lineEdit(); + LocationBar *locationBar = new LocationBar(this); if (!m_lineEditCompleter && count() > 0) { HistoryCompletionModel *completionModel = new HistoryCompletionModel(this); completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel()); @@ -404,10 +400,10 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) if (listView) listView->setUniformItemSizes(true); } - lineEdit->setCompleter(m_lineEditCompleter); - connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); - m_lineEdits->addWidget(urlLineEdit); - m_lineEdits->setSizePolicy(lineEdit->sizePolicy()); + locationBar->setCompleter(m_lineEditCompleter); + connect(locationBar, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); + m_lineEdits->addWidget(locationBar); + m_lineEdits->setSizePolicy(locationBar->sizePolicy()); // optimization to delay creating the more expensive WebView, history, etc if (count() == 0) { @@ -426,7 +422,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) // webview WebView *webView = new WebView; - urlLineEdit->setWebView(webView); + locationBar->setWebView(webView); connect(webView, SIGNAL(loadStarted()), this, SLOT(webViewLoadStarted())); connect(webView, SIGNAL(loadFinished(bool)), @@ -455,7 +451,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) if (makeCurrent) setCurrentWidget(webViewWithSearch); - QWidget::setTabOrder(this, urlLineEdit); + QWidget::setTabOrder(this, locationBar); // webview actions for (int i = 0; i < m_actions.count(); ++i) { diff --git a/src/toolbarsearch.cpp b/src/toolbarsearch.cpp index 93a42098..276be728 100644 --- a/src/toolbarsearch.cpp +++ b/src/toolbarsearch.cpp @@ -88,9 +88,9 @@ ToolbarSearch::ToolbarSearch(QWidget *parent) QCompleter *completer = new QCompleter(m_stringListModel, this); completer->setCompletionMode(QCompleter::InlineCompletion); - lineEdit()->setCompleter(completer); + setCompleter(completer); - connect(lineEdit(), SIGNAL(returnPressed()), SLOT(searchNow())); + connect(this, SIGNAL(returnPressed()), SLOT(searchNow())); setInactiveText(tr("Google")); load(); } @@ -121,7 +121,7 @@ void ToolbarSearch::load() void ToolbarSearch::searchNow() { - QString searchText = lineEdit()->text(); + QString searchText = text(); QStringList newList = m_stringListModel->stringList(); if (newList.contains(searchText)) newList.removeAt(newList.indexOf(searchText)); @@ -145,7 +145,7 @@ void ToolbarSearch::searchNow() void ToolbarSearch::aboutToShowMenu() { - lineEdit()->selectAll(); + selectAll(); QMenu *m = menu(); m->clear(); QStringList list = m_stringListModel->stringList(); @@ -169,7 +169,7 @@ void ToolbarSearch::triggeredMenuAction(QAction *action) QVariant v = action->data(); if (v.canConvert()) { QString text = v.toString(); - lineEdit()->setText(text); + setText(text); searchNow(); } } @@ -178,7 +178,7 @@ void ToolbarSearch::clear() { m_stringListModel->setStringList(QStringList()); m_autosaver->changeOccurred(); - ExLineEdit::clear(); + clear(); clearFocus(); } diff --git a/src/urllineedit.cpp b/src/urllineedit.cpp deleted file mode 100644 index f83a94ca..00000000 --- a/src/urllineedit.cpp +++ /dev/null @@ -1,392 +0,0 @@ -/* - * Copyright 2008 Benjamin C. Meyer - * Copyright 2008 Ariya Hidayat - * - * 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 2 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, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -/**************************************************************************** -** -** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License versions 2.0 or 3.0 as published by the Free Software -** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Alternatively you may (at -** your option) use any later version of the GNU General Public -** License if such license has been publicly approved by Trolltech ASA -** (or its successors, if any) and the KDE Free Qt Foundation. In -** addition, as a special exception, Trolltech gives you certain -** additional rights. These rights are described in the Trolltech GPL -** Exception version 1.2, which can be found at -** http://www.trolltech.com/products/qt/gplexception/ and in the file -** GPL_EXCEPTION.txt in this package. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. If -** you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** In addition, as a special exception, Trolltech, as the sole -** copyright holder for Qt Designer, grants users of the Qt/Eclipse -** Integration plug-in the right for the Qt/Eclipse Integration to -** link to functionality provided by Qt Designer and its related -** libraries. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly -** granted herein. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#include "urllineedit.h" - -#include "browserapplication.h" -#include "searchlineedit.h" -#include "webview.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -ExLineEdit::ExLineEdit(QWidget *parent) - : QWidget(parent) - , m_leftWidget(0) - , m_lineEdit(new QLineEdit(this)) - , m_clearButton(0) -{ - setFocusPolicy(m_lineEdit->focusPolicy()); - setAttribute(Qt::WA_InputMethodEnabled); - setSizePolicy(m_lineEdit->sizePolicy()); - setBackgroundRole(m_lineEdit->backgroundRole()); - setMouseTracking(true); - setAcceptDrops(true); - setAttribute(Qt::WA_MacShowFocusRect, true); - QPalette p = m_lineEdit->palette(); - setPalette(p); - - // line edit - m_lineEdit->setFrame(false); - m_lineEdit->setFocusProxy(this); - m_lineEdit->setAttribute(Qt::WA_MacShowFocusRect, false); - QPalette clearPalette = m_lineEdit->palette(); - clearPalette.setBrush(QPalette::Base, QBrush(Qt::transparent)); - m_lineEdit->setPalette(clearPalette); - - // clearButton - m_clearButton = new ClearButton(this); - connect(m_clearButton, SIGNAL(clicked()), - m_lineEdit, SLOT(clear())); - connect(m_lineEdit, SIGNAL(textChanged(const QString&)), - m_clearButton, SLOT(textChanged(const QString&))); -} - -void ExLineEdit::setLeftWidget(QWidget *widget) -{ - m_leftWidget = widget; -} - -QWidget *ExLineEdit::leftWidget() const -{ - return m_leftWidget; -} - -void ExLineEdit::resizeEvent(QResizeEvent *event) -{ - Q_ASSERT(m_leftWidget); - updateGeometries(); - QWidget::resizeEvent(event); -} - -void ExLineEdit::updateGeometries() -{ - QStyleOptionFrameV2 panel; - initStyleOption(&panel); - QRect rect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); - - int height = rect.height(); - int width = rect.width(); - - int m_leftWidgetHeight = m_leftWidget->height(); - int clearButtonWidth = this->height(); - - switch (layoutDirection()) { - case Qt::RightToLeft: - m_clearButton->setGeometry(rect.x(), rect.y() + (height - clearButtonWidth) / 2, - clearButtonWidth, this->height()); - - m_lineEdit->setGeometry(m_clearButton->x() + m_clearButton->width(), 0, - width - clearButtonWidth - m_leftWidget->width() - 2, this->height()); - - m_leftWidget->setGeometry(this->width() - m_leftWidget->width() - 2, rect.y() + (height - m_leftWidgetHeight) / 2, - m_leftWidget->width(), m_leftWidget->height()); - - break; - - case Qt::LeftToRight: - default: - m_leftWidget->setGeometry(rect.x() + 2,rect.y() + (height - m_leftWidgetHeight) / 2, - m_leftWidget->width(), m_leftWidget->height()); - - m_lineEdit->setGeometry(m_leftWidget->x() + m_leftWidget->width(), 0, - width - clearButtonWidth - m_leftWidget->width(), this->height()); - - m_clearButton->setGeometry(this->width() - clearButtonWidth, 0, - clearButtonWidth, this->height()); - break; - } -} - -void ExLineEdit::initStyleOption(QStyleOptionFrameV2 *option) const -{ - option->initFrom(this); - option->rect = contentsRect(); - option->lineWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, option, this); - option->midLineWidth = 0; - option->state |= QStyle::State_Sunken; - if (m_lineEdit->isReadOnly()) - option->state |= QStyle::State_ReadOnly; -#ifdef QT_KEYPAD_NAVIGATION - if (hasEditFocus()) - option->state |= QStyle::State_HasEditFocus; -#endif - option->features = QStyleOptionFrameV2::None; -} - -QSize ExLineEdit::sizeHint() const -{ - m_lineEdit->setFrame(true); - QSize size = m_lineEdit->sizeHint(); - m_lineEdit->setFrame(false); - return size; -} - -void ExLineEdit::focusInEvent(QFocusEvent *event) -{ - m_lineEdit->event(event); - QWidget::focusInEvent(event); -} - -void ExLineEdit::focusOutEvent(QFocusEvent *event) -{ - m_lineEdit->event(event); - - if (m_lineEdit->completer()) { - connect(m_lineEdit->completer(), SIGNAL(activated(QString)), - m_lineEdit, SLOT(setText(QString))); - connect(m_lineEdit->completer(), SIGNAL(highlighted(QString)), - m_lineEdit, SLOT(_q_completionHighlighted(QString))); - } - QWidget::focusOutEvent(event); -} - -void ExLineEdit::keyPressEvent(QKeyEvent *event) -{ - m_lineEdit->event(event); - QWidget::keyPressEvent(event); -} - -bool ExLineEdit::event(QEvent *event) -{ - if (event->type() == QEvent::ShortcutOverride) - m_lineEdit->event(event); - return QWidget::event(event); -} - -void ExLineEdit::paintEvent(QPaintEvent *) -{ - QPainter p(this); - QStyleOptionFrameV2 panel; - initStyleOption(&panel); - style()->drawPrimitive(QStyle::PE_PanelLineEdit, &panel, &p, this); -} - -void ExLineEdit::clear() -{ - m_lineEdit->clear(); -} - - -class UrlIconLabel : public QLabel -{ - -public: - UrlIconLabel(QWidget *parent); - - WebView *m_webView; - -protected: - void mousePressEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - -private: - QPoint m_dragStartPos; - -}; - -UrlIconLabel::UrlIconLabel(QWidget *parent) - : QLabel(parent) - , m_webView(0) -{ - setMinimumWidth(16); - setMinimumHeight(16); -} - -void UrlIconLabel::mousePressEvent(QMouseEvent *event) -{ - if (event->button() == Qt::LeftButton) - m_dragStartPos = event->pos(); - QLabel::mousePressEvent(event); -} - -void UrlIconLabel::mouseMoveEvent(QMouseEvent *event) -{ - if (event->buttons() == Qt::LeftButton - && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance() - && m_webView) { - QDrag *drag = new QDrag(this); - QMimeData *mimeData = new QMimeData; - mimeData->setText(m_webView->url().toString()); - QList urls; - urls.append(m_webView->url()); - mimeData->setUrls(urls); - drag->setMimeData(mimeData); - drag->exec(); - } -} - -UrlLineEdit::UrlLineEdit(QWidget *parent) - : ExLineEdit(parent) - , m_webView(0) - , m_iconLabel(0) -{ - // Urls are always LeftToRight - setLayoutDirection(Qt::LeftToRight); - - // icon - m_iconLabel = new UrlIconLabel(this); - m_iconLabel->resize(16, 16); - setLeftWidget(m_iconLabel); - m_defaultBaseColor = palette().color(QPalette::Base); - - webViewIconChanged(); -} - -void UrlLineEdit::setWebView(WebView *webView) -{ - Q_ASSERT(!m_webView); - m_webView = webView; - m_iconLabel->m_webView = webView; - connect(webView, SIGNAL(urlChanged(const QUrl &)), - this, SLOT(webViewUrlChanged(const QUrl &))); - connect(webView, SIGNAL(loadFinished(bool)), - this, SLOT(webViewIconChanged())); - connect(webView, SIGNAL(iconChanged()), - this, SLOT(webViewIconChanged())); - connect(webView, SIGNAL(loadProgress(int)), - this, SLOT(update())); -} - -void UrlLineEdit::webViewUrlChanged(const QUrl &url) -{ - m_lineEdit->setText(url.toString()); - m_lineEdit->setCursorPosition(0); -} - -void UrlLineEdit::webViewIconChanged() -{ - QUrl url = (m_webView) ? m_webView->url() : QUrl(); - QIcon icon = BrowserApplication::instance()->icon(url); - QPixmap pixmap(icon.pixmap(16, 16)); - m_iconLabel->setPixmap(pixmap); -} - -QLinearGradient UrlLineEdit::generateGradient(const QColor &color) const -{ - QLinearGradient gradient(0, 0, 0, height()); - gradient.setColorAt(0, m_defaultBaseColor); - gradient.setColorAt(0.15, color.lighter(120)); - gradient.setColorAt(0.5, color); - gradient.setColorAt(0.85, color.lighter(120)); - gradient.setColorAt(1, m_defaultBaseColor); - return gradient; -} - -void UrlLineEdit::focusOutEvent(QFocusEvent *event) -{ - if (m_lineEdit->text().isEmpty() && m_webView) - m_lineEdit->setText(m_webView->url().toString()); - ExLineEdit::focusOutEvent(event); -} - -void UrlLineEdit::paintEvent(QPaintEvent *event) -{ - QPalette p = palette(); - if (m_webView && m_webView->url().scheme() == QLatin1String("https") - && p.brush(QPalette::Text) != Qt::black) { - QColor lightYellow(248, 248, 210); - p.setBrush(QPalette::Base, lightYellow); - } else { - p.setBrush(QPalette::Base, m_defaultBaseColor); - } - setPalette(p); - ExLineEdit::paintEvent(event); - - QPainter painter(this); - QStyleOptionFrameV2 panel; - initStyleOption(&panel); - QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); - if (m_webView && !hasFocus()) { - int progress = m_webView->progress(); - QColor loadingColor = QColor(116, 192, 250); - if (p.brush(QPalette::Text) != Qt::black) - loadingColor = m_defaultBaseColor.value() < 128 ? m_defaultBaseColor.lighter(200) : m_defaultBaseColor.darker(200); - - painter.setBrush(generateGradient(loadingColor)); - painter.setPen(Qt::transparent); - - int mid = backgroundRect.width() / 100 * progress; - QRect progressRect; - switch (layoutDirection()) { - case Qt::RightToLeft: - progressRect = QRect(backgroundRect.width() - mid, backgroundRect.y(), mid, backgroundRect.height()); - break; - - case Qt::LeftToRight: - default: - progressRect = QRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height()); - break; - } - painter.drawRect(progressRect); - } -} - diff --git a/src/urllineedit.h b/src/urllineedit.h deleted file mode 100644 index 04ff5b33..00000000 --- a/src/urllineedit.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright 2008 Benjamin C. Meyer - * - * 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 2 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, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA - */ - -/**************************************************************************** -** -** Copyright (C) 2008-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License versions 2.0 or 3.0 as published by the Free Software -** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Alternatively you may (at -** your option) use any later version of the GNU General Public -** License if such license has been publicly approved by Trolltech ASA -** (or its successors, if any) and the KDE Free Qt Foundation. In -** addition, as a special exception, Trolltech gives you certain -** additional rights. These rights are described in the Trolltech GPL -** Exception version 1.2, which can be found at -** http://www.trolltech.com/products/qt/gplexception/ and in the file -** GPL_EXCEPTION.txt in this package. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. If -** you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** In addition, as a special exception, Trolltech, as the sole -** copyright holder for Qt Designer, grants users of the Qt/Eclipse -** Integration plug-in the right for the Qt/Eclipse Integration to -** link to functionality provided by Qt Designer and its related -** libraries. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly -** granted herein. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ - -#ifndef URLLINEEDIT_H -#define URLLINEEDIT_H - -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE -class QLineEdit; -QT_END_NAMESPACE - -class ClearButton; -class ExLineEdit : public QWidget -{ - Q_OBJECT - -public: - ExLineEdit(QWidget *parent = 0); - - inline QLineEdit *lineEdit() const { return m_lineEdit; } - - void setLeftWidget(QWidget *widget); - QWidget *leftWidget() const; - - QSize sizeHint() const; - -protected: - void focusInEvent(QFocusEvent *event); - void focusOutEvent(QFocusEvent *event); - void keyPressEvent(QKeyEvent *event); - void paintEvent(QPaintEvent *event); - void resizeEvent(QResizeEvent *event); - bool event(QEvent *event); - void clear(); - -protected: - void updateGeometries(); - void initStyleOption(QStyleOptionFrameV2 *option) const; - - QWidget *m_leftWidget; - QLineEdit *m_lineEdit; - ClearButton *m_clearButton; -}; - -class UrlIconLabel; -class WebView; -class UrlLineEdit : public ExLineEdit -{ - Q_OBJECT - -public: - UrlLineEdit(QWidget *parent = 0); - void setWebView(WebView *webView); - -protected: - void paintEvent(QPaintEvent *event); - void focusOutEvent(QFocusEvent *event); - -private slots: - void webViewUrlChanged(const QUrl &url); - void webViewIconChanged(); - -private: - QLinearGradient generateGradient(const QColor &color) const; - QPointer m_webView; - UrlIconLabel *m_iconLabel; - QColor m_defaultBaseColor; - -}; - - -#endif // URLLINEEDIT_H - diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index a2bc7030..4c1a9209 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -121,6 +121,11 @@ void LineEdit::setWidgetSpacing(int spacing) updateTextMargins(); } +int LineEdit::widgetSpacing() const +{ + return m_leftLayout->spacing(); +} + int LineEdit::textMargin(WidgetPosition position) const { int spacing = m_rightLayout->spacing(); @@ -157,7 +162,7 @@ void LineEdit::updateSideWidgetLocations() int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); - textRect.adjust(-left, 0, right, 0); + textRect.adjust(-left, 1, right, 0); int midHeight = textRect.center().y(); @@ -168,8 +173,9 @@ void LineEdit::updateSideWidgetLocations() leftHeight = midHeight - m_leftWidget->sizeHint().height() / 2; m_leftWidget->move(textRect.x(), leftHeight); } - textRect.setY(midHeight - m_rightWidget->height() / 2); - textRect.setHeight(m_rightWidget->height()); + textRect.setX(left); + textRect.setY(midHeight - m_rightWidget->sizeHint().height() / 2); + textRect.setHeight(m_rightWidget->sizeHint().height()); m_rightWidget->setGeometry(textRect); } diff --git a/src/utils/lineedit.h b/src/utils/lineedit.h index d6b30483..1215083a 100644 --- a/src/utils/lineedit.h +++ b/src/utils/lineedit.h @@ -51,6 +51,7 @@ class LineEdit : public QLineEdit void addWidget(QWidget *widget, WidgetPosition position); void removeWidget(QWidget *widget); void setWidgetSpacing(int spacing); + int widgetSpacing() const; int textMargin(WidgetPosition position) const; protected: diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index 26efd201..c7adaa81 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -60,7 +60,7 @@ void WebViewSearch::initializeSearchWidget() this, SLOT(findNext())); connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(findPrevious())); - connect(ui.searchLineEdit->lineEdit(), SIGNAL(returnPressed()), + connect(ui.searchLineEdit, SIGNAL(returnPressed()), this, SLOT(findNext())); connect(ui.doneButton, SIGNAL(clicked()), this, SLOT(animateHide())); @@ -82,7 +82,7 @@ QWebView *WebViewSearch::webView() const void WebViewSearch::clear() { - ui.searchLineEdit->lineEdit()->setText(QString()); + ui.searchLineEdit->setText(QString()); } void WebViewSearch::showFind() @@ -96,7 +96,7 @@ void WebViewSearch::showFind() m_timeLine->start(); } ui.searchLineEdit->setFocus(); - ui.searchLineEdit->lineEdit()->selectAll(); + ui.searchLineEdit->selectAll(); } void WebViewSearch::findNext() @@ -111,7 +111,7 @@ void WebViewSearch::findPrevious() void WebViewSearch::find(QWebPage::FindFlags flags) { - QString searchString = ui.searchLineEdit->lineEdit()->text(); + QString searchString = ui.searchLineEdit->text(); if (!m_webView || searchString.isEmpty()) return; QString infoString; From e5314ce9e92aacf4f93c7fd990b1adc0a4552402 Mon Sep 17 00:00:00 2001 From: Vincenzo Reale Date: Sun, 6 Jul 2008 20:10:56 +0200 Subject: [PATCH 0077/1254] Fixed italian translation. Signed-off-by: Riccardo Iaconelli --- src/locale/it.ts | 289 ++++++++++++++++++++++++----------------------- 1 file changed, 148 insertions(+), 141 deletions(-) diff --git a/src/locale/it.ts b/src/locale/it.ts index 23e2c488..aa924398 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -11,7 +11,7 @@ Lightweight WebKit-based web browser - Browser Web leggero basato su WebKit + Browser web leggero basato su WebKit @@ -48,7 +48,7 @@ p, li { white-space: pre-wrap; } Add Bookmark - Aggiungi un Segnalibro + Aggiungi un segnalibro @@ -66,12 +66,12 @@ p, li { white-space: pre-wrap; } Delete - Cancella + Elimina New Folder - Nuova Cartella + Nuova cartella @@ -86,12 +86,12 @@ p, li { white-space: pre-wrap; } Add Folder - Aggiungi Cartella + Aggiungi cartella Open in New Tab - Apri in una nuova Scheda + Apri in una nuova scheda
@@ -100,13 +100,13 @@ p, li { white-space: pre-wrap; } Error when loading bookmarks on line %1, column %2: %3 - Errore durante l'appertura dei segnalibri sulla riga %1, colonna %2 + Errore durante l'apertura dei segnalibri alla riga %1, colonna %2: %3 Toolbar Bookmarks - Barra dei Segnalibri + Barra dei segnalibri @@ -116,7 +116,7 @@ p, li { white-space: pre-wrap; } Open File - Apri File + Apri file @@ -131,7 +131,7 @@ p, li { white-space: pre-wrap; } Save File - Salva il File + Salva il file @@ -151,22 +151,22 @@ p, li { white-space: pre-wrap; } Remove Bookmark - Rimuovi Segnalibro + Rimuovi segnalibro Insert Bookmark - Inserisci Segnalibro + Inserisci segnalibro Name Change - Cambia il Nome + Cambia il nome Address Change - Cambia l'Indirizzo + Cambia l'indirizzo @@ -197,17 +197,17 @@ p, li { white-space: pre-wrap; } There are %1 windows and %2 tabs open Do you want to quit anyway? Ci sono %1 finestre e %2 schede aperte -Se sicuro di voler uscire? +Sei sicuro di voler uscire? Restore failed - Ripristino fallito + Ripristino non riuscito The saved session will not being restored because last time it was restored Arora crashed. - La sessione salvata non sar脿 ripristinata perch猫 l'ultima volta che 猫 stata ripristinata Arora 猫 andata in crash. + La sessione salvata non sar脿 ripristinata perch茅 l'ultima volta che 猫 stata ripristinata Arora 猫 andato in crash. @@ -220,37 +220,37 @@ Se sicuro di voler uscire? &New Window - &Nuova Finestra + &Nuova finestra &Open File... - &Apri File... + &Apri file... Open &Location... - &Apri Indirizzo... + &Apri indirizzo... &Save As... - &Salva Con Nome... + &Salva come... &Import Bookmarks... - &Importa i Segnalibri... + &Importa i segnalibri... &Export Bookmarks... - &Esporta i Segnalibri... + &Esporta segnalibri... P&rint Preview... - An&teprima di Stampa... + An&teprima di stampa... @@ -260,7 +260,7 @@ Se sicuro di voler uscire? Private &Browsing... - &Navigazione Anonima... + &Navigazione anonima... @@ -300,17 +300,17 @@ Se sicuro di voler uscire? &Find - &Cerca + Tro&va &Find Next - &Cerca il Successivo + Tro&va successivo &Find Previous - &Cerca il Precedente + Tro&va precedente @@ -325,7 +325,7 @@ Se sicuro di voler uscire? &View - &Vista + &Visualizza @@ -350,27 +350,27 @@ Se sicuro di voler uscire? Reload Page - Ricarica la Pagina + Ricarica la pagina &Make Text Bigger - &Ingrandisci il Testo + &Ingrandisci il testo &Make Text Normal - &Dimensione Normale + &Dimensione normale &Make Text Smaller - &Rimpicciolisci il Testo + &Rimpicciolisci il testo Page S&ource - &Sorgente della Pagina + &Sorgente della pagina @@ -380,7 +380,7 @@ Se sicuro di voler uscire? &Full Screen - &Schermo Intero + &Schermo intero @@ -400,12 +400,12 @@ Se sicuro di voler uscire? Home - Pagina Iniziale + Pagina iniziale Restore Last Session - Ripristina la Sessione Precedente + Ripristina la sessione precedente @@ -415,12 +415,12 @@ Se sicuro di voler uscire? Manage Bookmarks... - Gestione dei Segnalibri... + Gestione dei segnalibri... Add Bookmark... - Aggiungi Segnalibro... + Aggiungi segnalibro... @@ -435,7 +435,7 @@ Se sicuro di voler uscire? Web &Search - &Ricerca nel Web + &Ricerca nel web @@ -446,7 +446,7 @@ Se sicuro di voler uscire? Enable Web &Inspector - Abilita l'&Ispettore Web + Abilita l'anal&izzatore web @@ -471,28 +471,30 @@ Se sicuro di voler uscire? Show Status Bar - Mostra la Barra di Stato + Mostra la barra di stato Hide Status Bar - Nascondi la Barra di Stato + Nascondi la barra di stato Show Toolbar - Mostra la Barra Degli Strumenti + Mostra la barra degli strumenti Hide Toolbar - Nascondi la Barra Degli Strumenti + Nascondi la barra degli strumenti + Show Bookmarks bar Mostra la Barra Dei Segnalibri + Hide Bookmarks bar Nascondi la Barra Dei Segnalibri @@ -510,17 +512,17 @@ Se sicuro di voler uscire? Open Web Resource - Apri Risorsa Web + Apri risorsa web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Risorse Web (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Risorse web (*.html *.htm *.svg *.png *.gif *.svgz);;Tutti i file (*.*) Print Document - Stampa Documento + Stampa documento @@ -530,7 +532,7 @@ Se sicuro di voler uscire? Are you sure you want to close the window? There are %1 tabs open - Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte + Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte @@ -540,24 +542,24 @@ Se sicuro di voler uscire? Web Inspector - Ispettore Web + Analizzatore web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - L'ispettore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. + L'analizzatore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? Stop loading the current page - Ferma il caricamento della pagina corrente + Ferma il caricamento della pagina attuale Reload the current page - Ricarica la pagina corrente + Ricarica la pagina attuale @@ -573,7 +575,7 @@ Vuoi ricaricare tutte le pagine? &Clear Private Data - &Cancella i Dati Privati + &Cancella i dati privati @@ -584,17 +586,17 @@ Vuoi ricaricare tutte le pagine? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sul box di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i bottoni Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. + <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sulla riquadro di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i pulsanti Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. Show Bookmarks Bar - Visualizza la barra dei Preferiti + Visualizza la barra dei segnalibri Hide Bookmarks Bar - Nascondi la barra dei Preferiti + Nascondi la barra dei segnalibri @@ -610,7 +612,7 @@ Vuoi ricaricare tutte le pagine? Clear Private Data - Cancella i Dati Privati + Cancella i dati privati @@ -620,17 +622,17 @@ Vuoi ricaricare tutte le pagine? &Browsing History - Cronologia della &Navigazione + Cronologia della &navigazione &Download History - Cronologia dei &Download + Cronolo&gia degli scaricamenti &Search History - Cronologia delle &Ricerche + Cronologia delle &ricerche @@ -640,17 +642,17 @@ Vuoi ricaricare tutte le pagine? C&ache - Dati della C&ache + C&ache Website &Icons - &Icone dei Siti + &Icone dei siti Clear &Private Data - Cancella i Dati &Privati + Cancella i dati &privati @@ -663,7 +665,7 @@ Vuoi ricaricare tutte le pagine? Website - Sito + Sito web @@ -683,7 +685,7 @@ Vuoi ricaricare tutte le pagine? Allow For Session - Consenti nella Sessione + Consenti nella sessione @@ -691,7 +693,7 @@ Vuoi ricaricare tutte le pagine? Website - Sito + Sito web @@ -729,12 +731,12 @@ Vuoi ricaricare tutte le pagine? &Remove - &Cancella + &Rimuovi Remove &All Cookies - Cancella &Tutti i Cookie + Rimuovi &tutti i cookie @@ -747,7 +749,7 @@ Vuoi ricaricare tutte le pagine? New Exception - Nuova Eccezione + Nuova eccezione @@ -762,7 +764,7 @@ Vuoi ricaricare tutte le pagine? Allow For Session - Consenti nella Sessione + Consenti nella sessione @@ -777,12 +779,12 @@ Vuoi ricaricare tutte le pagine? &Remove - &Cancella + &Rimuovi Remove &All - Cancella &Tutti + Rimuovi &tutti @@ -800,7 +802,7 @@ Vuoi ricaricare tutte le pagine? 0 Items - Nessun Elemento + 0 elementi @@ -808,17 +810,17 @@ Vuoi ricaricare tutte le pagine? Save File - Salva il File + Salva il file Download canceled: %1 - Download annullato: %1 + Scaricamento annullato: %1 Error opening save file: %1 - Errore salvando il file: %1 + Errore durante l'apertura del file: %1 @@ -828,7 +830,7 @@ Vuoi ricaricare tutte le pagine? Network Error: %1 - Errore di Rete: %1 + Errore di rete: %1 @@ -836,10 +838,12 @@ Vuoi ricaricare tutte le pagine? secondi + minutes minuti + - %4 %5 remaining - %4 %5 rimanenti @@ -876,7 +880,7 @@ Vuoi ricaricare tutte le pagine? Form - Scheda + Modulo @@ -923,10 +927,12 @@ Vuoi ricaricare tutte le pagine? DownloadManager + 1 Download 1 Scaricamento + %1 Downloads %2 Scaricamenti @@ -934,8 +940,8 @@ Vuoi ricaricare tutte le pagine? %n Download(s) - %n Scaricamento - %n Scaricamenti + %n scaricamento + %n scaricamenti @@ -954,7 +960,7 @@ Vuoi ricaricare tutte le pagine? Delete - Cancella + Elimina @@ -964,12 +970,12 @@ Vuoi ricaricare tutte le pagine? &Remove - &Cancella + &Rimuovi Remove &All - Cancella &Tutti + Rimuovi &tutti
@@ -977,12 +983,12 @@ Vuoi ricaricare tutte le pagine? Show All History - Mostra tutta la Cronologia + Mostra tutta la cronologia Clear History - Cancella la Cronologia + Cancella la cronologia @@ -1003,9 +1009,10 @@ Vuoi ricaricare tutte le pagine? Earlier Today - Odierni + Prima di oggi + %1 items %1 elementi @@ -1050,7 +1057,7 @@ Vuoi ignorare questi errori? Do you want to accept all these certificates? - Accetti tutti questi certificati? + Vuoi accettare tutti questi certificati? @@ -1058,7 +1065,7 @@ Vuoi ignorare questi errori? Authentication Required - E' Richiesta l'Autenticazione + Autenticazione richiesta @@ -1068,12 +1075,12 @@ Vuoi ignorare questi errori? INTRO TEXT DUMMY - TESTO FANTASMA + TESTO INTRODUTTIVO FANTASMA Username: - Nome Utente: + Nome utente: @@ -1086,7 +1093,7 @@ Vuoi ignorare questi errori? Proxy Authentication - Autenticazione al Proxy + Autenticazione al proxy @@ -1101,7 +1108,7 @@ Vuoi ignorare questi errori? Username: - Nome Utente: + Nome utente: @@ -1127,12 +1134,12 @@ Vuoi ignorare questi errori? Form - Scheda + Modulo TextLabel - Etichetta + TextLabel @@ -1168,7 +1175,7 @@ Vuoi ignorare questi errori? General - Generali + Generale @@ -1183,7 +1190,7 @@ Vuoi ignorare questi errori? Remove history items: - Cancella gli elementi dalla cronologia: + Rimuovi gli elementi dalla cronologia: @@ -1218,7 +1225,7 @@ Vuoi ignorare questi errori? Open links from applications: - Apri i link dalle applicazioni: + Apri i collegamenti dalle applicazioni: @@ -1248,17 +1255,17 @@ Vuoi ignorare questi errori? Web Content - Contenuto Web + Contenuto web Enable Plugins - Abilita i Plugin + Abilita i plugin Enable Javascript - Abilita il Javascript + Abilita Javascript @@ -1268,7 +1275,7 @@ Vuoi ignorare questi errori? Accept Cookies: - Accetta i Cookie + Accetta cookie: @@ -1353,7 +1360,7 @@ Vuoi ignorare questi errori? User Name: - Nome Utente: + Nome utente: @@ -1368,7 +1375,7 @@ Vuoi ignorare questi errori? Style Sheet: - Stile Web: + Foglio di stile: @@ -1408,27 +1415,27 @@ Vuoi ignorare questi errori? On startup: - In fase di avvio: + All'avvio: Show my home page - Mostra la home page + Mostra la pagina iniziale Show a blank page - Mostra pagina vuota + Mostra una pagina vuota Restore windows and tabs from last time - Ripristina le finestre ed i tabs dell'ultima sessione + Ripristina le finestre ed le schede dell'ultima sessione On application exit - In fase di chiusura + All'uscita @@ -1438,17 +1445,17 @@ Vuoi ignorare questi errori? Tabs - Tabs + Schede Select tabs and windows as they are created - Seleziona tabs e finestre a seconda di come sono state create + Seleziona schede e finestre a seconda di come sono state create Confirm when closing multiple tabs - Chiedi conferma durante la chiusura di tab multipli + Chiedi conferma durante la chiusura di schede multiple @@ -1456,42 +1463,42 @@ Vuoi ignorare questi errori? New &Tab - &Nuova Scheda + &Nuova scheda Duplicate Tab - Duplica Scheda + Duplica scheda &Close Tab - &Chiudi Scheda + &Chiudi scheda Close &Other Tabs - Chiudi &Altre Schede + Chiudi &altre schede Reload Tab - Ricarica Scheda + Ricarica scheda Reload All Tabs - Ricarica Tutte le Schede + Ricarica tutte le schede Show Tab Bar - Visualizza la barra dei Tab + Mostra la barra delle schede Hide Tab Bar - Nascondi la barra dei Tab + Nascondi la barra delle schede @@ -1499,27 +1506,27 @@ Vuoi ignorare questi errori? New &Tab - &Nuova Scheda + &Nuova scheda &Close Tab - &Chiudi la Scheda + &Chiudi la scheda Show Next Tab - Mostra la Scheda Successiva + Mostra la scheda successiva Show Previous Tab - Mostra la Scheda Precedente + Mostra la scheda precedente Recently Closed Tabs - Schede Chiuse di Recente + Schede chiuse di recente @@ -1536,7 +1543,7 @@ Vuoi ignorare questi errori? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? - Hai modificato questa pagina e chiudendola perderai la tua modifica. + Hai modificato questa pagina e chiudendola perderai le tue modifiche. Sei sicuro di volerlo fare? @@ -1551,17 +1558,17 @@ Sei sicuro di volerlo fare? No Recent Searches - Nessuna Ricerca Recente + Nessuna ricerca recente Recent Searches - Ricerche Recenti + Ricerche recenti Clear Recent Searches - Cancella le Ricerche Recenti + Cancella le ricerche recenti @@ -1569,7 +1576,7 @@ Sei sicuro di volerlo fare? Error loading page: %1 - Errore aprendo la pagina: %1 + Errore durante l'apertura della pagina: %1 @@ -1577,52 +1584,52 @@ Sei sicuro di volerlo fare? Open in New &Window - Apri in una Nuova &Finestra + Apri in una nuova &finestra Open in New &Tab - Apri in una Nuova &Scheda + Apri in una nuova &scheda Save Lin&k - Salva il Lin&k + Salva il colle&gamento &Bookmark This Link - Salva il Link nei Segnali&bri + Salva il collegamento nei Segnali&bri &Copy Link Location - &Copia il link + &Copia l'indirizzo del collegamento Open Image in New &Window - Apri l'Immagine un una nuova &Finestra + Apri l'immagine un una nuova &finestra Open Image in New &Tab - Apri l'Immagine in una nuova &Scheda + Apri l'immagine in una nuova &scheda &Save Image - &Salva l'Immagine + &Salva l'immagine &Copy Image - &Copia l'Immagine negli Appunti + &Copia l'immagine C&opy Image Location - C&opia l'indirizzo dell'Immagine + C&opia l'indirizzo dell'immagine @@ -1635,7 +1642,7 @@ Sei sicuro di volerlo fare? Not Found - Non Trovato + Non trovato
From 52c6958f8e42a405ce74dafc22952b66617e0357 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 8 Jul 2008 18:55:24 +0200 Subject: [PATCH 0078/1254] Improve a number of the strings (feedback from MentalMaelstrom) --- src/browserapplication.cpp | 2 +- src/clearprivatedata.cpp | 2 +- src/cookiejar.cpp | 4 ++-- src/downloadmanager.cpp | 2 +- src/settings.ui | 17 +++++++---------- src/toolbarsearch.cpp | 2 +- 6 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 1f7c5dd2..31445100 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -354,7 +354,7 @@ bool BrowserApplication::restoreLastSession() settings.beginGroup(QLatin1String("MainWindow")); if (settings.value(QLatin1String("restoring"), false).toBool()) { QMessageBox::information(0, tr("Restore failed"), - tr("The saved session will not being restored because last time it was restored Arora crashed.")); + tr("The saved session will not be restored because Arora crashed while trying to restore this session.")); return false; } // saveSession will be called by an AutoSaver timer from the set tabs diff --git a/src/clearprivatedata.cpp b/src/clearprivatedata.cpp index f92074a9..f8b667cd 100644 --- a/src/clearprivatedata.cpp +++ b/src/clearprivatedata.cpp @@ -56,7 +56,7 @@ ClearPrivateData::ClearPrivateData(QWidget *parent) m_cookies->setChecked(true); layout->addWidget(m_cookies); - m_cache = new QCheckBox(tr("C&ache")); + m_cache = new QCheckBox(tr("C&ached Web Pages")); m_cache->setEnabled(false); layout->addWidget(m_cache); diff --git a/src/cookiejar.cpp b/src/cookiejar.cpp index 40c04d8b..38910e57 100644 --- a/src/cookiejar.cpp +++ b/src/cookiejar.cpp @@ -476,7 +476,7 @@ QVariant CookieModel::data(const QModelIndex &index, int role) const case 2: return cookie.path(); case 3: - return cookie.isSecure(); + return cookie.isSecure() ? tr("true") : tr("false"); case 4: return cookie.expirationDate(); case 5: @@ -595,7 +595,7 @@ QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientat case 0: return tr("Website"); case 1: - return tr("Status"); + return tr("Rule"); } } return QAbstractTableModel::headerData(section, orientation, role); diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 81d485ec..f2d4f17a 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -261,7 +261,7 @@ void DownloadItem::downloadReadyRead() if (!m_requestFileName) getFileName(); if (!m_output.open(QIODevice::WriteOnly)) { - downloadInfoLabel->setText(tr("Error opening save file: %1") + downloadInfoLabel->setText(tr("Error opening output file: %1") .arg(m_output.errorString())); stop(); emit statusChanged(); diff --git a/src/settings.ui b/src/settings.ui index 58449f1d..93795b2e 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -5,12 +5,12 @@ 0 0 - 588 + 598 399 - Settings + Preferences @@ -65,7 +65,7 @@ - Home: + Home Page: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -199,7 +199,6 @@ - downloadAsk @@ -337,7 +336,7 @@ - Enable Images + View Images true @@ -392,7 +391,7 @@ - Keep until: + Keep Cookies Until: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -488,7 +487,7 @@ - Enable proxy + Use proxy server true @@ -521,7 +520,7 @@ - Host: + Host name: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -645,8 +644,6 @@ - buttonBox - tabWidget tabWidget diff --git a/src/toolbarsearch.cpp b/src/toolbarsearch.cpp index 276be728..a1a962c9 100644 --- a/src/toolbarsearch.cpp +++ b/src/toolbarsearch.cpp @@ -91,7 +91,7 @@ ToolbarSearch::ToolbarSearch(QWidget *parent) setCompleter(completer); connect(this, SIGNAL(returnPressed()), SLOT(searchNow())); - setInactiveText(tr("Google")); + setInactiveText(QLatin1String("Google")); load(); } From 3c37f1e80a7c5c99a13c933cf78625badf81a7f2 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 10 Jul 2008 18:53:01 +0200 Subject: [PATCH 0079/1254] Save the location of the toolbars Issue: 129 --- src/browsermainwindow.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 8965eaf7..201625de 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -257,6 +257,9 @@ QByteArray BrowserMainWindow::saveState(bool withTabs) const stream << QByteArray(); stream << m_navigationSplitter->saveState(); stream << m_tabWidget->tabBar()->showTabBarWhenOneTab(); + + stream << qint32(toolBarArea(m_navigationBar)); + stream << qint32(toolBarArea(m_bookmarksToolbar)); return data; } @@ -282,6 +285,8 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) QByteArray tabState; QByteArray splitterState; bool showTabBarWhenOneTab; + qint32 navigationBarLocation; + qint32 bookmarkBarLocation; stream >> size; stream >> showToolbar; @@ -290,6 +295,8 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) stream >> tabState; stream >> splitterState; stream >> showTabBarWhenOneTab; + stream >> navigationBarLocation; + stream >> bookmarkBarLocation; resize(size); @@ -312,6 +319,13 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) m_tabWidget->tabBar()->setShowTabBarWhenOneTab(showTabBarWhenOneTab); + Qt::ToolBarArea navigationArea = Qt::ToolBarArea(navigationBarLocation); + if (navigationArea != Qt::TopToolBarArea && navigationArea != Qt::NoToolBarArea) + addToolBar(navigationArea, m_navigationBar); + Qt::ToolBarArea bookmarkArea = Qt::ToolBarArea(navigationBarLocation); + if (bookmarkArea != Qt::TopToolBarArea && bookmarkArea != Qt::NoToolBarArea) + addToolBar(bookmarkArea, m_bookmarksToolbar); + return true; } From 3cc037a4ddb7f019c36783241f8c756ec42a71d2 Mon Sep 17 00:00:00 2001 From: Josef Kufner Date: Wed, 9 Jul 2008 22:21:57 +0200 Subject: [PATCH 0080/1254] Downloads: Added close button --- src/downloadmanager.cpp | 1 + src/downloads.ui | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index f2d4f17a..030a8cb1 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -427,6 +427,7 @@ DownloadManager::DownloadManager(QWidget *parent) m_model = new DownloadModel(this); downloadsView->setModel(m_model); connect(cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup())); + connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); load(); } diff --git a/src/downloads.ui b/src/downloads.ui index e856b017..05913e2e 100644 --- a/src/downloads.ui +++ b/src/downloads.ui @@ -19,7 +19,7 @@ 0 - + QFrame::NoFrame @@ -60,6 +60,13 @@ + + + + &OK + + + From a6dd1bc40803f60c17bb76cad09b4193ed9f2bfd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 10 Jul 2008 23:13:04 +0200 Subject: [PATCH 0081/1254] Tweak spacing --- src/downloads.ui | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/downloads.ui b/src/downloads.ui index 05913e2e..6b3fc367 100644 --- a/src/downloads.ui +++ b/src/downloads.ui @@ -5,8 +5,8 @@ 0 0 - 332 - 252 + 340 + 233 @@ -19,7 +19,7 @@ 0 - + QFrame::NoFrame @@ -60,25 +60,29 @@ - - - - &OK - - - - - - Qt::Horizontal - - - - 148 - 20 - - - + + + + + Qt::Horizontal + + + + 50 + 20 + + + + + + + + &OK + + + + From 074a87c660b0cb585d5b55cc010ddea462c0844c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 11 Jul 2008 00:55:01 +0200 Subject: [PATCH 0082/1254] Fix segfault caused by the clear private data dialog. --- src/toolbarsearch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/toolbarsearch.cpp b/src/toolbarsearch.cpp index a1a962c9..32047457 100644 --- a/src/toolbarsearch.cpp +++ b/src/toolbarsearch.cpp @@ -178,7 +178,7 @@ void ToolbarSearch::clear() { m_stringListModel->setStringList(QStringList()); m_autosaver->changeOccurred(); - clear(); + QLineEdit::clear(); clearFocus(); } From 3acf5703dbc9da81390128e74ef3296d2138893c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 11 Jul 2008 22:39:32 +0200 Subject: [PATCH 0083/1254] Copy and paste error, restore the bookmark area with the bookmark location, not main toolbar location Issue: 129 --- src/browsermainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 201625de..9a4dfff9 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -322,7 +322,7 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) Qt::ToolBarArea navigationArea = Qt::ToolBarArea(navigationBarLocation); if (navigationArea != Qt::TopToolBarArea && navigationArea != Qt::NoToolBarArea) addToolBar(navigationArea, m_navigationBar); - Qt::ToolBarArea bookmarkArea = Qt::ToolBarArea(navigationBarLocation); + Qt::ToolBarArea bookmarkArea = Qt::ToolBarArea(bookmarkBarLocation); if (bookmarkArea != Qt::TopToolBarArea && bookmarkArea != Qt::NoToolBarArea) addToolBar(bookmarkArea, m_bookmarksToolbar); From 9b5c406e2f62fadd93f1c83201712b6c382e2cae Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 11 Jul 2008 22:43:54 +0200 Subject: [PATCH 0084/1254] =?UTF-8?q?Add=20Turkish=20translation=20by=20H.?= =?UTF-8?q?=20=C4=B0brahim=20G=C3=BCng=C3=B6r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/tr.ts | 1292 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1293 insertions(+) create mode 100644 src/locale/tr.ts diff --git a/src/locale/tr.ts b/src/locale/tr.ts new file mode 100644 index 00000000..3e1cbc37 --- /dev/null +++ b/src/locale/tr.ts @@ -0,0 +1,1292 @@ + + + + + AboutDialog + + Lightweight WebKit-based web browser + Webkit tabanl谋 hafif web taray谋c谋 + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">锟<html><head><meta name="qrichtext" content="1" /><style type="text/css">锟紁, li { white-space: pre-wrap; }锟</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">锟<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + Authors + Yazarlar + + + License + Lisans + + + Close + Kapat + + + About + Hakk谋nda + + + + AddBookmarkDialog + + Add Bookmark + Yer 陌mlerine Ekle + + + Type a name for the bookmark, and choose where to keep it. + Yer imi i莽in bir ad girin ve nerede saklanaca臒谋n谋 belirtin. + + + + BookmarksDialog + + Bookmarks + Yer 陌mleri + + + &Remove + &Sil + + + Add Folder + Dizin Ekle + + + Open + A莽 + + + Open in New Tab + Yeni Sekmede A莽 + + + Delete + Sil + + + New Folder + Yeni Dizin + + + + BookmarksManager + + Error when loading bookmarks on line %1, column %2: +%3 + Sat谋r %1, s眉tun %2'deki yerimini y眉klerken hata olu艧tu:锟%3 + + + Toolbar Bookmarks + Yer 陌mleri Ara莽 脟ubu臒u + + + Menu + Men眉 + + + Open File + Dosya A莽 + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + Imported %1 + %1 陌莽e Aktar谋ld谋 + + + Save File + Dosyay谋 Kaydet + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + Export error + D谋艧a aktar谋m hatas谋 + + + error saving bookmarks + Yer imlerini saklarken hata olu艧tu + + + Remove Bookmark + Yer 陌mini Sil + + + Insert Bookmark + Yer 陌mini Araya Ekle + + + Name Change + 陌sim De臒i艧tir + + + Address Change + Adres De臒i艧tir + + + + BookmarksModel + + Title + Ba艧l谋k + + + Address + Adres + + + + BookmarksToolBar + + Bookmark + Yer 陌mi + + + + BrowserApplication + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + %1 pencere ve %2 sekme a莽谋k bulunuyor +Yinede 莽谋kmak istiyor musunuz? + + + Restore failed + Geri y眉kleme ba艧ar谋s谋z + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Kaydolan oturum geri y眉klenemeyecek 莽眉nk眉 Arora oturumu geri y眉klerken 莽枚kt眉 + + + + BrowserMainWindow + + &File + D&osya + + + &New Window + &Yeni Pencere + + + &Open File... + &Dosya A莽 + + + Open &Location... + &Konumu A莽 + + + &Save As... + &Farkl谋 Kaydet + + + &Import Bookmarks... + &Yerimlerini 陌莽e Aktar + + + &Export Bookmarks... + &Yerimlerini D谋艧a Aktar + + + P&rint Preview... + &Bask谋 脰nizleme + + + &Print... + &Yazd谋r + + + Private &Browsing... + &脰zel Gezinme + + + &Quit + &脟谋k谋艧 + + + &Edit + &D眉zenle + + + &Undo + &Geri Al + + + &Redo + &陌leri Al + + + Cu&t + &Kes + + + &Copy + &Kopyala + + + &Paste + &Yap谋艧t谋r + + + &Find + &Bul + + + Find &Next + &Sonrakini Bul + + + Find P&revious + &脰ncekini Bul + + + Prefe&rences + &Tercihler + + + Ctrl+, + Ctrl+, + + + &View + &G枚r眉n眉m + + + Ctrl+| + Ctrl+| + + + Shift+Ctrl+B + Shift+Ctrl+B + + + Ctrl+/ + Ctrl+/ + + + &Stop + &Dur + + + &Reload Page + %Sayfay谋 Yeniden Y眉kle + + + Make Text &Bigger + &Yaz谋y谋 B眉y眉t + + + Make Text &Normal + &Yaz谋y谋 Normal Yap + + + Make Text &Smaller + &Yaz谋y谋 K眉莽眉lt + + + Page S&ource + &Sayfa Kayna臒谋 + + + Ctrl+Alt+U + Ctrl+Alt+U + + + &Full Screen + &Tam Ekran + + + Hi&story + &Ge莽mi艧 + + + Back + &Geri + + + Forward + &陌leri + + + Home + Ev + + + Restore Last Session + En Son Oturumu Geri Y眉kle + + + &Bookmarks + &Yer 陌mleri + + + Manage Bookmarks... + Yer 陌mlerini D眉zenle + + + Add Bookmark... + Yer 陌mi Ekle... + + + &Window + &Pencere + + + &Tools + &Ara莽lar + + + Web &Search + &Arama + + + Ctrl+K + Web Search + Ctrl+K + + + &Clear Private Data + &脰zel Verileri Temizle + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + Enable Web &Inspector + Web Denet莽isini Aktif Et + + + &Help + &Yard谋m + + + About &Qt + &Qt Hakk谋nda + + + About &Arora + &Arora Hakk谋nda + + + Navigation + Gezinme + + + Show Status Bar + Durum 脟ubu臒unu G枚ster + + + Hide Status Bar + Durum 脟ubu臒unu Gizle + + + Show Toolbar + Ara莽 脟ubu臒unu G枚ster + + + Hide Toolbar + Ara莽 脟ubu臒unu Gizle + + + Show Bookmarks Bar + Yerimi Ara莽 脟ubu臒unu G枚ster + + + Hide Bookmarks Bar + Yerimi Ara莽 脟ubu臒unu Gizle + + + Arora + Arora + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + Open Web Resource + Sayfa Kayna臒谋n谋 A莽 + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Sayfa Kaynaklar谋 (*.html *.htm *.svg *.png *.gif *.svgz);;T眉m Dosyalar (*.*) + + + Print Document + D枚k眉man谋 Yazd谋r + + + Are you sure you want to turn on private browsing? + Gizli gezinmeyi a莽mak istedi臒inizden emin misiniz? + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Gizli gezinme aktifken, sizin gizlili臒inizle ba臒lant谋l谋 olan baz谋 davran谋艧lar iptal edilecektir:<ul><li> Web sayfalar谋 ge莽mi艧e eklenmeyecekler.</li><li> 陌ndirme penceresindeki 枚臒eler otomatik olarak silinecekler.</li><li> Yeni 莽erezler saklanmayacak, mevcut 莽erezlere eri艧im sa臒lanmayacakt谋r.</li><li> Sayfa ikonlar谋 saklanmayacak, oturum kaydedilmeyecektir.</li><li> Aramalar, arama kutusundaki a莽谋l谋r men眉ye eklenmeyecektir.</li></ul>Siz pencereyi kapatana kadar, a莽t谋臒谋n谋z web sayfas谋na geri d枚nmek i莽in 陌leri ve Geri d眉臒melerine t谋klayabileceksiniz. + + + Are you sure you want to close the window? There are %1 tabs open + Pencereyi kapatmak istedi臒inizden emin misiniz? %1 sekme a莽谋k + + + Page Source of %1 + %1'in Sayfa Kayna臒谋 + + + Web Inspector + A臒 Denet莽isi + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + A臒 Denet莽isi sadece aktif edildikten sonra y眉klenen sayfalarda d眉zg眉n 莽al谋艧acakt谋r. +T眉m sayfalar谋 yenilemeyi istiyor musunuz? + + + Stop loading the current page + Mevcut sayfay谋 y眉klemeyi durdur + + + Reload the current page + Mevcut sayfay谋 yenile + + + Downloads + 陌ndirilenler + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + Clear + Temizle + + + + ClearPrivateData + + Clear Private Data + 脰zel Verileri Temizle + + + Clear the following items: + A艧a臒谋daki 枚臒eleri temizle: + + + &Browsing History + &Gezinme Ge莽mi艧i + + + &Download History + &陌ndirilenler Ge莽mi艧i + + + &Search History + &Arama Ge莽mi艧i + + + &Cookies + &脟erezler + + + C&ached Web Pages + &脰nbelle臒e al谋nm谋艧 Web Sayfalar谋 + + + Website &Icons + Web Sayfas谋 S&imgeleri + + + Clear &Private Data + 脰zel Verileri Te&mizle + + + &Cancel + &陌ptal + + + + CookieExceptionsModel + + Website + Web Sayfas谋 + + + Rule + Kural + + + Allow + 陌zin Ver + + + Block + K谋s谋tla + + + Allow For Session + Bu Oturum 陌莽in 陌zin Ver + + + + CookieModel + + Website + Web Sayfas谋 + + + Name + 陌sim + + + Path + Yol + + + Secure + G眉venli + + + Expires + Biter + + + Contents + 陌莽erikler + + + true + do臒ru + + + false + yanl谋艧 + + + + CookiesDialog + + Cookies + 脟erezler + + + &Remove + &Kald谋r + + + Remove &All Cookies + T眉m 脟erezleri Kald谋&r + + + + CookiesExceptionsDialog + + Cookie Exceptions + 脟erez 陌stisnalar谋 + + + New Exception + Yeni 陌stisna + + + Domain: + Alan: + + + Block + Blok + + + Allow For Session + Bu Oturuma 陌zin Ver + + + Allow + 陌zin Ver + + + Exceptions + 陌stisnalar + + + &Remove + &Kald谋r + + + Remove &All + Hepsini Kald谋&r + + + + DownloadDialog + + Downloads + 陌ndirilenler + + + Clean up + Temizle + + + 0 Items + 0 脰臒e + + + + DownloadItem + + Form + Form + + + Ico + Ico + + + Filename + Dosyaad谋 + + + Try Again + Yeniden Dene + + + Stop + Dur + + + Open + A莽 + + + Save File + Dosyay谋 Kaydet + + + Download canceled: %1 + 陌ndirme iptal edildi: %1 + + + Error opening output file: %1 + 脟谋kt谋 dosyas谋 a莽谋l谋rken hata olu艧tu: %1 + + + Error saving: %1 + Kaydederken hata olu艧tu: %1 + + + Network Error: %1 + A臒 Hatas谋: %1 + + + seconds + saniye + + + %1 of %2 (%3/sec) %4 + %2'nin %1'i (%3/sn) %4 + + + ? + ? + + + %1 of %2 - Stopped + %2'nin %1'i - Durdu + + + bytes + byte + + + kB + kB + + + MB + MB + + + + HistoryDialog + + History + Ge莽mi艧 + + + &Remove + &Kald谋r + + + Remove &All + &Hepsini Kald谋r + + + Open + A莽 + + + Copy + Kopyala + + + Delete + Sil + + + + HistoryMenu + + Show All History + T眉m Ge莽mi艧i G枚ster + + + Clear History + Ge莽mi艧i Temizle + + + + HistoryModel + + Title + Ba艧l谋k + + + Address + Adres + + + + HistoryTreeModel + + Earlier Today + Bug眉nden 脰nce + + + + NetworkAccessManager + + <qt>Enter username and password for "%1" at %2</qt> + <qt>%2 deki %1 i莽in kullan谋c谋 ad谋 ve parola girin</qt> + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Connect to proxy "%1" using:</qt> + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL Hatalar谋: + +%1 + +锟硷考%2 + +锟硷考Bu hatalar谋 g枚zard谋 etmek istiyor musunuz? + + + Do you want to accept all these certificates? + T眉m bu sertifikalar谋 kabul etmek istiyor musunuz? + + + + PasswordDialog + + Authentication Required + Kimlik Denetimi Gerekli + + + DUMMY ICON + DUMMY ICON + + + INTRO TEXT DUMMY + INTRO TEXT DUMMY + + + Username: + Kullan谋c谋 Ad谋: + + + Password: + Parola: + + + + ProxyDialog + + Proxy Authentication + Proxy Kimlik Denetimi + + + ICON + ICON + + + Connect to proxy + Proxy'e ba臒lan + + + Username: + Kullan谋c谋 ad谋: + + + Password: + Parola: + + + + QObject + + The file is not an XBEL version 1.0 file. + Dosya bir XBEL s眉r眉m 1.0 dosyas谋 de臒il. + + + Unknown title + Bilinmeyen ba艧l谋k + + + + SearchBanner + + Form + Form + + + TextLabel + TextLabel + + + < + < + + + > + > + + + Done + Bitti + + + + SearchLineEdit + + Search + Ara + + + + Settings + + Preferences + Tercihler + + + General + Genel + + + On startup: + A莽谋l谋艧: + + + Show my home page + Giri艧 sayfam谋 g枚ster + + + Show a blank page + Bo艧 bir sayfa g枚ster + + + Restore windows and tabs from last time + En son a莽谋k olan pencere ve sekmeleri geri y眉kle + + + Home Page: + Giri艧 Sayfas谋: + + + Set to current page + Mevcut sayfay谋 ayarla + + + Remove history items: + Ge莽mi艧 枚臒eleri kald谋r: + + + After one day + Bir g眉n sonra + + + After one week + Bir hafta sonra + + + After two weeks + 陌ki hafta sonra + + + After one month + Bir ay sonra + + + After one year + Bir y谋l sonra + + + Manually + Elle + + + On application exit + Uygulama kapan谋rken + + + Open links from applications: + Uygulamalardaki ba臒lant谋lar谋 a莽: + + + In a tab in the current window + Mevcut penceredeki bir sekmede + + + In a new window + Yeni pencerede + + + Downloads + 陌ndirilenler + + + Ask for a destination each time + Her seferinde hedefi sor + + + Use this destination: + Bu hedefi kullan: + + + Appearance + G枚r眉n眉m + + + Standard font: + Standart yaz谋tipi: + + + Times 16 + Times 16 + + + Select... + Se莽... + + + Fixed-width font: + Sabit-geni艧likli yaz谋tipi: + + + Courier 13 + Courier 13 + + + Privacy + Gizlilik + + + Web Content + Web 陌莽eri臒i + + + Enable Plugins + Eklentileri Aktif Et + + + Enable Javascript + Javascript'i Aktif Et + + + View Images + G枚r眉nt眉leri G枚ster + + + Cookies + 脟erezler + + + Accept Cookies: + 脟erezleri Kabul Et: + + + Always + Herzaman + + + Never + Asla + + + Only from sites you navigate to + Sadece 艧u sayfalarda gezinirken + + + Exceptions... + 陌stisnalar... + + + Keep Cookies Until: + 脟erezleri Tut: + + + They expire + S眉resi dolunca + + + I exit the application + Uygulamadan 莽谋karken + + + At most 90 days + En fazla 90 g眉n + + + Cookies... + 脟erezler... + + + Tabs + Sekmeler + + + Select tabs and windows as they are created + Pencere ve sekmeleri olu艧turulduklar谋nda se莽 + + + Confirm when closing multiple tabs + 脟oklu sekmeleri kapat谋rken onay iste + + + Proxy + Vekil + + + Use proxy server + Vekil sunucusu kullan + + + Type: + T眉r: + + + Socks5 + Socks5 + + + Http + Http + + + Host name: + Sunucu ad谋: + + + Port: + Port: + + + User Name: + Kullan谋c谋 Ad谋: + + + Password: + Parola: + + + Advanced + Geli艧mi艧 + + + Style Sheet: + Style Sheet + + + + TabBar + + Show Tab Bar + Sekme 脟ubu臒unu G枚ster + + + Hide Tab Bar + Sekme 脟ubu臒unu Gizle + + + New &Tab + Yeni Se&kme + + + Duplicate Tab + Sekmeyi Kopyala + + + &Close Tab + Sekmeyi K&apat + + + Close &Other Tabs + Di臒er Sekmeleri Kapa&t + + + Reload Tab + Sekmeyi Yeniden Y眉kle + + + Reload All Tabs + T眉m Sekmeleri Yeniden Y眉kle + + + + TabWidget + + New &Tab + Yeni Sek&me + + + &Close Tab + Sekmeyi K&apat + + + Show Next Tab + Sonraki Sekmeyi G枚ster + + + Show Previous Tab + 脰nceki Sekmeyi G枚ster + + + Recently Closed Tabs + Yeni Kapat谋lan Sekmeler + + + (Untitled) + (Ba艧l谋ks谋z) + + + Do you really want to close this page? + Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Bu sayfada d眉zenleme yapt谋n谋z ve e臒er kapat谋rsan谋z t眉m d眉zenlemelerinizi kaybedeceksiniz. +Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? + + + + + ToolbarSearch + + No Recent Searches + Yeni Arama Yok + + + Recent Searches + Yeni Aramalar + + + Clear Recent Searches + Yeni Aramalar谋 Temizle + + + + WebPage + + Error loading page: %1 + Sayfay谋 y眉klerken hata: %1 + + + + WebView + + Open in New &Window + Yeni &Pencerede A莽 + + + Open in New &Tab + &Yeni Sekmede A莽 + + + Save Lin&k + &Ba臒lant谋y谋 Kaydet + + + &Bookmark This Link + &Bu Ba臒lant谋y谋 Yerimlerine Ekle + + + &Copy Link Location + Ba臒lant谋n谋n Konumunu &Kopyala + + + Open Image in New &Window + G枚r眉nt眉y眉 Yeni &Pencerede A莽 + + + Open Image in New &Tab + &G枚r眉nt眉y眉 Yeni Sekmede A莽 + + + &Save Image + G&枚r眉nt眉y眉 Kaydet + + + &Copy Image + G&枚r眉nt眉y眉 Kopyala + + + C&opy Image Location + G枚&r眉nt眉n眉n Konumunu Kopyala + + + Loading... + Y眉kleniyor... + + + + WebViewSearch + + Not Found + Bulunamad谋 + + + diff --git a/src/src.pro b/src/src.pro index 921cc4c3..1bd86f24 100644 --- a/src/src.pro +++ b/src/src.pro @@ -28,6 +28,7 @@ TRANSLATIONS += \ locale/pl.ts \ locale/pt_BR.ts \ locale/ru.ts \ + locale/tr.ts \ locale/nl.ts \ locale/zh_CN.ts From f5daffa827d5a7df8466ef064fc6365d2e0825d6 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 11 Jul 2008 22:55:28 +0200 Subject: [PATCH 0085/1254] Add fr_FR language by Franck RUFIN Issue: 132 --- src/locale/{fr.ts => fr_CA.ts} | 0 src/locale/fr_FR.ts | 1699 ++++++++++++++++++++++++++++++++ src/src.pro | 3 +- 3 files changed, 1701 insertions(+), 1 deletion(-) rename src/locale/{fr.ts => fr_CA.ts} (100%) create mode 100644 src/locale/fr_FR.ts diff --git a/src/locale/fr.ts b/src/locale/fr_CA.ts similarity index 100% rename from src/locale/fr.ts rename to src/locale/fr_CA.ts diff --git a/src/locale/fr_FR.ts b/src/locale/fr_FR.ts new file mode 100644 index 00000000..6fc7dfbe --- /dev/null +++ b/src/locale/fr_FR.ts @@ -0,0 +1,1699 @@ + + + + + AboutDialog + + + About + 脌 propos d' + + + + Authors + Auteurs + + + + License + License + + + + Lightweight WebKit-based web browser + Navigateur web l茅ger bas茅 sur Webkit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Fermer + + + + AddBookmarkDialog + + + Add Bookmark + Ajouter un marque-page + + + + Type a name for the bookmark, and choose where to keep it. + Entrer un nom pour le marque-page et choisissez o霉 le conserver. + + + + BookmarksDialog + + + Open + Ouvrir + + + + Delete + Supprimer + + + + New Folder + Nouveau dossier + + + + Bookmarks + Marque-pages + + + + &Remove + &Retirer + + + + Add Folder + Ajouter un dossier + + + + Open in New Tab + Ouvrir dans un nouvel onglet + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Erreur pendant le chargement des marque-pages 脿 la ligne %1, colonne %2:锟 +%3 + + + + Toolbar Bookmarks + Barre d'outils Marque-pages + + + + Menu + Menu + + + + Open File + Ouvrir un fichier + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 a 茅t茅 import茅 + + + + Save File + Enregistrer le fichier + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Erreur d'exportation + + + + error saving bookmarks + Erreur de sauvegarde des marque-pages + + + + Remove Bookmark + Retirer le marque-page + + + + Insert Bookmark + Ins茅rer un marque-page + + + + Name Change + Changement de nom + + + + Address Change + Changement d'adresse + + + + BookmarksModel + + + Title + Titre + + + + Address + Adresse + + + + BookmarksToolBar + + + Bookmark + Marque-page + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Il y a %1 fen锚tres et %2 onglets ouverts. +Voulez-vous tout de m锚me quitter? + + + + Restore failed + Echec de la restauration + + + + The saved session will not being restored because last time it was restored Arora crashed. + La session sauvegard茅e ne sera pas restaur茅e car la derni猫re fois o霉 elle l'a 茅t茅, Arora a plant茅. + + + + BrowserMainWindow + + + &File + &Fichier + + + + &New Window + &Nouvelle fen锚tre + + + + &Open File... + &Ouvrir un fichier... + + + + Open &Location... + Ouvrir une &adresse... + + + + &Save As... + Enregistrer &sous... + + + + &Import Bookmarks... + &Importer des marque-pages... + + + + &Export Bookmarks... + &Exporter les marque-pages... + + + + P&rint Preview... + Ape&r莽u avant impression... + + + + &Print... + Im&pression + + + + Private &Browsing... + Navigation en mode priv茅 + + + + &Quit + &Quitter + + + + &Edit + &脡dition + + + + &Undo + &Annuler + + + + &Redo + &Refaire + + + + Cu&t + &Couper + + + + &Copy + Co&pier + + + + &Paste + C&oller + + + + &Find + &Rechercher + + + + &Find Next + Rechercher le &suivant + + + + &Find Previous + Rechercher le p&r茅c茅dent + + + + &Preferences + &Pr茅f茅rences + + + + Ctrl+, + Ctrl+, + + + + &View + &Affichage + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+| + Ctrl+| + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + A&rr锚ter + + + + Reload Page + &Recharger la page + + + + &Make Text Bigger + Agrandir le texte + + + + &Make Text Smaller + R茅duire le texte + + + + &Make Content Bigger + Agrandir la page + + + + &Make Content Smaller + R茅duire la page + + + + &Make Text Normal + R茅initialiser la taile du texte + + + + &Make Content Normal + R茅initialiser la taile de la page + + + + Page S&ource + Code s&ource de la page + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + &Plein 茅cran + + + + Hi&story + &Historique + + + + Back + Page pr茅c茅dente + + + + Forward + Page suivante + + + + Home + Page d'accueil + + + + Restore Last Session + Restaurer la derni猫re session + + + + &Bookmarks + &Marque-pages + + + + Manage Bookmarks... + G茅rer les marque-pages + + + + Add Bookmark... + Ajouter un marque-page... + + + + &Window + &Fen锚tre + + + + &Tools + &Outils + + + + Web &Search + &Recherche Web + + + + Ctrl+K + Web Search + Ctrl+K + + + + Enable Web &Inspector + Activer l'&inspecteur Web + + + + &Help + &Aide + + + + About &Qt + 脌 propos de &Qt + + + + About &Arora + 脌 propos d'&Arora + + + + Navigation + Navigation + + + + Show Status Bar + Afficher la barre d'茅tat + + + + Hide Status Bar + Masquer la barre d'茅tat + + + + Show Toolbar + Afficher la barre d'outils + + + + Hide Toolbar + Masquer la barre d'outils + + + + Show Bookmarks bar + Afficher la barre de marque-pages + + + + Hide Bookmarks bar + Masquer la barre de marque-pages + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Ouvrir un fichier Web + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Fichier Web (*.html *.htm *.svg *.png *.gif *.svgz);;Tous les fichiers (*.*) + + + + Print Document + Imprimer le document + + + + Are you sure you want to turn on private browsing? + 脢tes-vous s没r de vouloir activer la navigation en mode priv茅? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. + <b>%1</b><br><br>Lorsque la navigation en mode priv茅 est activ茅e, certaines actions concernant votre vie priv茅e seront d茅sactiv茅es:<ul><li> Les pages Web ne sont pas ajout茅es 脿 l'historique.</li><li> Les t茅l茅chargements sont automatiquement retir茅 de la fen锚tre des t茅l茅chargements.</li><li> Les nouveaux fichiers t茅moins ne sont pas conserv茅s et les fichiers t茅moins d茅j脿 existant ne sont pas accessibles.</li><li> Les ic么nes de sites Web et la session ne sont pas enregistr茅s.</li><li> Les recherches ne sont pas ajout茅es dans la liste des recherches r茅centes.</li></ul>Jusqu'脿 la fermeture de l'茅cran, vous pouvez encore utiliser les boutons Page pr茅c茅dente et Page suivante. + + + + Are you sure you want to close the window? There are %1 tabs open + 脢tes-vous s没r de vouloir fermer cette fen锚tre? Il y a %1 onglets ouverts. + + + + Page Source of %1 + Code source de %1 + + + + Web Inspector + Inspecteur Web + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + L'inspecteur Web ne fonctionne que pour les pages qui ont 茅t茅 charg茅es apr猫s son activation. Voulez-vous recharcher toutes les pages? + + + + Stop loading the current page + Arr锚ter le chargement de la page en cours + + + + Reload the current page + Recharger la page en cours + + + + Downloads + T茅l茅chargements + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + &Clear Private Data + &Effacer l'information priv茅e + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Suppr + + + + Find &Next + &Suivant + + + + Find P&revious + P&r茅c茅dent + + + + Prefe&rences + &Pr茅f茅rences + + + + &Reload Page + &Actualiser la Page + + + + Make Text &Bigger + A&ugmenter la taille du Texte + + + + Make Text &Normal + &Taille de texte normale + + + + Make Text &Smaller + &Diminuer la taille du Texte + + + + Show Bookmarks Bar + Afficher la Barre des Marque-pages + + + + Hide Bookmarks Bar + Cacher la Barre des Marque-pages + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Quand la navigation priv茅e est activ茅e, certaines actions concernant votre vie priv茅e seront d茅sactiv茅es:<ul><li>Les pages Web ne sont plus ajout茅es 脿 l'historique.</li><li>Les objets sont automatiquements retir茅s de la fen锚tre de t茅l茅chargements.</li><li>Les nouveaux cookies ne sont pas stock茅s, les cookies existants ne sont pas accessibles.</li><li>Les ic么nes de sites ne sont pas stock茅s, les sessions ne sont pas enregistr茅es</li><li>Les recherches ne sont pas ajout茅es au menu pop-up de la boite de recherches.</li><li>Jusqu'脿 ce que vous fermiez la fen锚tre, vous pouvez toujours cliquer sur les bouton Pages Pr茅c茅dentes et Pages Suivantes pour retourner sur les pages Web visit茅es. + + + + ClearButton + + + Clear + Effacer + + + + ClearPrivateData + + + Clear Private Data + Effacer les informations priv茅es + + + + Clear the following items: + Vider les items suivants: + + + + &Browsing History + Historique de &Navigation + + + + &Download History + Historique de &T茅l茅chargement + + + + &Search History + Historique de &Recherche + + + + &Cookies + &Cookies + + + + C&ache + C&ache + + + + Website &Icons + &Ic么nes de Sites Web + + + + Clear &Private Data + Effacer les Informations &Priv茅es + + + + &Cancel + &Annuler + + + + CookieExceptionsModel + + + Website + Site Web + + + + Status + Statut + + + + Allow + Permettre + + + + Block + Bloquer + + + + Allow For Session + Permettre pour la session + + + + CookieModel + + + Website + Site Web + + + + Name + Nom + + + + Path + Chemin d'acc猫s + + + + Secure + S茅cure + + + + Expires + Expire + + + + Contents + Contenu + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + &Effacer + + + + Remove &All Cookies + Effacer &Tous les Cookies + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Exceptions pour les fichiers t茅moins + + + + New Exception + Nouvelle exception + + + + Domain: + Domaine: + + + + Block + Bloquer + + + + Allow For Session + Permettre pour la session + + + + Allow + Permettre + + + + Exceptions + Exceptions + + + + &Remove + Retirer + + + + Remove &All + Tout retirer + + + + DownloadDialog + + + Downloads + T茅l茅chargements + + + + Clean up + Vider la liste + + + + 0 Items + 0 items + + + + DownloadItem + + + Form + Formulaire + + + + Ico + Ico + + + + Filename + Nom de fichier + + + + Try Again + Essayer 脿 nouveau + + + + Stop + Interrompre + + + + Open + Ouvrir + + + + Save File + Enregistrer le fichier + + + + Download canceled: %1 + T茅l茅chargement annul茅: %1 + + + + Error opening save file: %1 + Erreur 脿 l'ouverture du fichier destination: %1 + + + + Error saving: %1 + Erreur 脿 l'enregistrement: %1 + + + + Network Error: %1 + Erreur r茅seau: %1 + + + + seconds + secondes + + + + minutes + minutes + + + + - %4 %5 remaining + - %4 %5 restant + + + + %1 of %2 (%3/sec) %4 + %1 de %2 (%3/sec) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 de %2 - Interrompu + + + + bytes + octets + + + + kB + kO + + + + MB + MO + + + + - %n minutes remaining + + - %n minutes restantes + + + + + + - %n seconds remaining + + - %n secondes restantes + + + + + + DownloadManager + + + 1 Download + 1 t茅l茅chargement + + + + %1 Downloads + %1 t茅l茅chargements + + + + %n Download(s) + + %n t茅l茅chargement + %n t茅l茅chargements + + + + + HistoryDialog + + + Open + Ouvrir + + + + Copy + Copier + + + + Delete + Supprimer + + + + History + Historique + + + + &Remove + &Retirer + + + + Remove &All + Tout retirer + + + + HistoryMenu + + + Show All History + Montrer tout l'historique + + + + Clear History + Effacer l'historique + + + + HistoryModel + + + Title + Titre + + + + Address + Adresse + + + + HistoryTreeModel + + + Earlier Today + Plut么t aujourd'hui + + + + %1 items + %1 items + + + + %n item(s) + + %n objet(s) + + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Entrer le nombre d'utilisateur et le mot de passe pour "%1" sur %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Se brancher au serveur mandataire "%1" en utilisant:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + Erreurs SSL: +%1 +%2 +Voulez-vous ignorer ses erreurs? + + + + Do you want to accept all these certificates? + Voulez-vous accepter tous ces certificats? + + + + PasswordDialog + + + Authentication Required + Authentification requise + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Nom d'utilisateur: + + + + Password: + Mot de passe: + + + + ProxyDialog + + + Proxy Authentication + Authentification du Proxy + + + + ICON + + + + + Connect to proxy + Connexion au proxy + + + + Username: + Nom d'utilisateur: + + + + Password: + Mot de passe: + + + + QObject + + + The file is not an XBEL version 1.0 file. + Ce fichier n'est pas un fichier XBEL version 1.0. + + + + Unknown title + Titre inconnu + + + + SearchBanner + + + Form + Formulaire + + + + TextLabel + + + + + < + + + + + > + + + + + Done + Fermer + + + + SearchLineEdit + + + Search + Rechercher + + + + Settings + + + Settings + Param猫tres + + + + General + G茅n茅ral + + + + Home: + Page d'accueil: + + + + Set to current page + Utiliser la page en cours + + + + Remove history items: + Retirer les 茅l茅ments de l'historique: + + + + After one day + Apr猫s une journ茅e + + + + After one week + Apr猫s une semaine + + + + After two weeks + Apr猫s 2 semaines + + + + After one month + Apr猫s un mois + + + + After one year + Apr猫s un an + + + + Manually + Manuellement + + + + Open links from applications: + Ouvrir les liens provenant d'applications: + + + + In a tab in the current window + Dans un onglet dans la fen锚tre en cours + + + + In a new window + Dans une nouvelle fen锚tre + + + + Appearance + Apparence + + + + Standard font: + Police par d茅faut: + + + + Times 16 + + + + + Select... + S茅lectionner... + + + + Fixed-width font: + Police 脿 espacement constant: + + + + Courier 13 + + + + + Privacy + Vie priv茅e + + + + Web Content + Contenu Web + + + + Enable Plugins + Activer les Plugins + + + + Enable Javascript + Activer le Javascript + + + + Cookies + Cookies + + + + Accept Cookies: + Accepter les fichiers t茅moins: + + + + Always + Toujours + + + + Never + Jamais + + + + Only from sites you navigate to + Seulement des sites que vous visitez + + + + Exceptions... + Exceptions... + + + + Keep until: + Expiration: + + + + They expire + Lorsqu'ils expirent + + + + I exit the application + Lorsque je quitte l'application + + + + At most 90 days + Au plus tard dans 90 jours + + + + Cookies... + Cookies... + + + + Proxy + Proxy + + + + Enable proxy + Activer le Proxy + + + + Type: + Type: + + + + Socks5 + + + + + Http + + + + + Host: + H么te: + + + + Port: + Port: + + + + User Name: + Nom d'utilisateur: + + + + Password: + Mot de passe: + + + + Advanced + Avanc茅 + + + + Style Sheet: + Feuille de style: + + + + Downloads + T茅l茅chargements + + + + Ask for a destination each time + Demander le dossier de destination 脿 chaque fois + + + + Use this destination: + Utiliser ce dossier: + + + + On startup: + Au d茅marrage: + + + + Show my home page + Afficher ma page d'accueil + + + + Show a blank page + Afficher une page blanche + + + + Restore windows and tabs from last time + Restaurer les fen锚tres et les onglets de la session pr茅c茅dente + + + + On application exit + A la sortie de l'application + + + + Enable Images + Activer les images + + + + Tabs + Onglets + + + + Select tabs and windows as they are created + S茅lectionner les onglets et les fen锚tres comme ils ont 茅t茅 cr茅茅s + + + + Confirm when closing multiple tabs + Avertir lors de la fermeture de plusieurs onglets + + + + TabBar + + + New &Tab + Nouvel onglet + + + + Duplicate Tab + Dupliquer l'onglet + + + + &Close Tab + Fermer l'onglet + + + + Close &Other Tabs + Fermer les autres onglets + + + + Reload Tab + Recharger l'onglet + + + + Reload All Tabs + Recharger tous les onglets + + + + Show Tab Bar + Afficher la barre d'onglets + + + + Hide Tab Bar + Cacher la barre d'onglets + + + + TabWidget + + + New &Tab + Nouvel onglet + + + + &Close Tab + Fermer l'onglet + + + + Show Next Tab + Afficher l'onglet suivant + + + + Show Previous Tab + Afficher l'onglet pr茅c茅dent + + + + Recently Closed Tabs + Onglet r茅cement ferm茅s + + + + (Untitled) + (Sans titre) + + + + Do you really want to close this page? + Voulez-vous vraiment fermer cette page? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Vous avez modifi茅 cette page et en fermant l'onglet, vous allez perdre les modifications. +Voulez-vous vraiment fermer cette page? + + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + Aucune recherche r茅cente + + + + Recent Searches + Recherches r茅centes + + + + Clear Recent Searches + Effacer les recherches r茅centes + + + + WebPage + + + Error loading page: %1 + Erreur au chargement de la page: %1 + + + + WebView + + + Open in New &Window + Ouvrir dans une &nouvelle fen锚tre + + + + Open in New &Tab + Ouvrir dans un nouvel &onglet + + + + Save Lin&k + Enregistrer le &lien + + + + &Bookmark This Link + Marquer le lien + + + + &Copy Link Location + Copier le lien + + + + Open Image in New &Window + Ouvrir l'image dans une nouvelle fen锚tre + + + + Open Image in New &Tab + Ouvrir l'image dans un nouvel onglet + + + + &Save Image + Enregistrer l'image + + + + &Copy Image + Copier l'image + + + + C&opy Image Location + Copier l'adresse de l'image + + + + Loading... + Chargement... + + + + WebViewSearch + + + Not Found + Non trouv茅 + + + diff --git a/src/src.pro b/src/src.pro index 1bd86f24..f756abef 100644 --- a/src/src.pro +++ b/src/src.pro @@ -23,7 +23,8 @@ TRANSLATIONS += \ locale/en.ts \ locale/es.ts \ locale/et.ts \ - locale/fr.ts \ + locale/fr_FR.ts \ + locale/fr_CA.ts \ locale/it.ts \ locale/pl.ts \ locale/pt_BR.ts \ From a792e5a101684ddd188a6471ad511be604784101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Sat, 12 Jul 2008 00:28:51 +0200 Subject: [PATCH 0086/1254] Updated cs_CZ translation --- src/locale/cs_CZ.ts | 340 ++++++++++++++++++++++++++------------------ 1 file changed, 198 insertions(+), 142 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index d202b130..c2c593c2 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -1,6 +1,7 @@ - - + + + AboutDialog @@ -200,103 +201,103 @@ P艡esto ukon膷it? Restore failed - + Obnoven铆 selhalo - The saved session will not being restored because last time it was restored Arora crashed. - + The saved session will not be restored because Arora crashed while trying to restore this session. + Ulo啪en谩 relace nebude obnovena, proto啪e Arora spadla p艡i pokusu o jej铆 obnoven铆. BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... - + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t @@ -316,32 +317,32 @@ P艡esto ukon膷it? P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit @@ -366,123 +367,123 @@ P艡esto ukon膷it? Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 @@ -497,12 +498,12 @@ P艡esto ukon膷it? Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -518,22 +519,22 @@ P艡esto ukon膷it? Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? @@ -543,54 +544,54 @@ P艡esto ukon膷it? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 - + Page Source of %1 Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data @@ -601,60 +602,60 @@ Do you want to reload all pages? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Show Bookmarks Bar Zobrazit panel z谩lo啪ek - + Hide Bookmarks Bar Skr媒t panel z谩lo啪ek - + Find &Next - + Naj铆&t dal拧铆 - + Find P&revious - + Naj铆t &p艡edchoz铆 - + Prefe&rences - + P艡ed&volby - + &Reload Page - + O&bnovit str谩nku - + Make Text &Bigger - + Z&v臎t拧it text - + Make Text &Normal - + &Norm谩ln铆 velikost textu - + Make Text &Smaller - + Z&men拧it text ClearButton - + Clear Vy膷istit @@ -694,7 +695,7 @@ Do you want to reload all pages? C&ache - Vyrovn谩vac铆 &pam臎钮 + Vyrovn谩vac铆 &pam臎钮 @@ -711,6 +712,11 @@ Do you want to reload all pages? &Cancel Zru拧it + + + C&ached Web Pages + Str谩nky v &cache + CookieExceptionsModel @@ -722,7 +728,7 @@ Do you want to reload all pages? Status - Stav + Stav @@ -739,6 +745,11 @@ Do you want to reload all pages? Allow For Session Povolit pro relaci + + + Rule + Pravidlo + CookieModel @@ -772,6 +783,16 @@ Do you want to reload all pages? Contents Obsah + + + true + + + + + false + + CookiesDialog @@ -856,6 +877,11 @@ Do you want to reload all pages? 0 Items 0 polo啪ek + + + &OK + + DownloadItem @@ -902,7 +928,7 @@ Do you want to reload all pages? Error opening save file: %1 - Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 + Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 @@ -977,6 +1003,11 @@ Do you want to reload all pages? - %n sekund zb媒v谩 + + + Error opening output file: %1 + Chyba p艡i otev铆r谩n铆 v媒stupn铆ho souboru: %1 + DownloadManager @@ -991,7 +1022,7 @@ Do you want to reload all pages? %1 stahov谩n铆 - + %n Download(s) %n stahov谩n铆 @@ -1216,7 +1247,7 @@ Chce拧 ignorovat tyto chyby? SearchLineEdit - + Search Hledat @@ -1226,7 +1257,7 @@ Chce拧 ignorovat tyto chyby? Settings - Nastaven铆 + Nastaven铆 @@ -1236,7 +1267,7 @@ Chce拧 ignorovat tyto chyby? Home: - Domov: + Domov: @@ -1299,162 +1330,162 @@ Chce拧 ignorovat tyto chyby? V nov茅m okn臎 - + Appearance Vzhled - + Standard font: Standardn铆 p铆smo: - + Times 16 Times 16 - + Select... Vybrat... - + Fixed-width font: P铆smo s pevnou 拧铆艡kou: - + Courier 13 Courier 13 - + Privacy Soukrom铆 - + Web Content Obsah webu - + Enable Plugins Povolit plug-iny - + Enable Javascript Povolit JavaScript - + Cookies Cookies - + Accept Cookies: P艡ij铆mat cookies: - + Always V啪dy - + Never Nikdy - + Only from sites you navigate to Pouze z nav拧t铆ven媒ch str谩nek - + Exceptions... V媒jimky... Keep until: - Uchovat dokud: + Uchovat dokud: - + They expire Vypr拧铆 - + I exit the application Ukon膷en铆 aplikace - + At most 90 days Maxim谩ln臎 90 dn铆 - + Cookies... Cookies... - + Proxy Proxy Enable proxy - Povolit proxy + Povolit proxy - + Type: Typ: - + Socks5 Socks5 - + Http Http Host: - Server: + Server: - + Port: Port: - + User Name: U啪ivatelsk茅 jm茅no: - + Password: Heslo: - + Advanced Roz拧铆艡en茅 - + Style Sheet: CSS styl: @@ -1481,42 +1512,72 @@ Chce拧 ignorovat tyto chyby? Enable Images - Povolit obr谩zky + Povolit obr谩zky - + Tabs Panely - + Select tabs and windows as they are created P艡ep铆nat na okna nebo panely, kdy啪 jsou vytvo艡eny - + Confirm when closing multiple tabs Vy啪adovat potvrzen铆 p艡i zav铆r谩n铆 v铆ce panel暖 On startup: - + Po spu拧t臎n铆: Show my home page - + Zobrazit moji domovskou str谩nku Show a blank page - + Zobrazit pr谩zdnou str谩nku Restore windows and tabs from last time - + Obnovit okna a panely z posledn铆 relace + + + + Preferences + P艡edvolby + + + + Home Page: + Domovsk谩 str谩nka: + + + + View Images + Zobrazit obr谩zky + + + + Keep Cookies Until: + Ponechat cookies dokud: + + + + Use proxy server + Pou啪铆t proxy server + + + + Host name: + Jm茅no hostitele: @@ -1590,17 +1651,17 @@ Chce拧 ignorovat tyto chyby? Posledn臎 zav艡en茅 panely - + (Untitled) (Bez titulku) - + Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1611,11 +1672,6 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? ToolbarSearch - - - Google - - No Recent Searches From bcd809479d57e701d971427d25a2617cd3561cf9 Mon Sep 17 00:00:00 2001 From: smart2128 Date: Sat, 12 Jul 2008 12:28:15 +0200 Subject: [PATCH 0087/1254] modified: src/locale/it.ts --- src/locale/it.ts | 291 ++++++++++++++++++++++++----------------------- 1 file changed, 149 insertions(+), 142 deletions(-) diff --git a/src/locale/it.ts b/src/locale/it.ts index 23e2c488..e371b459 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -11,7 +11,7 @@ Lightweight WebKit-based web browser - Browser Web leggero basato su WebKit + Browser web leggero basato su WebKit @@ -48,7 +48,7 @@ p, li { white-space: pre-wrap; } Add Bookmark - Aggiungi un Segnalibro + Aggiungi un segnalibro @@ -66,12 +66,12 @@ p, li { white-space: pre-wrap; } Delete - Cancella + Elimina New Folder - Nuova Cartella + Nuova cartella @@ -86,12 +86,12 @@ p, li { white-space: pre-wrap; } Add Folder - Aggiungi Cartella + Aggiungi cartella Open in New Tab - Apri in una nuova Scheda + Apri in una nuova scheda @@ -100,13 +100,13 @@ p, li { white-space: pre-wrap; } Error when loading bookmarks on line %1, column %2: %3 - Errore durante l'appertura dei segnalibri sulla riga %1, colonna %2 + Errore durante l'apertura dei segnalibri alla riga %1, colonna %2: %3 Toolbar Bookmarks - Barra dei Segnalibri + Barra dei segnalibri @@ -116,7 +116,7 @@ p, li { white-space: pre-wrap; } Open File - Apri File + Apri file @@ -131,7 +131,7 @@ p, li { white-space: pre-wrap; } Save File - Salva il File + Salva il file @@ -151,22 +151,22 @@ p, li { white-space: pre-wrap; } Remove Bookmark - Rimuovi Segnalibro + Rimuovi segnalibro Insert Bookmark - Inserisci Segnalibro + Inserisci segnalibro Name Change - Cambia il Nome + Cambia il nome Address Change - Cambia l'Indirizzo + Cambia l'indirizzo @@ -197,17 +197,17 @@ p, li { white-space: pre-wrap; } There are %1 windows and %2 tabs open Do you want to quit anyway? Ci sono %1 finestre e %2 schede aperte -Se sicuro di voler uscire? +Sei sicuro di voler uscire? Restore failed - Ripristino fallito + Ripristino non riuscito The saved session will not being restored because last time it was restored Arora crashed. - La sessione salvata non sar脿 ripristinata perch猫 l'ultima volta che 猫 stata ripristinata Arora 猫 andata in crash. + La sessione salvata non sar脿 ripristinata perch茅 l'ultima volta che 猫 stata ripristinata Arora 猫 andato in crash. @@ -220,37 +220,37 @@ Se sicuro di voler uscire? &New Window - &Nuova Finestra + &Nuova finestra &Open File... - &Apri File... + &Apri file... Open &Location... - &Apri Indirizzo... + &Apri indirizzo... &Save As... - &Salva Con Nome... + &Salva come... &Import Bookmarks... - &Importa i Segnalibri... + &Importa i segnalibri... &Export Bookmarks... - &Esporta i Segnalibri... + &Esporta i segnalibri... P&rint Preview... - An&teprima di Stampa... + An&teprima di stampa... @@ -260,7 +260,7 @@ Se sicuro di voler uscire? Private &Browsing... - &Navigazione Anonima... + &Navigazione anonima... @@ -300,17 +300,17 @@ Se sicuro di voler uscire? &Find - &Cerca + Tro&va &Find Next - &Cerca il Successivo + Tro&va successivo &Find Previous - &Cerca il Precedente + Tro&va precedente @@ -325,7 +325,7 @@ Se sicuro di voler uscire? &View - &Vista + &Visualizza @@ -350,27 +350,27 @@ Se sicuro di voler uscire? Reload Page - Ricarica la Pagina + Ricarica la pagina &Make Text Bigger - &Ingrandisci il Testo + &Ingrandisci il testo &Make Text Normal - &Dimensione Normale + &Dimensione normale &Make Text Smaller - &Rimpicciolisci il Testo + &Rimpicciolisci il testo Page S&ource - &Sorgente della Pagina + &Sorgente della pagina @@ -380,7 +380,7 @@ Se sicuro di voler uscire? &Full Screen - &Schermo Intero + &Schermo intero @@ -400,12 +400,12 @@ Se sicuro di voler uscire? Home - Pagina Iniziale + Pagina iniziale Restore Last Session - Ripristina la Sessione Precedente + Ripristina la sessione precedente @@ -415,12 +415,12 @@ Se sicuro di voler uscire? Manage Bookmarks... - Gestione dei Segnalibri... + Gestione dei segnalibri... Add Bookmark... - Aggiungi Segnalibro... + Aggiungi segnalibro... @@ -435,7 +435,7 @@ Se sicuro di voler uscire? Web &Search - &Ricerca nel Web + &Ricerca nel web @@ -446,7 +446,7 @@ Se sicuro di voler uscire? Enable Web &Inspector - Abilita l'&Ispettore Web + Abilita l'anal&izzatore web @@ -471,28 +471,30 @@ Se sicuro di voler uscire? Show Status Bar - Mostra la Barra di Stato + Mostra la barra di stato Hide Status Bar - Nascondi la Barra di Stato + Nascondi la barra di stato Show Toolbar - Mostra la Barra Degli Strumenti + Mostra la barra degli strumenti Hide Toolbar - Nascondi la Barra Degli Strumenti + Nascondi la barra degli strumenti + Show Bookmarks bar Mostra la Barra Dei Segnalibri + Hide Bookmarks bar Nascondi la Barra Dei Segnalibri @@ -510,17 +512,17 @@ Se sicuro di voler uscire? Open Web Resource - Apri Risorsa Web + Apri risorsa web Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Risorse Web (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Risorse web (*.html *.htm *.svg *.png *.gif *.svgz);;Tutti i file (*.*) Print Document - Stampa Documento + Stampa documento @@ -530,7 +532,7 @@ Se sicuro di voler uscire? Are you sure you want to close the window? There are %1 tabs open - Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte + Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte @@ -540,24 +542,24 @@ Se sicuro di voler uscire? Web Inspector - Ispettore Web + Analizzatore web The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - L'ispettore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. + L'analizzatore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? Stop loading the current page - Ferma il caricamento della pagina corrente + Ferma il caricamento della pagina attuale Reload the current page - Ricarica la pagina corrente + Ricarica la pagina attuale @@ -573,7 +575,7 @@ Vuoi ricaricare tutte le pagine? &Clear Private Data - &Cancella i Dati Privati + &Cancella i dati privati @@ -584,17 +586,17 @@ Vuoi ricaricare tutte le pagine? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sul box di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i bottoni Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. + <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sulla riquadro di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i pulsanti Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. Show Bookmarks Bar - Visualizza la barra dei Preferiti + Mostra la barra dei segnalibri Hide Bookmarks Bar - Nascondi la barra dei Preferiti + Nascondi la barra dei segnalibri @@ -610,7 +612,7 @@ Vuoi ricaricare tutte le pagine? Clear Private Data - Cancella i Dati Privati + Cancella i dati privati @@ -620,17 +622,17 @@ Vuoi ricaricare tutte le pagine? &Browsing History - Cronologia della &Navigazione + Cronologia della &navigazione &Download History - Cronologia dei &Download + Cronolo&gia degli scaricamenti &Search History - Cronologia delle &Ricerche + Cronologia delle &ricerche @@ -640,17 +642,17 @@ Vuoi ricaricare tutte le pagine? C&ache - Dati della C&ache + C&ache Website &Icons - &Icone dei Siti + &Icone dei siti Clear &Private Data - Cancella i Dati &Privati + Cancella i dati &privati @@ -663,7 +665,7 @@ Vuoi ricaricare tutte le pagine? Website - Sito + Sito web @@ -683,7 +685,7 @@ Vuoi ricaricare tutte le pagine? Allow For Session - Consenti nella Sessione + Consenti nella sessione @@ -691,7 +693,7 @@ Vuoi ricaricare tutte le pagine? Website - Sito + Sito web @@ -729,12 +731,12 @@ Vuoi ricaricare tutte le pagine? &Remove - &Cancella + &Rimuovi Remove &All Cookies - Cancella &Tutti i Cookie + Rimuovi &tutti i cookie @@ -747,7 +749,7 @@ Vuoi ricaricare tutte le pagine? New Exception - Nuova Eccezione + Nuova eccezione @@ -762,7 +764,7 @@ Vuoi ricaricare tutte le pagine? Allow For Session - Consenti nella Sessione + Consenti nella sessione @@ -777,12 +779,12 @@ Vuoi ricaricare tutte le pagine? &Remove - &Cancella + &Rimuovi Remove &All - Cancella &Tutti + Rimuovi &tutti @@ -800,7 +802,7 @@ Vuoi ricaricare tutte le pagine? 0 Items - Nessun Elemento + 0 elementi @@ -808,17 +810,17 @@ Vuoi ricaricare tutte le pagine? Save File - Salva il File + Salva il file Download canceled: %1 - Download annullato: %1 + Scaricamento annullato: %1 Error opening save file: %1 - Errore salvando il file: %1 + Errore durante l'apertura del file: %1 @@ -828,7 +830,7 @@ Vuoi ricaricare tutte le pagine? Network Error: %1 - Errore di Rete: %1 + Errore di rete: %1 @@ -836,10 +838,12 @@ Vuoi ricaricare tutte le pagine? secondi + minutes minuti + - %4 %5 remaining - %4 %5 rimanenti @@ -876,7 +880,7 @@ Vuoi ricaricare tutte le pagine? Form - Scheda + Modulo @@ -923,10 +927,12 @@ Vuoi ricaricare tutte le pagine? DownloadManager + 1 Download 1 Scaricamento + %1 Downloads %2 Scaricamenti @@ -934,8 +940,8 @@ Vuoi ricaricare tutte le pagine? %n Download(s) - %n Scaricamento - %n Scaricamenti + %n scaricamento + %n scaricamenti @@ -954,7 +960,7 @@ Vuoi ricaricare tutte le pagine? Delete - Cancella + Elimina @@ -964,12 +970,12 @@ Vuoi ricaricare tutte le pagine? &Remove - &Cancella + &Rimuovi Remove &All - Cancella &Tutti + Rimuovi &tutti @@ -977,12 +983,12 @@ Vuoi ricaricare tutte le pagine? Show All History - Mostra tutta la Cronologia + Mostra tutta la cronologia Clear History - Cancella la Cronologia + Cancella la cronologia @@ -1003,9 +1009,10 @@ Vuoi ricaricare tutte le pagine? Earlier Today - Odierni + Prima di oggi + %1 items %1 elementi @@ -1050,7 +1057,7 @@ Vuoi ignorare questi errori? Do you want to accept all these certificates? - Accetti tutti questi certificati? + Vuoi accettare tutti questi certificati? @@ -1058,7 +1065,7 @@ Vuoi ignorare questi errori? Authentication Required - E' Richiesta l'Autenticazione + Autenticazione richiesta @@ -1068,12 +1075,12 @@ Vuoi ignorare questi errori? INTRO TEXT DUMMY - TESTO FANTASMA + TESTO INTRODUTTIVO FANTASMA Username: - Nome Utente: + Nome utente: @@ -1086,7 +1093,7 @@ Vuoi ignorare questi errori? Proxy Authentication - Autenticazione al Proxy + Autenticazione al proxy @@ -1101,7 +1108,7 @@ Vuoi ignorare questi errori? Username: - Nome Utente: + Nome utente: @@ -1127,12 +1134,12 @@ Vuoi ignorare questi errori? Form - Scheda + Modulo TextLabel - Etichetta + TextLabel @@ -1168,7 +1175,7 @@ Vuoi ignorare questi errori? General - Generali + Generale @@ -1183,7 +1190,7 @@ Vuoi ignorare questi errori? Remove history items: - Cancella gli elementi dalla cronologia: + Rimuovi gli elementi dalla cronologia: @@ -1218,7 +1225,7 @@ Vuoi ignorare questi errori? Open links from applications: - Apri i link dalle applicazioni: + Apri i collegamenti dalle applicazioni: @@ -1248,17 +1255,17 @@ Vuoi ignorare questi errori? Web Content - Contenuto Web + Contenuto web Enable Plugins - Abilita i Plugin + Abilita i plugin Enable Javascript - Abilita il Javascript + Abilita Javascript @@ -1268,7 +1275,7 @@ Vuoi ignorare questi errori? Accept Cookies: - Accetta i Cookie + Accetta cookie: @@ -1353,7 +1360,7 @@ Vuoi ignorare questi errori? User Name: - Nome Utente: + Nome utente: @@ -1368,7 +1375,7 @@ Vuoi ignorare questi errori? Style Sheet: - Stile Web: + Foglio di stile: @@ -1388,7 +1395,7 @@ Vuoi ignorare questi errori? Standard font: - Font standard: + Carattere standard: @@ -1408,27 +1415,27 @@ Vuoi ignorare questi errori? On startup: - In fase di avvio: + All'avvio: Show my home page - Mostra la home page + Mostra la pagina iniziale Show a blank page - Mostra pagina vuota + Mostra una pagina vuota Restore windows and tabs from last time - Ripristina le finestre ed i tabs dell'ultima sessione + Ripristina le finestre ed le schede dell'ultima sessione On application exit - In fase di chiusura + All'uscita @@ -1438,17 +1445,17 @@ Vuoi ignorare questi errori? Tabs - Tabs + Schede Select tabs and windows as they are created - Seleziona tabs e finestre a seconda di come sono state create + Seleziona schede e finestre a seconda di come sono state create Confirm when closing multiple tabs - Chiedi conferma durante la chiusura di tab multipli + Chiedi conferma durante la chiusura di schede multiple @@ -1456,42 +1463,42 @@ Vuoi ignorare questi errori? New &Tab - &Nuova Scheda + &Nuova scheda Duplicate Tab - Duplica Scheda + Duplica scheda &Close Tab - &Chiudi Scheda + &Chiudi scheda Close &Other Tabs - Chiudi &Altre Schede + Chiudi &altre schede Reload Tab - Ricarica Scheda + Ricarica scheda Reload All Tabs - Ricarica Tutte le Schede + Ricarica tutte le schede Show Tab Bar - Visualizza la barra dei Tab + Mostra la barra delle schede Hide Tab Bar - Nascondi la barra dei Tab + Nascondi la barra delle schede @@ -1499,27 +1506,27 @@ Vuoi ignorare questi errori? New &Tab - &Nuova Scheda + &Nuova scheda &Close Tab - &Chiudi la Scheda + &Chiudi la scheda Show Next Tab - Mostra la Scheda Successiva + Mostra la scheda successiva Show Previous Tab - Mostra la Scheda Precedente + Mostra la scheda precedente Recently Closed Tabs - Schede Chiuse di Recente + Schede chiuse di recente @@ -1536,7 +1543,7 @@ Vuoi ignorare questi errori? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? - Hai modificato questa pagina e chiudendola perderai la tua modifica. + Hai modificato questa pagina e chiudendola perderai le tue modifiche. Sei sicuro di volerlo fare? @@ -1551,17 +1558,17 @@ Sei sicuro di volerlo fare? No Recent Searches - Nessuna Ricerca Recente + Nessuna ricerca recente Recent Searches - Ricerche Recenti + Ricerche recenti Clear Recent Searches - Cancella le Ricerche Recenti + Cancella le ricerche recenti @@ -1569,7 +1576,7 @@ Sei sicuro di volerlo fare? Error loading page: %1 - Errore aprendo la pagina: %1 + Errore durante l'apertura della pagina: %1 @@ -1577,52 +1584,52 @@ Sei sicuro di volerlo fare? Open in New &Window - Apri in una Nuova &Finestra + Apri in una nuova &finestra Open in New &Tab - Apri in una Nuova &Scheda + Apri in una nuova &scheda Save Lin&k - Salva il Lin&k + Salva il colle&gamento &Bookmark This Link - Salva il Link nei Segnali&bri + Salva il collegamento nei Segnali&bri &Copy Link Location - &Copia il link + &Copia l'indirizzo del collegamento Open Image in New &Window - Apri l'Immagine un una nuova &Finestra + Apri l'immagine un una nuova &finestra Open Image in New &Tab - Apri l'Immagine in una nuova &Scheda + Apri l'immagine in una nuova &scheda &Save Image - &Salva l'Immagine + &Salva l'immagine &Copy Image - &Copia l'Immagine negli Appunti + &Copia l'immagine C&opy Image Location - C&opia l'indirizzo dell'Immagine + C&opia l'indirizzo dell'immagine @@ -1635,7 +1642,7 @@ Sei sicuro di volerlo fare? Not Found - Non Trovato + Non trovato From e810fdfbe09572dcb74e9840bbab674df32a15a8 Mon Sep 17 00:00:00 2001 From: smart2128 Date: Sat, 12 Jul 2008 12:28:15 +0200 Subject: [PATCH 0088/1254] modified: src/locale/it.ts --- src/locale/it.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locale/it.ts b/src/locale/it.ts index aa924398..e371b459 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -245,7 +245,7 @@ Sei sicuro di voler uscire? &Export Bookmarks... - &Esporta segnalibri... + &Esporta i segnalibri... @@ -591,7 +591,7 @@ Vuoi ricaricare tutte le pagine? Show Bookmarks Bar - Visualizza la barra dei segnalibri + Mostra la barra dei segnalibri @@ -1395,7 +1395,7 @@ Vuoi ignorare questi errori? Standard font: - Font standard: + Carattere standard: From c185d7ab5450e0c41223a885c89ff17b21a8701d Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 13 Jul 2008 14:28:03 +0200 Subject: [PATCH 0089/1254] Update dutch translation by kristof.bal --- src/locale/nl.ts | 368 ++++++++++++++++++++++++++++------------------- 1 file changed, 217 insertions(+), 151 deletions(-) diff --git a/src/locale/nl.ts b/src/locale/nl.ts index e597aa3a..d016cc91 100644 --- a/src/locale/nl.ts +++ b/src/locale/nl.ts @@ -1,6 +1,7 @@ - - + + + AboutDialog @@ -201,103 +202,108 @@ Wilt u toch afsluiten? Restore failed - + Herstellen mislukt The saved session will not being restored because last time it was restored Arora crashed. - + De opgeslagen sessie zal niet worden hersteld omdat de laatste keer dat deze werd hersteld Arora crashte. + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + De opgeslagen sessie zal niet worden hersteld omdat Arora crashte toen het probeerde de sessie te herstellen. BrowserMainWindow - + &File &Bestand - + &New Window &Nieuw venster - + &Open File... Bestand &openen... - + Open &Location... &Locatie openen... - + &Save As... O&pslaan als... - + &Import Bookmarks... Bladwijzers &importeren... - + &Export Bookmarks... Bladwijzers &exporteren... - + P&rint Preview... Afdruk&voorbeeld... - + &Print... &Afdrukken... - + Private &Browsing... Priv茅sur&fen... - + &Quit &Afsluiten - + &Edit &Bewerken - + &Undo Onge&daan maken - + &Redo Op&nieuw doen - + Cu&t Kn&ippen - + &Copy &Kopieren - + &Paste Plakk&en - + &Find &Zoeken @@ -317,32 +323,32 @@ Wilt u toch afsluiten? &Voorkeuren - + Ctrl+, Ctrl+, - + &View Bee&ld - + Ctrl+| Ctrl+| - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+/ Ctrl+/ - + &Stop &Stoppen @@ -367,134 +373,134 @@ Wilt u toch afsluiten? Tekst kleiner &maken - + Page S&ource Paginab&ron - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen Volledig s&cherm - + Hi&story &Geschiedenis - + Back Terug - + Forward Vooruit - + Home Startpagina - + Restore Last Session Vorige sessie herstellen - + &Bookmarks Bladwi&jzers - + Manage Bookmarks... Bladwijzers beheren... - + Add Bookmark... Bladwijzer toevoegen... - + &Window &Venster - + &Tools H&ulpmiddelen - + Web &Search Web&zoeken - + Ctrl+K Web Search Ctrl+K - + &Clear Private Data Priv茅gegevens &wissen - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - + Enable Web &Inspector Web &Inspector inschakelen - + &Help &Help - + About &Qt Over &Qt - + About &Arora Over &Arora - + Navigation Navigatie - + Show Status Bar Statusbalk tonen - + Hide Status Bar Statusbalk verbergen - + Show Toolbar Werkbalk tonen - + Hide Toolbar Werkbalk verbergen @@ -509,134 +515,134 @@ Wilt u toch afsluiten? Bladwijzerbalk verbergen - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Webresources openen - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webresources (*.html *.htm *.svg *.png *.gif *.svgz);;Alle bestanden(*.*) - + Print Document Document afdrukken - + Are you sure you want to turn on private browsing? Bent u zeker dat u priv茅surfen wilt inschakelen? - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Als priv茅surfen aan staat zullen sommige acties omtrent uw privacy worden uitgeschakeld:<ul><li> Webpagina's worden niet toegevoegd aan de geschiedenis.</li><li> Items worden automatisch verwijderd uit het Downloads-scherm.</li><li> Nieuwe cookies worden niet opgeslagen, huidige cookies kunnen niet worden bereikt.</li><li> Sitepictogrammen en sessie's worden niet opgeslagen.</li><li> Zoekopdrachten worden niet toegevoegd aan het pop-upmenu in de zoekbalk.</li></ul>Totdat u het venster sluit, kunt u nog altijd de Terug- en Vooruitknoppen gebruiken om terug te keren naar webpagina's die u heeft geopend. - + Are you sure you want to close the window? There are %1 tabs open Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend - + Page Source of %1 Paginabron van %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? De Web Inspector zal alleen correct werken voor pagina's die werden geladen na het inschakelen. Wilt u alle pagina's herladen? - + Stop loading the current page Stop het laden van deze pagina - + Reload the current page Deze pagina herladen - + Downloads Downloads - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + Find &Next - + &Volgende zoeken - + Find P&revious - + Vo&rige zoeken - + Prefe&rences - + Voo&rkeuren - + &Reload Page - + Pagina he&rladen - + Make Text &Bigger - + Tekst groter &maken - + Make Text &Normal - + Tekst &normaal maken - + Make Text &Smaller - + Tek&st kleiner maken - + Show Bookmarks Bar - + Bladwijzerbalk tonen - + Hide Bookmarks Bar - + Bladwijzerbalk verbergen
ClearButton - + Clear Wissen @@ -676,7 +682,7 @@ Wilt u alle pagina's herladen? C&ache - Cac&he + Cac&he @@ -693,6 +699,11 @@ Wilt u alle pagina's herladen? &Cancel &Annuleren + + + C&ached Web Pages + Gec&achte pagina's + CookieExceptionsModel @@ -704,7 +715,7 @@ Wilt u alle pagina's herladen? Status - Status + Status @@ -721,6 +732,11 @@ Wilt u alle pagina's herladen? Allow For Session Voor deze sessie toestaan + + + Rule + Regel + CookieModel @@ -754,6 +770,16 @@ Wilt u alle pagina's herladen? Contents Inhoud + + + true + waar + + + + false + fout + CookiesDialog @@ -838,6 +864,11 @@ Wilt u alle pagina's herladen? 0 Items 0 items + + + &OK + &OK + DownloadItem @@ -884,7 +915,7 @@ Wilt u alle pagina's herladen? Error opening save file: %1 - Fout bij het opslaan van bestand: %1 + Fout bij het opslaan van bestand: %1 @@ -944,19 +975,24 @@ Wilt u alle pagina's herladen? - %n minutes remaining - - - + + - 1 minuut resterend + - %n minuten resterend - %n seconds remaining - - - + + - 1 seconde resterend + - %n seconden resterend + + + Error opening output file: %1 + Fout bij het openen van het outputbestand: %1 + DownloadManager @@ -971,11 +1007,11 @@ Wilt u alle pagina's herladen? %1 downloads - + %n Download(s) - - - + + 1 download + %n downloads @@ -1053,9 +1089,9 @@ Wilt u alle pagina's herladen? %n item(s) - - - + + 1 item + %n items
@@ -1194,7 +1230,7 @@ Wilt u deze foutmeldingen negeren? SearchLineEdit - + Search Zoeken @@ -1204,7 +1240,7 @@ Wilt u deze foutmeldingen negeren? Settings - Instellingen + Instellingen @@ -1214,7 +1250,7 @@ Wilt u deze foutmeldingen negeren? Home: - Startpagina: + Startpagina: @@ -1292,204 +1328,234 @@ Wilt u deze foutmeldingen negeren? Deze bestemming gebruiken: - + Appearance Uiterlijk - + Standard font: Standaard lettertype: - + Times 16 Times 16 - + Select... Selecteren... - + Fixed-width font: Lettertype met vaste breedte: - + Courier 13 Courier 13 - + Privacy Privacy - + Web Content Webinhoud - + Enable Plugins Plugins inschakelen - + Enable Javascript Javascript inschakelen Enable Images - Afbeeldingen toestaan + Afbeeldingen toestaan - + Cookies Cookies - + Accept Cookies: Cookies accepteren: - + Always Altijd - + Never Nooit - + Only from sites you navigate to Alleen van sites waar u heen surft - + Exceptions... Uitzonderingen... Keep until: - Houden tot: + Houden tot: - + They expire Ze vervallen - + I exit the application Ik het programma afsluit - + At most 90 days Maximaal 90 dagen - + Cookies... Cookies... - + Tabs Tabs - + Select tabs and windows as they are created Tabs en vensters selecteren als ze gemaakt worden - + Confirm when closing multiple tabs Bevestiging vragen bij het sluiten van meerdere tabs - + Proxy Proxy Enable proxy - Proxy inschakelen + Proxy inschakelen - + Type: Type: - + Socks5 Socks5 - + Http Http Host: - Host: + Host: - + Port: Poort: - + User Name: Gebruikersnaam: - + Password: Wachtwoord: - + Advanced Geavanceerd - + Style Sheet: Stijlblad: On startup: - + Bij het opstarten: Show my home page - + Toon mijn startpagina Show a blank page - + Toon een lege pagina Restore windows and tabs from last time - + Herstel vensters en tabs van de vorige keer + + + + Preferences + Voorkeuren + + + + Home Page: + Startpagina: + + + + View Images + Afbeeldingen weergeven + + + + Keep Cookies Until: + Cookies houden tot: + + + + Use proxy server + Proxyserver gebruiken + + + + Host name: + Hostnaam: @@ -1563,17 +1629,17 @@ Wilt u deze foutmeldingen negeren? Kortgeleden gesloten tabs - + (Untitled) (Zonder titel) - + Do you really want to close this page? Bent u zeker dat u deze pagina wilt sluiten? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1587,7 +1653,7 @@ Bent u zeker dat u deze pagina wilt sluiten? Google - Google + Google From 3a573789ce2543140c103d1dfe70359d63081460 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 13 Jul 2008 14:28:18 +0200 Subject: [PATCH 0090/1254] Update with new authors --- AUTHORS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AUTHORS b/AUTHORS index dd11fd3d..c459c416 100644 --- a/AUTHORS +++ b/AUTHORS @@ -8,5 +8,8 @@ Adam Treat treat@kde.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org +smart2128 smart2128@baslug.org +Vincenzo Reale smart2128@baslug.org Marius Bugge Monsen mariusbu@pvv.org +Josef Kufner jk@myserver.cz Chris Hills chaz@chaz6.com From e4fb8d9de49fbc4431e99c67420b3537f26546a7 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 14 Jul 2008 22:26:17 +0200 Subject: [PATCH 0091/1254] add '...' to the end of the Preferences action text. --- src/browsermainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 9a4dfff9..073bc82b 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -403,7 +403,7 @@ void BrowserMainWindow::setupMenu() connect(m_findPrevious, SIGNAL(triggered()), this, SLOT(slotEditFindPrevious())); editMenu->addSeparator(); - editMenu->addAction(tr("Prefe&rences"), this, SLOT(slotPreferences()), tr("Ctrl+,")); + editMenu->addAction(tr("Prefe&rences..."), this, SLOT(slotPreferences()), tr("Ctrl+,")); // View QMenu *viewMenu = menuBar()->addMenu(tr("&View")); From b96a88191d90db524108a7e0e6c2a17b5df929dd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 15 Jul 2008 20:19:43 +0200 Subject: [PATCH 0092/1254] Update the LineEdit class to use the new textMargin when compiling with Qt 4.5 rather then the proxy style which could cause problem and uses memory. --- src/utils/lineedit.cpp | 6 ++++-- src/utils/lineedit_p.h | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index 4c1a9209..20c0fa20 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -43,7 +43,7 @@ LineEdit::LineEdit(QWidget *parent) , m_leftLayout(0) , m_rightLayout(0) { -#if 1 +#if QT_VERSION < 0x040500 setStyle(new LineEditStyle); #endif init(); @@ -141,7 +141,7 @@ int LineEdit::textMargin(WidgetPosition position) const void LineEdit::updateTextMargins() { -#if 0 +#if QT_VERSION >= 0x040500 int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); int top = 0; @@ -161,8 +161,10 @@ void LineEdit::updateSideWidgetLocations() textRect.adjust(spacing, 0, -spacing, 0); int left = textMargin(LineEdit::LeftSide); +#if QT_VERSION < 0x040500 int right = textMargin(LineEdit::RightSide); textRect.adjust(-left, 1, right, 0); +#endif int midHeight = textRect.center().y(); diff --git a/src/utils/lineedit_p.h b/src/utils/lineedit_p.h index efd34dce..942d2699 100644 --- a/src/utils/lineedit_p.h +++ b/src/utils/lineedit_p.h @@ -37,6 +37,8 @@ class SideWidget : public QWidget }; +#if QT_VERSION < 0x040500 + #include "qapplication.h" #include "proxystyle.h" #include "lineedit.h" @@ -65,5 +67,7 @@ class LineEditStyle : public ProxyStyle }; +#endif // QT_VERSION + #endif // LINEEDIT_P_H From 03eae4ac35fbd7e76dd6c071e1864b190677e1b3 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 15 Jul 2008 20:24:54 +0200 Subject: [PATCH 0093/1254] =?UTF-8?q?Update=20Turkish=20translation=20by?= =?UTF-8?q?=20H.=20=C4=B0brahim=20G=C3=BCng=C3=B6r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/tr.ts | 59 ++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/locale/tr.ts b/src/locale/tr.ts index 3e1cbc37..ebca2de0 100644 --- a/src/locale/tr.ts +++ b/src/locale/tr.ts @@ -5,7 +5,7 @@ AboutDialog Lightweight WebKit-based web browser - Webkit tabanl谋 hafif web taray谋c谋 + Webkit tabanl谋 hafif bir web taray谋c谋 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -83,7 +83,8 @@ p, li { white-space: pre-wrap; } Error when loading bookmarks on line %1, column %2: %3 - Sat谋r %1, s眉tun %2'deki yerimini y眉klerken hata olu艧tu:锟%3 + Sat谋r %1, s眉tun %2'deki yerimini y眉klerken hata olu艧tu: +锟%3 Toolbar Bookmarks @@ -170,14 +171,14 @@ Yinede 莽谋kmak istiyor musunuz? The saved session will not be restored because Arora crashed while trying to restore this session. - Kaydolan oturum geri y眉klenemeyecek 莽眉nk眉 Arora oturumu geri y眉klerken 莽枚kt眉 + Kaydolan oturum geri y眉klenemeyecek 莽眉nk眉 Arora oturumu geri y眉klerken 莽枚kt眉. BrowserMainWindow &File - D&osya + Do&sya &New Window @@ -185,35 +186,35 @@ Yinede 莽谋kmak istiyor musunuz? &Open File... - &Dosya A莽 + Dosya &A莽... Open &Location... - &Konumu A莽 + Kon&umu A莽... &Save As... - &Farkl谋 Kaydet + &Farkl谋 Kaydet... &Import Bookmarks... - &Yerimlerini 陌莽e Aktar + Yeri&mlerini 陌莽e Aktar... &Export Bookmarks... - &Yerimlerini D谋艧a Aktar + Yerimlerini D谋&艧a Aktar... P&rint Preview... - &Bask谋 脰nizleme + Bask谋 &脰nizleme... &Print... - &Yazd谋r + Ya&zd谋r... Private &Browsing... - &脰zel Gezinme + 脰zel Gez&inme... &Quit @@ -221,7 +222,7 @@ Yinede 莽谋kmak istiyor musunuz? &Edit - &D眉zenle + D&眉zenle &Undo @@ -237,7 +238,7 @@ Yinede 莽谋kmak istiyor musunuz? &Copy - &Kopyala + K&opyala &Paste @@ -257,7 +258,7 @@ Yinede 莽谋kmak istiyor musunuz? Prefe&rences - &Tercihler + Te&rcihler Ctrl+, @@ -285,7 +286,7 @@ Yinede 莽谋kmak istiyor musunuz? &Reload Page - %Sayfay谋 Yeniden Y眉kle + &Sayfay谋 Yeniden Y眉kle Make Text &Bigger @@ -293,15 +294,15 @@ Yinede 莽谋kmak istiyor musunuz? Make Text &Normal - &Yaz谋y谋 Normal Yap + Yaz谋y谋 &Normal Yap Make Text &Smaller - &Yaz谋y谋 K眉莽眉lt + Yaz谋y谋 K&眉莽眉lt Page S&ource - &Sayfa Kayna臒谋 + Sayfa Kayna&臒谋 Ctrl+Alt+U @@ -309,19 +310,19 @@ Yinede 莽谋kmak istiyor musunuz? &Full Screen - &Tam Ekran + Tam Ek&ran Hi&story - &Ge莽mi艧 + Ge&莽mi艧 Back - &Geri + Geri Forward - &陌leri + 陌leri Home @@ -337,7 +338,7 @@ Yinede 莽谋kmak istiyor musunuz? Manage Bookmarks... - Yer 陌mlerini D眉zenle + Yer 陌mlerini D眉zenle... Add Bookmark... @@ -371,11 +372,11 @@ Yinede 莽谋kmak istiyor musunuz? Enable Web &Inspector - Web Denet莽isini Aktif Et + A臒 Denet&莽isini Aktif Et &Help - &Yard谋m + Yard&谋m About &Qt @@ -571,7 +572,7 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? Expires - Biter + Sonlanma Contents @@ -794,7 +795,7 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? <qt>Connect to proxy "%1" using:</qt> - <qt>Connect to proxy "%1" using:</qt> + <qt>Vekil "%1" 'e bunu kullanarak ba臒lan:</qt> SSL Errors: @@ -844,7 +845,7 @@ Do you want to ignore these errors? ProxyDialog Proxy Authentication - Proxy Kimlik Denetimi + Vekil Kimlik Denetimi ICON From f19d3c8de198c5fee6400c184eedb35b180da419 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 15 Jul 2008 21:06:00 +0200 Subject: [PATCH 0094/1254] When restoring the session re-use the existing main window and when quiting don't save the session as each window is closing. Issue: 120 --- src/browserapplication.cpp | 9 ++++++--- src/browserapplication.h | 1 + src/tabwidget.cpp | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 31445100..43ac0a3a 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -97,6 +97,7 @@ BookmarksManager *BrowserApplication::s_bookmarksManager = 0; BrowserApplication::BrowserApplication(int &argc, char **argv) : QApplication(argc, argv) , m_localServer(0) + , quiting(false) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); @@ -166,6 +167,8 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) BrowserApplication::~BrowserApplication() { + saveSession(); + quiting = true; delete s_downloadManager; qDeleteAll(m_mainWindows); delete s_networkAccessManager; @@ -312,6 +315,8 @@ static const qint32 BrowserApplicationMagic = 0xec; void BrowserApplication::saveSession() { + if (quiting) + return; QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); settings.setValue(QLatin1String("restoring"), false); @@ -383,9 +388,7 @@ bool BrowserApplication::restoreLastSession() } for (int i = 0; i < windows.count(); ++i) { BrowserMainWindow *newWindow = 0; - if (m_mainWindows.count() == 1 - && mainWindow()->tabWidget()->count() == 1 - && mainWindow()->currentTab()->url() == QUrl()) { + if (i == 0 && m_mainWindows.count() >= 1) { newWindow = mainWindow(); } else { newWindow = newMainWindow(); diff --git a/src/browserapplication.h b/src/browserapplication.h index f36d7917..209effd6 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -134,6 +134,7 @@ private slots: QList > m_mainWindows; QLocalServer *m_localServer; QByteArray m_lastSession; + bool quiting; }; #endif // BROWSERAPPLICATION_H diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index b17fee2f..6e05fa82 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -840,7 +840,7 @@ bool TabWidget::restoreState(const QByteArray &state) QStringList openTabs; stream >> openTabs; for (int i = 0; i < openTabs.count(); ++i) - loadUrl(openTabs.at(i), i == 0 ? CurrentTab : NewTab); + loadUrl(openTabs.at(i), i == 0 && currentWebView()->url() == QUrl() ? CurrentTab : NewTab); int currentTab; stream >> currentTab; From 3ce8164096a74deb3c168c4da617704545046248 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 16 Jul 2008 00:03:31 +0200 Subject: [PATCH 0095/1254] Tighter side widget code for less unnecessary painting and layouting. --- src/locationbar.cpp | 45 +++++++++++++++++++++++++++--------------- src/locationbar_p.h | 3 ++- src/utils/lineedit.cpp | 5 +++-- src/utils/lineedit.h | 2 +- 4 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 5a6f8da3..c06d019b 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -31,20 +31,29 @@ #include -LocationBarSiteIcon::LocationBarSiteIcon(WebView *webView, QWidget *parent) +LocationBarSiteIcon::LocationBarSiteIcon(QWidget *parent) : QLabel(parent) - , m_webView(webView) + , m_webView(0) +{ + resize(QSize(16, 16)); + webViewSiteIconChanged(); +} + +void LocationBarSiteIcon::setWebView(WebView *webView) { + m_webView = webView; connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(webViewSiteIconChanged())); connect(webView, SIGNAL(iconChanged()), this, SLOT(webViewSiteIconChanged())); - webViewSiteIconChanged(); } void LocationBarSiteIcon::webViewSiteIconChanged() { - setPixmap(BrowserApplication::instance()->icon(m_webView->url()).pixmap(16, 16)); + QUrl url; + if (m_webView) + url = m_webView->url(); + setPixmap(BrowserApplication::instance()->icon(url).pixmap(16, 16)); } void LocationBarSiteIcon::mousePressEvent(QMouseEvent *event) @@ -75,14 +84,10 @@ LocationBar::LocationBar(QWidget *parent) , m_webView(0) , m_siteIcon(0) { - m_defaultBaseColor = palette().color(QPalette::Base); - - QPalette p = palette(); - p.setColor(QPalette::Base, QColor(255, 255, 255, 100)); - setPalette(p); - - // Urls are always LeftToRight - setLayoutDirection(Qt::LeftToRight); + setUpdatesEnabled(false); + // site icon on the left + m_siteIcon = new LocationBarSiteIcon(this); + addWidget(m_siteIcon, LeftSide); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); @@ -91,21 +96,29 @@ LocationBar::LocationBar(QWidget *parent) connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); + updateTextMargins(); + setUpdatesEnabled(true); + m_clearButton->hide(); + m_defaultBaseColor = palette().color(QPalette::Base); + + QPalette p = palette(); + p.setColor(QPalette::Base, QColor(255, 255, 255, 100)); + setPalette(p); + + // Urls are always LeftToRight + setLayoutDirection(Qt::LeftToRight); } void LocationBar::setWebView(WebView *webView) { Q_ASSERT(webView); m_webView = webView; - - // site icon on the left - m_siteIcon = new LocationBarSiteIcon(webView, this); + m_siteIcon->setWebView(webView); connect(webView, SIGNAL(urlChanged(const QUrl &)), this, SLOT(webViewUrlChanged(const QUrl &))); connect(webView, SIGNAL(loadProgress(int)), this, SLOT(update())); - addWidget(m_siteIcon, LeftSide); } void LocationBar::webViewUrlChanged(const QUrl &url) diff --git a/src/locationbar_p.h b/src/locationbar_p.h index 053da4e3..26cfc47c 100644 --- a/src/locationbar_p.h +++ b/src/locationbar_p.h @@ -28,7 +28,8 @@ class LocationBarSiteIcon : public QLabel Q_OBJECT public: - LocationBarSiteIcon(WebView *m_webView, QWidget *parent = 0); + LocationBarSiteIcon(QWidget *parent = 0); + void setWebView(WebView *webView); protected: void mousePressEvent(QMouseEvent *event); diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index 20c0fa20..73efdb35 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -131,7 +131,7 @@ int LineEdit::textMargin(WidgetPosition position) const int spacing = m_rightLayout->spacing(); int w = 0; if (position == LeftSide) - w = m_leftWidget->width(); + w = m_leftWidget->sizeHint().width(); else w = m_rightWidget->sizeHint().width(); if (w == 0) @@ -147,8 +147,9 @@ void LineEdit::updateTextMargins() int top = 0; int bottom = 0; setTextMargins(left, top, right, bottom); -#endif +#else update(); +#endif updateSideWidgetLocations(); } diff --git a/src/utils/lineedit.h b/src/utils/lineedit.h index 1215083a..8e73221f 100644 --- a/src/utils/lineedit.h +++ b/src/utils/lineedit.h @@ -57,7 +57,7 @@ class LineEdit : public QLineEdit protected: void resizeEvent(QResizeEvent *event); -private slots: +protected slots: void updateTextMargins(); private: From 30d2dd645d4664aebdbd9c67a1a4a6e30bb75935 Mon Sep 17 00:00:00 2001 From: Josef Kufner Date: Tue, 15 Jul 2008 02:29:30 +0200 Subject: [PATCH 0096/1254] Shortcuts in Edit menu like in Firefox. --- src/browsermainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 073bc82b..f5b1fb41 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -394,7 +394,7 @@ void BrowserMainWindow::setupMenu() connect(m_find, SIGNAL(triggered()), this, SLOT(slotEditFind())); new QShortcut(QKeySequence(Qt::Key_Slash), this, SLOT(slotEditFind())); - QAction *m_findNext = editMenu->addAction(tr("Find &Next")); + QAction *m_findNext = editMenu->addAction(tr("Find Nex&t")); m_findNext->setShortcuts(QKeySequence::FindNext); connect(m_findNext, SIGNAL(triggered()), this, SLOT(slotEditFindNext())); @@ -403,7 +403,7 @@ void BrowserMainWindow::setupMenu() connect(m_findPrevious, SIGNAL(triggered()), this, SLOT(slotEditFindPrevious())); editMenu->addSeparator(); - editMenu->addAction(tr("Prefe&rences..."), this, SLOT(slotPreferences()), tr("Ctrl+,")); + editMenu->addAction(tr("Prefere&nces..."), this, SLOT(slotPreferences()), tr("Ctrl+,")); // View QMenu *viewMenu = menuBar()->addMenu(tr("&View")); From b674e1ad3a8a3061bad5e3d26512a238d251359b Mon Sep 17 00:00:00 2001 From: Josef Kufner Date: Tue, 15 Jul 2008 00:40:29 +0200 Subject: [PATCH 0097/1254] Clear history: Added confirm dialog Signed-off-by: Benjamin C Meyer --- src/history.cpp | 14 ++++++++++++-- src/history.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/history.cpp b/src/history.cpp index 6669d834..b9ad681a 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -76,6 +76,7 @@ #include #include #include +#include #include #include @@ -649,11 +650,12 @@ void HistoryMenu::postPopulated() addSeparator(); QAction *showAllAction = new QAction(tr("Show All History"), this); + showAllAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_H)); connect(showAllAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog())); addAction(showAllAction); - QAction *clearAction = new QAction(tr("Clear History"), this); - connect(clearAction, SIGNAL(triggered()), m_history, SLOT(clear())); + QAction *clearAction = new QAction(tr("Clear History..."), this); + connect(clearAction, SIGNAL(triggered()), this, SLOT(clearHistoryDialog())); addAction(clearAction); } @@ -665,6 +667,14 @@ void HistoryMenu::showHistoryDialog() dialog->show(); } +void HistoryMenu::clearHistoryDialog() +{ + if (m_history && QMessageBox::question(0, tr("Clear History"), tr("Do you want to clear the history?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) { + m_history->clear(); + } +} + void HistoryMenu::setInitialActions(QList actions) { m_initialActions = actions; diff --git a/src/history.h b/src/history.h index 24f647fe..a7f68316 100644 --- a/src/history.h +++ b/src/history.h @@ -271,6 +271,7 @@ class HistoryMenu : public ModelMenu private slots: void activated(const QModelIndex &index); void showHistoryDialog(); + void clearHistoryDialog(); private: HistoryManager *m_history; From f4e9c4737eadb9ec2ae63bdbe85407718a014bb8 Mon Sep 17 00:00:00 2001 From: Josef Kufner Date: Sun, 13 Jul 2008 23:33:06 +0200 Subject: [PATCH 0098/1254] Replaced alone "Ok" buttons with "Close" buttons in bookmarks, cookies and history dialogs. Signed-off-by: Benjamin C Meyer --- src/bookmarks.ui | 6 +++--- src/cookies.ui | 6 +++--- src/history.ui | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/bookmarks.ui b/src/bookmarks.ui index c893e941..080a979e 100644 --- a/src/bookmarks.ui +++ b/src/bookmarks.ui @@ -64,7 +64,7 @@ - QDialogButtonBox::Ok + QDialogButtonBox::Close @@ -88,9 +88,9 @@ buttonBox - accepted() + rejected() BookmarksDialog - accept() + close() 472 diff --git a/src/cookies.ui b/src/cookies.ui index c4bccc54..8d69f759 100644 --- a/src/cookies.ui +++ b/src/cookies.ui @@ -64,7 +64,7 @@ - QDialogButtonBox::Ok + QDialogButtonBox::Close @@ -88,9 +88,9 @@ buttonBox - accepted() + rejected() CookiesDialog - accept() + close() 472 diff --git a/src/history.ui b/src/history.ui index 0944940e..3ea3eac1 100644 --- a/src/history.ui +++ b/src/history.ui @@ -64,7 +64,7 @@ - QDialogButtonBox::Ok + QDialogButtonBox::Close @@ -88,9 +88,9 @@ buttonBox - accepted() + rejected() HistoryDialog - accept() + close() 472 From 0b40b58a5b72f407773f0b22d4b7d4c1dc1b691e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 16 Jul 2008 00:23:25 +0200 Subject: [PATCH 0099/1254] Minor whitespace tweak. --- src/downloadmanager.cpp | 2 +- src/src.pri | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 030a8cb1..3c095a43 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -505,7 +505,7 @@ void DownloadManager::updateRow(DownloadItem *item) if (icon.isNull()) icon = style()->standardIcon(QStyle::SP_FileIcon); item->fileIcon->setPixmap(icon.pixmap(48, 48)); - + int oldHeight = downloadsView->rowHeight(row); downloadsView->setRowHeight(row, qMax(oldHeight, item->minimumSizeHint().height())); diff --git a/src/src.pri b/src/src.pri index 7c340333..e8702227 100644 --- a/src/src.pri +++ b/src/src.pri @@ -103,7 +103,7 @@ mac { } unix { - isEmpty(PREFIX){ + isEmpty(PREFIX) { PREFIX = /usr/local } From c0eec359042dc2da2c2742e5e8832cbe716ed333 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 16 Jul 2008 00:30:17 +0200 Subject: [PATCH 0100/1254] On OS X don't steal the ctrl-h which is always hide window. --- src/history.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/history.cpp b/src/history.cpp index b9ad681a..034146cc 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -650,7 +650,9 @@ void HistoryMenu::postPopulated() addSeparator(); QAction *showAllAction = new QAction(tr("Show All History"), this); +#if !defined(Q_WS_MAC) showAllAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_H)); +#endif connect(showAllAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog())); addAction(showAllAction); From acaa4b7c68f38d5fa1cb7f3d2b334a449d68f2e4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 16 Jul 2008 00:34:45 +0200 Subject: [PATCH 0101/1254] Minor code cleanup, add shortcut for the bookmark dialog --- src/browsermainwindow.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index f5b1fb41..b3dc7c70 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -74,7 +74,6 @@ #include "tabbar.h" #include "tabwidget.h" #include "toolbarsearch.h" -#include "ui_passworddialog.h" #include "webview.h" #include "webviewsearch.h" @@ -500,6 +499,7 @@ void BrowserMainWindow::setupMenu() QList bookmarksActions; QAction *showAllBookmarksAction = new QAction(tr("Manage Bookmarks..."), this); + showAllBookmarksAction->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_B)); connect(showAllBookmarksAction, SIGNAL(triggered()), this, SLOT(slotShowBookmarksDialog())); m_addBookmark = new QAction(QIcon(QLatin1String(":addbookmark.png")), tr("Add Bookmark..."), this); m_addBookmark->setIconVisibleInMenu(false); @@ -530,6 +530,7 @@ void BrowserMainWindow::setupMenu() m_enableInspector->setChecked(settings.value(QLatin1String("enableInspector"), false).toBool()); #endif + // Help QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt())); helpMenu->addAction(tr("About &Arora"), this, SLOT(slotAboutApplication())); @@ -737,8 +738,8 @@ void BrowserMainWindow::slotFileSaveAs() void BrowserMainWindow::slotPreferences() { - SettingsDialog s(this); - s.exec(); + SettingsDialog settingsDialog(this); + settingsDialog.exec(); } void BrowserMainWindow::slotUpdateStatusbar(const QString &string) From f53379e7ded39c4fbacfef0c142804d98ea24fbc Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 16 Jul 2008 01:59:23 +0200 Subject: [PATCH 0102/1254] Only include the sha1 and change number in the version when they are generated (i.e. for developers with a git directory, not for releases) --- src/browserapplication.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 43ac0a3a..894ed1f0 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -101,7 +101,10 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); - QString version = QString("0.3 (Change: %1 %2)").arg(GITCHANGENUMBER).arg(GITVERSION); + QString version = QLatin1String("0.3"); + if (GITCHANGENUMBER != "0") + version += QString(" (Change: %1 %2)").arg(GITCHANGENUMBER).arg(GITVERSION); + QCoreApplication::setApplicationVersion(version); #ifdef Q_WS_QWS // Use a different server name for QWS so we can run an X11 From 64cb7fbaa17fec278ab485c58891dbc59e672e64 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 16 Jul 2008 02:26:28 +0200 Subject: [PATCH 0103/1254] Emit a warning of a file doesn't have a matching autotest --- git_hooks/pre-commit_autotest | 2 ++ 1 file changed, 2 insertions(+) diff --git a/git_hooks/pre-commit_autotest b/git_hooks/pre-commit_autotest index b51ebbe8..83dbb0d0 100755 --- a/git_hooks/pre-commit_autotest +++ b/git_hooks/pre-commit_autotest @@ -22,5 +22,7 @@ for file in `git-diff-index --name-only HEAD | grep .cpp` ; do fi rm $TMPFILE echo "--checking autotest: $file done--" + else + echo "--missing autotest: $file--" fi done From 7303a4b1784ed784bf1fecd51d5a3e9882830570 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 17 Jul 2008 10:44:51 +0200 Subject: [PATCH 0104/1254] Fix compiler warning. --- src/browserapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 894ed1f0..ef0d8489 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -102,7 +102,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); QString version = QLatin1String("0.3"); - if (GITCHANGENUMBER != "0") + if (QLatin1String(GITCHANGENUMBER) != QLatin1String("0")) version += QString(" (Change: %1 %2)").arg(GITCHANGENUMBER).arg(GITVERSION); QCoreApplication::setApplicationVersion(version); From 5692da9ef32b1884c5c6eb734a7177b60a6916ca Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Thu, 17 Jul 2008 13:20:54 +0200 Subject: [PATCH 0105/1254] Hungarian translation --- src/locale/hu.ts | 1634 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1635 insertions(+) create mode 100644 src/locale/hu.ts diff --git a/src/locale/hu.ts b/src/locale/hu.ts new file mode 100644 index 00000000..213002a9 --- /dev/null +++ b/src/locale/hu.ts @@ -0,0 +1,1634 @@ + + + + + AboutDialog + + + About + Magamr贸l + + + + Authors + Fejleszt艖k + + + + License + Licensz + + + + Lightweight WebKit-based web browser + K枚nny疟 WebKit-alap煤 web b枚ng茅sz艖 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + Bez谩r + + + + AddBookmarkDialog + + + Add Bookmark + 脷j k枚nyvjelz艖 + + + + Type a name for the bookmark, and choose where to keep it. + 脥rja be a k枚nyvjelz艖 nev茅t, 茅s v谩lassza ki, hova ker眉lj枚n. + + + + BookmarksDialog + + + Open + Megnyit谩s + + + + Open in New Tab + Megnyit谩s 脷j F眉l枚n + + + + Delete + T枚rl茅s + + + + New Folder + 脷j Mappa + + + + Bookmarks + K枚nyvjelz艖k + + + + &Remove + T枚&rl茅s + + + + Add Folder + Mappa hozz谩ad谩sa + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Hiba a k枚nyvjelz艖k bet枚lt茅se k枚zben a %1 sor, %2 oszlop谩n谩l: +%3 + + + + Toolbar Bookmarks + K枚nyvjelz艖 eszk枚zt谩r + + + + Menu + Men眉 + + + + Open File + F谩jl megnyit谩s + + + + XBEL (*.xbel *.xml) + + + + + Imported %1 + %1 import谩lva + + + + Save File + F谩jl ment茅s + + + + %1 Bookmarks.xbel + + + + + Export error + Export谩l谩si hiba + + + + error saving bookmarks + Hiba a k枚nyvjelz艖k ment茅se k枚zben + + + + Remove Bookmark + K枚nyvjelz艖 t枚rl茅se + + + + Insert Bookmark + K枚nyvjelz艖 besz煤r谩sa + + + + Name Change + N茅v v谩ltoztat谩s + + + + Address Change + C铆m v谩ltoztat谩s + + + + BookmarksModel + + + Title + N茅v + + + + Address + C铆m + + + + BookmarksToolBar + + + Bookmark + K枚nyvjelz艖 + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + %1 ablak 茅s %2 f眉l van megnyitva. +Biztosan ki akar l茅pni? + + + + Restore failed + Vissza谩ll铆t谩s sikertelen + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Az elmentett szakasz nem lesz vissza谩ll铆tva, mert az Arora 枚sszeomlott a vissza谩ll铆t谩s k枚zben. + + + + BrowserMainWindow + + + &File + &F谩jl + + + + &New Window + 脷j ablak + + + + &Open File... + F谩jl megnyit谩s + + + + Open &Location... + He&ly megnyit谩s + + + + &Save As... + Ment茅&s m谩sk茅nt + + + + &Import Bookmarks... + K枚nyvjelz艖k &Import谩l谩sa + + + + &Export Bookmarks... + K枚nyvjelz艖k &Export谩l谩sa + + + + P&rint Preview... + Nyomtat谩si el艖k茅p + + + + &Print... + Nyomtat谩s + + + + Private &Browsing... + Bizalmas b枚ng茅sz茅s... + + + + &Quit + Kil茅p茅s + + + + &Edit + Szerkeszt茅s + + + + &Undo + Vissza + + + + &Redo + 脷jra + + + + Cu&t + Kiv谩g谩s + + + + &Copy + M谩sol谩s + + + + &Paste + Beilleszt茅s + + + + &Find + Keres茅s + + + + Find Nex&t + K枚vetkez艖 keres茅se + + + + Find P&revious + El艖z艖 keres茅se + + + + Prefere&nces... + Be谩ll铆t谩sok... + + + + Ctrl+, + + + + + &View + Megn茅z + + + + Ctrl+| + + + + + Shift+Ctrl+B + + + + + Ctrl+/ + + + + + &Stop + 脕llj + + + + &Reload Page + Oldal 煤jrat枚lt茅se + + + + Make Text &Bigger + Sz枚veg nagy铆t谩sa + + + + Make Text &Normal + Sz枚veg norm谩l m茅rete + + + + Make Text &Smaller + Sz枚veg kicsiny铆t茅se + + + + Page S&ource + Oldal forr谩sa + + + + Ctrl+Alt+U + + + + + &Full Screen + Teljes k茅perny艖 + + + + Hi&story + T枚rt茅net + + + + Back + Vissza + + + + Forward + El艖re + + + + Home + Haza + + + + Restore Last Session + Utols贸 f谩zis vissza谩ll铆t谩sa + + + + &Bookmarks + K枚nyvjelz艖k + + + + Manage Bookmarks... + K枚nyvjelz艖k kezel茅se... + + + + Add Bookmark... + 脷j k枚nyvjelz艖... + + + + &Window + Ablak + + + + &Tools + Eszk枚z枚k + + + + Web &Search + Web Keres茅s + + + + Ctrl+K + Web Search + + + + + &Clear Private Data + Bizalmas adatok t枚rl茅se + + + + Ctrl+Shift+Delete + Clear Private Data + + + + + Enable Web &Inspector + Web fel眉gyel艖 enged茅lyez茅se + + + + &Help + Seg铆ts茅g + + + + About &Qt + A QT-r艖l + + + + About &Arora + Az Arorar贸l + + + + Navigation + Navig谩ci贸 + + + + Show Status Bar + Statusz-sor mutat谩sa + + + + Hide Status Bar + St谩tusz-sor elrelyt茅se + + + + Show Toolbar + Eszk枚zt谩r mutat谩sa + + + + Hide Toolbar + Eszk枚zt谩r elrelyt茅se + + + + Show Bookmarks Bar + K枚nyvjelz艖sor mutat谩sa + + + + Hide Bookmarks Bar + K枚nyvjelz艖sor elrelyt茅se + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + + + + + Open Web Resource + Web forr谩s megnyit谩sa + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Web forr谩sok (*.html *.htm *.svg *.png *.gif *.svgz);;Minden f谩jl (*.*) + + + + Print Document + Dokumentum nyomtat谩sa + + + + Are you sure you want to turn on private browsing? + Biztosan be akarja kapcsolni a bizalmas b枚ng茅sz茅st? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>A bizalmas b枚ng茅sz茅s bekapcsol谩s谩val bizonyos, a mag谩nszf茅r谩j谩t 茅rint艖, szolg谩ltat谩sok ki lesznek kapcsolva:<ul><li> A weblapok t枚rt茅nete nem k枚vet艖dik.</li><li> A "Let枚lt茅sek" ablakb贸l automatikusan t枚rl艖dnek a bejegyz茅sek.</li><li> 脷j s眉tik nem t谩rol贸dnak, a megl茅v艖ek el茅rhetetlenn茅 v谩lnak.</li><li> Az oldalak ikonjai nem t谩rol贸dnak, 茅s a munkaf谩zisok sem ker眉lnek ment茅sre.</li><li> A keres茅sek nem ker眉lnek be a keres艖doboz felugr贸 men眉j茅be.</li></ul>Az ablak bez谩r谩s谩ig a "Vissza" 茅s "El艖re" gombok haszn谩lhat贸ak maradnak. + + + + Are you sure you want to close the window? There are %1 tabs open + Biztosan be akarja z谩rni az ablakot? %1 f眉l m茅g nyitva van + + + + Page Source of %1 + %1 oldal forr谩sa + + + + Web Inspector + Web fel眉gyel艖 + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + A web fel眉gyel艖 csak azokon az oldalakon fog megfelel艖en m疟k枚dni, melyek az enged茅lyez茅s ut谩n lettek bet枚ltve. +脷jra akarja t枚lteni az 枚sszes oldalt? + + + + Stop loading the current page + Aktu谩lis lap bet枚lt茅s茅nek le谩ll铆t谩sa + + + + Reload the current page + Aktu谩lis lap 煤jrat枚lt茅se + + + + Downloads + Let枚lt茅sek + + + + Alt+Ctrl+L + Download Manager + + + + + ClearButton + + + Clear + T枚r枚l + + + + ClearPrivateData + + + Clear Private Data + Priv谩t adatok t枚rl茅se + + + + Clear the following items: + A k枚vetkez艖 adatok t枚rl茅se: + + + + &Browsing History + B枚ng茅sz茅s t枚rt茅net + + + + &Download History + Let枚lt茅s t枚rt茅net + + + + &Search History + Keres茅s t枚rt茅net + + + + &Cookies + S眉tik + + + + C&ached Web Pages + 脕tmeneti web oldalak + + + + Website &Icons + Weboldal ikonok + + + + Clear &Private Data + Priv谩t adatok t枚rl茅se + + + + &Cancel + M茅gse + + + + CookieExceptionsModel + + + Website + Weboldal + + + + Rule + Szab谩ly + + + + Allow + Enged茅lyez + + + + Block + Blokkol + + + + Allow For Session + A munkaf谩zis idej茅re enged茅lyez + + + + CookieModel + + + Website + Weboldal + + + + Name + N茅v + + + + Path + 脷tvonal + + + + Secure + Biztons谩gos + + + + Expires + Lej谩r + + + + Contents + Tartalom + + + + true + igen + + + + false + nem + + + + CookiesDialog + + + Cookies + S眉tik + + + + &Remove + T枚r枚l + + + + Remove &All Cookies + Minden s眉ti t枚rl茅se + + + + CookiesExceptionsDialog + + + Cookie Exceptions + S眉ti kiv茅telek + + + + New Exception + 脷j kiv茅tel + + + + Domain: + Dom茅n: + + + + Block + Blokkol + + + + Allow For Session + A munkaf谩zis idej茅re enged茅lyez + + + + Allow + Enged茅lyez + + + + Exceptions + Kiv茅telek + + + + &Remove + T枚r枚l + + + + Remove &All + Mindent t枚r枚l + + + + DownloadDialog + + + Downloads + Let枚lt茅sek + + + + Clean up + Tiszt铆t谩s + + + + 0 Items + 0 bejegyz茅s + + + + &OK + Ok + + + + DownloadItem + + + Form + + + + + Ico + + + + + Filename + F谩jln茅v + + + + Try Again + 脷jra + + + + Stop + 脕llj + + + + Open + Megnyit + + + + Save File + Ment茅s + + + + Download canceled: %1 + Let枚lt茅s megszak铆tva: %1 + + + + Error opening output file: %1 + Hiba a kimeneti f谩jl megny铆t谩s谩n谩l: %1 + + + + Error saving: %1 + Ment茅si hiba: %1 + + + + Network Error: %1 + H谩l贸zati hiba: %1 + + + + seconds + m谩sodperc + + + + - %n minutes remaining + + - %n perc van h谩tra + + + + + - %n seconds remaining + + - %n m谩sodperc van h谩tra + + + + + %1 of %2 (%3/sec) %4 + %1 %2-b贸l (%3/mp) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 %2-b贸l - Le谩ll铆tva + + + + bytes + b谩jt + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + %n Download(s) + + %n Let枚lt茅s + + + + + HistoryDialog + + + Open + Megnyit + + + + Copy + M谩sol + + + + Delete + T枚r枚l + + + + History + T枚rt茅net + + + + &Remove + T枚r枚l + + + + Remove &All + Mindent t枚r枚l + + + + HistoryMenu + + + Show All History + Teljes t枚rt茅net mutat谩sa + + + + Clear History... + T枚rt茅net t枚rl茅se... + + + + Clear History + T枚rt茅net t枚rl茅se + + + + Do you want to clear the history? + Biztosan t枚r枚lni k铆v谩nja a b枚ng茅sz茅si t枚rt茅netet? + + + + HistoryModel + + + Title + N茅v + + + + Address + C铆m + + + + HistoryTreeModel + + + Earlier Today + Kor谩bban + + + + %n item(s) + + %n bejegyz茅s + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>K茅rem 铆rja be a felhaszn谩l贸t 茅s a jelsz贸t "%1"-hez, %2-n茅l</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>"%1" proxy-hoz csatlakoz谩s:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL hib谩k: + +%1 + +%2 + +Figyelmen k铆v眉l akarja hagyni ezeket a hib谩kat? + + + + Do you want to accept all these certificates? + Elfogadja ezeket a tanus铆tv谩nyokat? + + + + PasswordDialog + + + Authentication Required + Azonos铆t谩s sz眉ks茅ges + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Felhaszn谩l贸: + + + + Password: + Jelsz贸: + + + + ProxyDialog + + + Proxy Authentication + Proxy Azonos铆t谩s + + + + ICON + + + + + Connect to proxy + Csatlakoz谩s proxy-hoz + + + + Username: + Felhaszn谩l贸: + + + + Password: + Jelsz贸: + + + + QObject + + + The file is not an XBEL version 1.0 file. + A f谩jl nem XBEL 1.0 verzi贸j煤 f谩jl. + + + + Unknown title + Ismeretlen c铆m + + + + SearchBanner + + + Form + + + + + TextLabel + + + + + < + + + + + > + + + + + Done + K茅sz + + + + SearchLineEdit + + + Search + Keres茅s + + + + Settings + + + Preferences + Be谩ll铆t谩sok + + + + General + 脕ltal谩nos + + + + On startup: + Ind铆t谩sn谩l: + + + + Show my home page + Mutasd a saj谩t honlapom + + + + Show a blank page + Mutass egy 眉res ablakot + + + + Restore windows and tabs from last time + Kor谩bbi ablakok 茅s f眉leg vissza谩ll铆t谩sa + + + + Home Page: + Honlap: + + + + Set to current page + Jelenlegi lapra 谩ll铆t谩s + + + + Remove history items: + T枚rt茅net bejegyz茅sek t枚rl茅se: + + + + After one day + Egy nap ut谩n + + + + After one week + Egy h茅t ut谩n + + + + After two weeks + K茅t h茅t ut谩n + + + + After one month + Egy h贸nap ut谩n + + + + After one year + Egy 茅v ut谩n + + + + Manually + K茅zzel + + + + On application exit + Kil茅p茅skor + + + + Open links from applications: + K眉ls艖 hivatkoz谩sok megnyit谩sa: + + + + In a tab in the current window + Aktu谩lis ablakban 煤j f眉l枚n + + + + In a new window + 脷j ablakban + + + + Downloads + Let枚lt茅sek + + + + Ask for a destination each time + C茅l megk茅rdez茅se mindig + + + + Use this destination: + Ezt a c茅lt haszn谩lja mindig: + + + + Appearance + Kin茅zet + + + + Standard font: + Alap bet眉t铆pus: + + + + Times 16 + + + + + Select... + V谩laszt... + + + + Fixed-width font: + Fix-sz茅less茅g疟 bet眉t铆pus: + + + + Courier 13 + + + + + Privacy + Titoktart谩s + + + + Web Content + Web tartalom + + + + Enable Plugins + Pluginek enged茅lyez茅se + + + + Enable Javascript + Javascript enged茅lyez茅se + + + + View Images + K茅pek mutat谩sa + + + + Cookies + S眉tik + + + + Accept Cookies: + S眉tik elfogad谩sa: + + + + Always + Mindig + + + + Never + Soha + + + + Only from sites you navigate to + Csak megl谩togatott oldalakt贸l + + + + Exceptions... + Kiv茅telek... + + + + Keep Cookies Until: + S眉tik megtart谩sa: + + + + They expire + Am铆g le nem j谩rnak + + + + I exit the application + Kil茅p茅sig + + + + At most 90 days + Legfeljebb 90 napig + + + + Cookies... + S眉tik... + + + + Tabs + F眉lek + + + + Select tabs and windows as they are created + Ablakok 茅s f眉lek kiv谩laszt谩sa amint l茅trej枚nnek + + + + Confirm when closing multiple tabs + T枚bb f眉l bez谩r谩s谩nak meger艖s铆t茅se + + + + Focus the left tab on close, instead of the right + Bez谩r谩sn谩l a bal f眉lre ugrani, a jobb helyett + + + + Proxy + Proxy + + + + Use proxy server + Proxy kiszolg谩l贸 haszn谩lata + + + + Type: + Tipus: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host name: + Kiszolg谩l贸 c铆me: + + + + Port: + Portja: + + + + User Name: + Felhaszn谩l贸: + + + + Password: + Jelsz贸: + + + + Advanced + Halad贸 + + + + Style Sheet: + St铆luslap: + + + + TabBar + + + Show Tab Bar + F眉lsor mutat谩sa + + + + Hide Tab Bar + F眉lsor elrejt茅se + + + + New &Tab + 脷j F眉l + + + + Duplicate Tab + F眉l m谩sol谩sa + + + + &Close Tab + F眉l bez谩r谩sa + + + + Close &Other Tabs + T枚bbi F眉l bez谩r谩sa + + + + Reload Tab + F眉l 煤jrat枚lt茅se + + + + Reload All Tabs + Minden f眉l 煤jrat枚lt茅se + + + + TabWidget + + + New &Tab + 脷j F眉l + + + + &Close Tab + F眉l bez谩r谩sa + + + + Show Next Tab + K枚vetkez艖 F眉l + + + + Show Previous Tab + El艖z艖 F眉l + + + + Recently Closed Tabs + Mostan谩ban bez谩rt f眉lek + + + + (Untitled) + (N茅vtelen) + + + + Do you really want to close this page? + Biztosan be akarja z谩rni ezt az oldalt? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + M贸dos铆totta ezt az oldalt, ha bez谩rja, elveszti a m贸dos铆t谩sokat. +Biztosan be akarja z谩rni ezt az oldalt? + + + + + ToolbarSearch + + + No Recent Searches + Nincsenek friss keres茅sek + + + + Recent Searches + Friss keres茅sek + + + + Clear Recent Searches + Friss keres茅sek t枚rl茅se + + + + WebPage + + + Error loading page: %1 + Hiba az oldal bet枚lt茅sekor: %1 + + + + WebView + + + Open in New &Window + Megnyit谩s 脷j Ablakban + + + + Open in New &Tab + Megnyit谩s 脷j F眉l枚n + + + + Save Lin&k + Hivatkoz谩s ment茅se + + + + &Bookmark This Link + K枚nyvjelz艖 elhelyez茅se + + + + &Copy Link Location + Hivatkoz谩s m谩sol谩sa + + + + Open Image in New &Window + K茅p megnyit谩sa 煤j ablakban + + + + Open Image in New &Tab + K茅p megnyit谩sa 煤j f眉l枚n + + + + &Save Image + K茅p ment茅se + + + + &Copy Image + K茅p m谩sol谩sa + + + + C&opy Image Location + K茅p c铆m茅nek m谩sol谩sa + + + + Loading... + T枚lt茅s... + + + + WebViewSearch + + + Not Found + Nincs tal谩lat + + + diff --git a/src/src.pro b/src/src.pro index f756abef..8aaab849 100644 --- a/src/src.pro +++ b/src/src.pro @@ -25,6 +25,7 @@ TRANSLATIONS += \ locale/et.ts \ locale/fr_FR.ts \ locale/fr_CA.ts \ + locale/hu.ts \ locale/it.ts \ locale/pl.ts \ locale/pt_BR.ts \ From ec212c8c885f8d2e0529e8e105561cd46004c22e Mon Sep 17 00:00:00 2001 From: Ariya Hidayat Date: Mon, 26 May 2008 12:23:53 +0200 Subject: [PATCH 0106/1254] Allow building Arora with both Debug/Release of WebKit trunk Signed-off-by: Benjamin C Meyer --- src/webkittrunk.pri | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/webkittrunk.pri b/src/webkittrunk.pri index 3a5f4170..534680f4 100644 --- a/src/webkittrunk.pri +++ b/src/webkittrunk.pri @@ -1,18 +1,15 @@ # # export QT_WEBKIT=webkit_trunk -# export WEBKITHOME=$HOME/dev/webkit/ +# export WEBKITBUILD=$HOME/dev/webkit/WebKitBuild/Release # CONFIG += $$(QT_WEBKIT) webkit_trunk { - message(Using WebKit Trunk) - WEBKITHOME = $$(WEBKITHOME) + message(Using WebKit Trunk at $$(WEBKITBUILD)) + WEBKITBUILD = $$(WEBKITBUILD)/lib QT -= webkit - DEFINES += WEBKIT_TRUNK - debug: QMAKE_LIBDIR_FLAGS = -L$$WEBKITHOME/WebKitBuild/Debug/lib - release: QMAKE_LIBDIR_FLAGS = -L$$WEBKITHOME/WebKitBuild/Release/lib + QMAKE_LIBDIR_FLAGS = -L$$WEBKITBUILD LIBS = -lQtWebKit - INCLUDEPATH = $$WEBKITHOME/WebKit/qt/Api $$INCLUDEPATH - release: QMAKE_RPATHDIR = $$WEBKITHOME/WebKitBuild/Release/lib $$QMAKE_RPATHDIR - debug: QMAKE_RPATHDIR = $$WEBKITHOME/WebKitBuild/Debug/lib $$QMAKE_RPATHDIR + INCLUDEPATH = $$WEBKITBUILD/../../../WebKit/qt/Api $$INCLUDEPATH + QMAKE_RPATHDIR = $$WEBKITBUILD $$QMAKE_RPATHDIR } From ee2094216eea98d7f12bbdf07f6d85c0356ee916 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 23 Jul 2008 17:29:54 +0200 Subject: [PATCH 0107/1254] Minor code style fixes. --- src/browserapplication.cpp | 2 +- src/cookiejar.cpp | 2 +- src/locationbar.h | 1 + src/settings.cpp | 10 +++++----- src/tabwidget.cpp | 2 +- src/utils/autosaver.cpp | 2 +- src/utils/lineedit_p.h | 10 ++++------ src/webview.cpp | 2 +- 8 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index ef0d8489..68681693 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -239,7 +239,7 @@ void BrowserApplication::postLaunch() QStringList args = QCoreApplication::arguments(); if (args.count() > 1) { - switch(startup) { + switch (startup) { case 2: { restoreLastSession(); WebView *webView = mainWindow()->tabWidget()->makeNewTab(true); diff --git a/src/cookiejar.cpp b/src/cookiejar.cpp index 38910e57..f20715ea 100644 --- a/src/cookiejar.cpp +++ b/src/cookiejar.cpp @@ -285,7 +285,7 @@ bool CookieJar::setCookiesFromUrl(const QList &cookieList, const // pass url domain == cookie domain QDateTime soon = QDateTime::currentDateTime(); soon = soon.addDays(90); - foreach(QNetworkCookie cookie, cookieList) { + foreach (QNetworkCookie cookie, cookieList) { QList lst; if (m_keepCookies == KeepUntilTimeLimit && !cookie.isSessionCookie() diff --git a/src/locationbar.h b/src/locationbar.h index a494355d..5cdae5fb 100644 --- a/src/locationbar.h +++ b/src/locationbar.h @@ -48,3 +48,4 @@ private slots: }; #endif // LOCATIONBAR_H + diff --git a/src/settings.cpp b/src/settings.cpp index 4ce838e3..061c2072 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -171,7 +171,7 @@ void SettingsDialog::loadFromSettings() CookieJar::AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? CookieJar::AcceptOnlyFromSitesNavigatedTo : static_cast(acceptPolicyEnum.keyToValue(value)); - switch(acceptCookies) { + switch (acceptCookies) { case CookieJar::AcceptAlways: acceptCombo->setCurrentIndex(0); break; @@ -188,7 +188,7 @@ void SettingsDialog::loadFromSettings() CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? CookieJar::KeepUntilExpire : static_cast(keepPolicyEnum.keyToValue(value)); - switch(keepCookies) { + switch (keepCookies) { case CookieJar::KeepUntilExpire: keepUntilCombo->setCurrentIndex(0); break; @@ -269,7 +269,7 @@ void SettingsDialog::saveToSettings() settings.beginGroup(QLatin1String("cookies")); CookieJar::KeepPolicy keepCookies; - switch(acceptCombo->currentIndex()) { + switch (acceptCombo->currentIndex()) { default: case 0: keepCookies = CookieJar::KeepUntilExpire; @@ -286,8 +286,8 @@ void SettingsDialog::saveToSettings() settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(keepCookies))); CookieJar::KeepPolicy keepPolicy; - switch(keepUntilCombo->currentIndex()) { - default: + switch (keepUntilCombo->currentIndex()) { + default: case 0: keepPolicy = CookieJar::KeepUntilExpire; break; diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 6e05fa82..1e303aa4 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -167,7 +167,7 @@ TabWidget::TabWidget(QWidget *parent) #if QT_VERSION >= 0x040500 m_tabBar->setTabsClosable(true); connect(m_tabBar, SIGNAL(tabCloseRequested(int)), - this, SLOT(closeTab(int))); + this, SLOT(closeTab(int))); m_tabBar->setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab); #else // corner buttons diff --git a/src/utils/autosaver.cpp b/src/utils/autosaver.cpp index 45b21aef..01714351 100644 --- a/src/utils/autosaver.cpp +++ b/src/utils/autosaver.cpp @@ -79,7 +79,7 @@ AutoSaver::AutoSaver(QObject *parent) : QObject(parent) AutoSaver::~AutoSaver() { if (m_timer.isActive()) { - qWarning() << "AutoSaver: still active when destroyed, changes not saved."; + qWarning() << "AutoSaver: still active when destroyed, changes not saved."; if (parent() && parent()->metaObject()) qWarning() << parent() << parent()->metaObject()->className() << "should call saveIfNeccessary"; } diff --git a/src/utils/lineedit_p.h b/src/utils/lineedit_p.h index 942d2699..62a19104 100644 --- a/src/utils/lineedit_p.h +++ b/src/utils/lineedit_p.h @@ -47,13 +47,11 @@ class LineEditStyle : public ProxyStyle { public: - explicit LineEditStyle() - : ProxyStyle(QApplication::style()->objectName()) - { - } + explicit LineEditStyle() + : ProxyStyle(QApplication::style()->objectName()) { + } - QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = 0) const - { + QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget = 0) const { QRect r = ProxyStyle::subElementRect(element, option, widget); if (element == SE_LineEditContents) { if (const LineEdit *le = qobject_cast(widget)) { diff --git a/src/webview.cpp b/src/webview.cpp index 719f371d..a8ba0eff 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -216,7 +216,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) return; } QList children = frame->childFrames(); - foreach(QWebFrame *frame, children) + foreach (QWebFrame *frame, children) frames.append(frame); } if (m_loadingUrl == reply->url()) { From 002e7d74d0fe25dd834ad6920609a8c235c8d056 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 24 Jul 2008 22:07:54 +0200 Subject: [PATCH 0108/1254] When loosing focus and the line edit is empty fill it with the url of the webview --- src/locationbar.cpp | 6 ++++++ src/locationbar.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index c06d019b..b74bc44a 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -180,3 +180,9 @@ void LocationBar::paintEvent(QPaintEvent *event) LineEdit::paintEvent(event); } +void LocationBar::focusOutEvent(QFocusEvent *event) +{ + if (text().isEmpty() && m_webView) + webViewUrlChanged(m_webView->url()); + QLineEdit::focusOutEvent(event); +} diff --git a/src/locationbar.h b/src/locationbar.h index 5cdae5fb..5db5d633 100644 --- a/src/locationbar.h +++ b/src/locationbar.h @@ -37,6 +37,7 @@ class LocationBar : public LineEdit protected: void paintEvent(QPaintEvent *event); + void focusOutEvent(QFocusEvent *event); private slots: void webViewUrlChanged(const QUrl &url); From f07565bcaa50da0d80a99988dcb61378bc563bd4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 24 Jul 2008 23:55:16 +0200 Subject: [PATCH 0109/1254] Fix the search line edit after the new lineedit was introduced, the disabled text, reverse and size hint of the menu. --- src/searchlineedit.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/searchlineedit.cpp b/src/searchlineedit.cpp index a773ecb1..adfb4c57 100644 --- a/src/searchlineedit.cpp +++ b/src/searchlineedit.cpp @@ -189,8 +189,11 @@ void SearchButton::paintEvent(QPaintEvent *event) */ SearchLineEdit::SearchLineEdit(QWidget *parent) : LineEdit(parent) - , m_searchButton(new SearchButton(this)) + , m_searchButton(0) { + setUpdatesEnabled(false); + m_searchButton = new SearchButton(this); + updateGeometries(); addWidget(m_searchButton, LeftSide); m_inactiveText = tr("Search"); @@ -205,6 +208,8 @@ SearchLineEdit::SearchLineEdit(QWidget *parent) m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); m_clearButton->hide(); + updateTextMargins(); + setUpdatesEnabled(true); } void SearchLineEdit::paintEvent(QPaintEvent *event) @@ -213,14 +218,13 @@ void SearchLineEdit::paintEvent(QPaintEvent *event) LineEdit::paintEvent(event); QStyleOptionFrameV2 panel; initStyleOption(&panel); - QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); - QFontMetrics fm = fontMetrics(); - int horizontalMargin = x(); - QRect lineRect(horizontalMargin + r.x(), r.y() + (r.height() - fm.height() + 1) / 2, - r.width() - 2 * horizontalMargin, fm.height()); + QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); + int left = textMargin(LineEdit::LeftSide); + int right = textMargin(LineEdit::RightSide); + textRect.adjust(left, 0, -right, 0); QPainter painter(this); painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); - painter.drawText(lineRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); + painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); } else { LineEdit::paintEvent(event); } @@ -239,6 +243,8 @@ void SearchLineEdit::updateGeometries() if (!m_searchButton->m_menu) menuWidth = (menuHeight / 5) * 4; m_searchButton->setMinimumSize(QSize(menuWidth, menuHeight)); + m_searchButton->resize(menuWidth, menuHeight); + updateTextMargins(); } QString SearchLineEdit::inactiveText() const From 64bba2b28b4e6ddf8b90306048513f4f4a4ed98a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 25 Jul 2008 00:05:55 +0200 Subject: [PATCH 0110/1254] Fix the widgets in the location bar when in right-to-left mode. --- src/locationbar.cpp | 8 ++++---- src/utils/lineedit.cpp | 14 ++++++++++++++ src/utils/lineedit.h | 1 + 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index b74bc44a..8b7584df 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -84,6 +84,9 @@ LocationBar::LocationBar(QWidget *parent) , m_webView(0) , m_siteIcon(0) { + // Urls are always LeftToRight + setLayoutDirection(Qt::LeftToRight); + setUpdatesEnabled(false); // site icon on the left m_siteIcon = new LocationBarSiteIcon(this); @@ -96,18 +99,15 @@ LocationBar::LocationBar(QWidget *parent) connect(this, SIGNAL(textChanged(const QString&)), m_clearButton, SLOT(textChanged(const QString&))); addWidget(m_clearButton, RightSide); + m_clearButton->hide(); updateTextMargins(); setUpdatesEnabled(true); - m_clearButton->hide(); m_defaultBaseColor = palette().color(QPalette::Base); QPalette p = palette(); p.setColor(QPalette::Base, QColor(255, 255, 255, 100)); setPalette(p); - - // Urls are always LeftToRight - setLayoutDirection(Qt::LeftToRight); } void LocationBar::setWebView(WebView *webView) diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index 73efdb35..30b3709d 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -88,6 +88,20 @@ void LineEdit::init() this, SLOT(updateTextMargins())); } +bool LineEdit::event(QEvent *event) +{ + if (event->type() == QEvent::LayoutDirectionChange) { + if (isRightToLeft()) { + m_leftLayout->setDirection(QBoxLayout::RightToLeft); + m_rightLayout->setDirection(QBoxLayout::RightToLeft); + } else { + m_leftLayout->setDirection(QBoxLayout::LeftToRight); + m_rightLayout->setDirection(QBoxLayout::LeftToRight); + } + } + return QLineEdit::event(event); +} + void LineEdit::addWidget(QWidget *widget, WidgetPosition position) { if (!widget) diff --git a/src/utils/lineedit.h b/src/utils/lineedit.h index 8e73221f..603ea048 100644 --- a/src/utils/lineedit.h +++ b/src/utils/lineedit.h @@ -56,6 +56,7 @@ class LineEdit : public QLineEdit protected: void resizeEvent(QResizeEvent *event); + bool event(QEvent *event); protected slots: void updateTextMargins(); From 8501e981cdad09b1324ee26dc8b59bb52d1d14b4 Mon Sep 17 00:00:00 2001 From: ABuus Date: Sat, 26 Jul 2008 20:20:45 +0200 Subject: [PATCH 0111/1254] Mouse button 4 and 5 connected to action back and forward. like firefox and ie Signed-off-by: Benjamin C Meyer --- src/browsermainwindow.cpp | 16 ++++++++++++++++ src/browsermainwindow.h | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index b3dc7c70..ed00aa78 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -867,6 +867,22 @@ void BrowserMainWindow::closeEvent(QCloseEvent *event) deleteLater(); } +void BrowserMainWindow::mousePressEvent(QMouseEvent *event) +{ + switch(event->button()) + { + case Qt::XButton1: + m_historyBack->activate(QAction::Trigger); + break; + case Qt::XButton2: + m_historyForward->activate(QAction::Trigger); + break; + default: + QMainWindow::mousePressEvent(event); + break; + } +} + void BrowserMainWindow::slotEditFind() { tabWidget()->webViewSearch(m_tabWidget->currentIndex())->showFind(); diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 9441aa8a..5ca590c9 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -106,7 +106,7 @@ public slots: protected: void closeEvent(QCloseEvent *event); - + void mousePressEvent(QMouseEvent *event); private slots: void save(); From 677bcb56b067b801b6916e35abc584bd6f94d9de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Mon, 28 Jul 2008 23:44:38 +0200 Subject: [PATCH 0112/1254] Updated cs_CZ translation Signed-off-by: Benjamin C Meyer --- src/locale/cs_CZ.ts | 194 ++++++++++++++++++++++++-------------------- 1 file changed, 107 insertions(+), 87 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index c2c593c2..dcfe4d9e 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -192,19 +192,19 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Je otev艡eno %1 oken a %2 panel暖 P艡esto ukon膷it? - + Restore failed Obnoven铆 selhalo - + The saved session will not be restored because Arora crashed while trying to restore this session. Ulo啪en谩 relace nebude obnovena, proto啪e Arora spadla p艡i pokusu o jej铆 obnoven铆. @@ -212,92 +212,92 @@ P艡esto ukon膷it? BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... - + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t @@ -317,32 +317,32 @@ P艡esto ukon膷it? P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit @@ -367,123 +367,123 @@ P艡esto ukon膷it? Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 @@ -498,12 +498,12 @@ P艡esto ukon膷it? Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -519,22 +519,22 @@ P艡esto ukon膷it? Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? @@ -544,54 +544,54 @@ P艡esto ukon膷it? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 - + Page Source of %1 Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data @@ -602,55 +602,65 @@ Do you want to reload all pages? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Show Bookmarks Bar Zobrazit panel z谩lo啪ek - + Hide Bookmarks Bar Skr媒t panel z谩lo啪ek Find &Next - Naj铆&t dal拧铆 + Naj铆&t dal拧铆 - + Find P&revious Naj铆t &p艡edchoz铆 Prefe&rences - P艡ed&volby + P艡ed&volby - + &Reload Page O&bnovit str谩nku - + Make Text &Bigger Z&v臎t拧it text - + Make Text &Normal &Norm谩ln铆 velikost textu - + Make Text &Smaller Z&men拧it text + + + Find Nex&t + Naj铆&t dal拧铆 + + + + Prefere&nces... + P艡ed&volby... + ClearButton @@ -1034,17 +1044,17 @@ Do you want to reload all pages? HistoryDialog - + Open Otev艡铆t - + Copy Kop铆rovat - + Delete Smazat @@ -1067,25 +1077,35 @@ Do you want to reload all pages? HistoryMenu - + Show All History Zobrazit v拧echnu historii - + Clear History Vy膷istit historii + + + Clear History... + Vy膷istit historii... + + + + Do you want to clear the history? + Chce拧 smazat historii? + HistoryModel - + Title Titulek - + Address Adresa @@ -1093,7 +1113,7 @@ Do you want to reload all pages? HistoryTreeModel - + Earlier Today D艡铆ve dnes @@ -1103,7 +1123,7 @@ Do you want to reload all pages? %1 polo啪ek - + %n item(s) %n polo啪ka @@ -1247,7 +1267,7 @@ Chce拧 ignorovat tyto chyby? SearchLineEdit - + Search Hledat From 224c30b54871bb98b72773f57d833df363c087da Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 30 Jul 2008 00:37:34 -0400 Subject: [PATCH 0113/1254] Fixed installer MSVCRT support and changed to more standard locations and moved writing of uninstaller to top in case user halts install half way through. --- windowsinstaller.nsi | 69 ++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/windowsinstaller.nsi b/windowsinstaller.nsi index 7c29c6bc..427d2bec 100644 --- a/windowsinstaller.nsi +++ b/windowsinstaller.nsi @@ -27,8 +27,21 @@ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION} Installer.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails nevershow -ShowUnInstDetails nevershow +ShowInstDetails show +ShowUnInstDetails show + +Section -Icons + CreateShortCut "$SMPROGRAMS\Arora.lnk" "$INSTDIR\arora.exe" +SectionEnd + +Section -UninstallInfo + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\arora.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\arora.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" +SectionEnd Section "Main Components" SEC01 KillProcDLL::KillProc "arora.exe" @@ -37,46 +50,38 @@ Section "Main Components" SEC01 SetOutPath "$INSTDIR" File "arora.exe" - File "C:\qt\4.4.0\bin\QtCore4.dll" - File "C:\qt\4.4.0\bin\QtGui4.dll" - File "C:\qt\4.4.0\bin\QtNetwork4.dll" - File "C:\qt\4.4.0\bin\QtWebKit4.dll" - File "C:\windows\system32\ssleay32.dll" - File "C:\windows\system32\libeay32.dll" - File "C:\windows\system32\msvcr71.dll" + File "C:\qt-snapshot\bin\QtCore4.dll" + File "C:\qt-snapshot\bin\QtGui4.dll" + File "C:\qt-snapshot\bin\QtNetwork4.dll" + File "C:\qt-snapshot\bin\QtWebKit4.dll" ;"C:\WebKit\WebKitBuild\Release\lib\QtWebKit4.dll" + File "C:\openssl-0.9.8h\out32dll\ssleay32.dll" + File "C:\openssl-0.9.8h\out32dll\libeay32.dll" SetOutPath "$INSTDIR\locale" File "src\.qm\locale\*.qm" SetOutPath "$INSTDIR\imageformats" - File "C:\qt\4.4.0\plugins\imageformats\qtiff4.dll" - File "C:\qt\4.4.0\plugins\imageformats\qsvg4.dll" - File "C:\qt\4.4.0\plugins\imageformats\qmng4.dll" - File "C:\qt\4.4.0\plugins\imageformats\qjpeg4.dll" - File "C:\qt\4.4.0\plugins\imageformats\qico4.dll" - File "C:\qt\4.4.0\plugins\imageformats\qgif4.dll" + File "C:\qt-snapshot\plugins\imageformats\qtiff4.dll" + File "C:\qt-snapshot\plugins\imageformats\qsvg4.dll" + File "C:\qt-snapshot\plugins\imageformats\qmng4.dll" + File "C:\qt-snapshot\plugins\imageformats\qjpeg4.dll" + File "C:\qt-snapshot\plugins\imageformats\qico4.dll" + File "C:\qt-snapshot\plugins\imageformats\qgif4.dll" SetOutPath "$INSTDIR\iconengines" - File "C:\qt\4.4.0\plugins\iconengines\qsvgicon4.dll" + File "C:\qt-snapshot\plugins\iconengines\qsvgicon4.dll" SetOutPath "$INSTDIR\codecs" - File "C:\qt\4.4.0\plugins\codecs\qtwcodecs4.dll" - File "C:\qt\4.4.0\plugins\codecs\qkrcodecs4.dll" - File "C:\qt\4.4.0\plugins\codecs\qjpcodecs4.dll" - File "C:\qt\4.4.0\plugins\codecs\qcncodecs4.dll" -SectionEnd - -Section -Icons - CreateShortCut "$SMPROGRAMS\Arora.lnk" "$INSTDIR\arora.exe" -SectionEnd + File "C:\qt-snapshot\plugins\codecs\qtwcodecs4.dll" + File "C:\qt-snapshot\plugins\codecs\qkrcodecs4.dll" + File "C:\qt-snapshot\plugins\codecs\qjpcodecs4.dll" + File "C:\qt-snapshot\plugins\codecs\qcncodecs4.dll" -Section -UninstallInfo - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\arora.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\arora.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + InitPluginsDir + SetOutPath $PLUGINSDIR + File "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe" + DetailPrint "Installing Visual C++ 2005 Libraries" + ExecWait '"$PLUGINSDIR\vcredist_x86.exe" /q:a /c:"msiexec /i vcredist.msi /quiet"' SectionEnd Section Uninstall From 5be2cd498fcdb48b5e0b1b2a7a5aec2ac58d324f Mon Sep 17 00:00:00 2001 From: Ariya Hidayat Date: Tue, 29 Jul 2008 19:06:10 +0200 Subject: [PATCH 0114/1254] When making the text larger or smaller, use predefined zoom levels. Note: this is a similar approach like in Firefox 3 Signed-off-by: Benjamin C Meyer --- src/browsermainwindow.cpp | 7 ++++--- src/webview.cpp | 34 ++++++++++++++++++++++++++++++++++ src/webview.h | 7 +++++++ 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index ed00aa78..3eb28732 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -1,6 +1,7 @@ /* * Copyright 2008 Benjamin C. Meyer * Copyright 2008 Jason A. Donenfeld + * Copyright 2008 Ariya Hidayat * * 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 @@ -902,21 +903,21 @@ void BrowserMainWindow::slotViewTextBigger() { if (!currentTab()) return; - currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() + 0.1); + currentTab()->zoomIn(); } void BrowserMainWindow::slotViewTextNormal() { if (!currentTab()) return; - currentTab()->setTextSizeMultiplier(1.0); + currentTab()->resetZoom(); } void BrowserMainWindow::slotViewTextSmaller() { if (!currentTab()) return; - currentTab()->setTextSizeMultiplier(currentTab()->textSizeMultiplier() - 0.1); + currentTab()->zoomOut(); } void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen) diff --git a/src/webview.cpp b/src/webview.cpp index a8ba0eff..18a75beb 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -1,6 +1,7 @@ /* * Copyright 2008 Benjamin C. Meyer * Copyright 2008 Jason A. Donenfeld + * Copyright 2008 Ariya Hidayat * * 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 @@ -228,6 +229,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) WebView::WebView(QWidget* parent) : QWebView(parent) , m_progress(0) + , m_currentZoom(100) , m_page(new WebPage(this)) { setPage(m_page); @@ -243,6 +245,10 @@ WebView::WebView(QWidget* parent) this, SLOT(downloadRequested(const QNetworkRequest &))); page()->setForwardUnsupportedContent(true); + // the zoom values (in percent) are chosen to be like in Mozilla Firefox 3 + m_zoomLevels << 30 << 50 << 67 << 80 << 90; + m_zoomLevels << 100; + m_zoomLevels << 110 << 120 << 133 << 150 << 170 << 200 << 240 << 300; } void WebView::contextMenuEvent(QContextMenuEvent *event) @@ -379,6 +385,34 @@ void WebView::setProgress(int progress) m_progress = progress; } +void WebView::zoomIn() +{ + int i = m_zoomLevels.indexOf(m_currentZoom); + Q_ASSERT(i >= 0); + + if (i < m_zoomLevels.count() - 1) + m_currentZoom = m_zoomLevels[i + 1]; + + setTextSizeMultiplier(qreal(m_currentZoom) / 100.0); +} + +void WebView::zoomOut() +{ + int i = m_zoomLevels.indexOf(m_currentZoom); + Q_ASSERT(i >= 0); + + if (i > 0) + m_currentZoom = m_zoomLevels[i - 1]; + + setTextSizeMultiplier(qreal(m_currentZoom) / 100.0); +} + +void WebView::resetZoom() +{ + m_currentZoom = 100; + setTextSizeMultiplier(1.0); +} + void WebView::loadFinished() { if (100 != m_progress) { diff --git a/src/webview.h b/src/webview.h index bdc77d3d..96e3a5aa 100644 --- a/src/webview.h +++ b/src/webview.h @@ -121,6 +121,11 @@ class WebView : public QWebView QString lastStatusBarText() const; inline int progress() const { return m_progress; } +public slots: + void zoomIn(); + void zoomOut(); + void resetZoom(); + protected: void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); @@ -148,6 +153,8 @@ private slots: QString m_statusBarText; QUrl m_initialUrl; int m_progress; + int m_currentZoom; + QList m_zoomLevels; WebPage *m_page; }; From 44c468b371ebf258ced478afcbdd4c0eb93d20e4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 18 Jul 2008 02:23:19 +0200 Subject: [PATCH 0115/1254] Add disk cache support when compiled against Qt 4.5 --- src/clearprivatedata.cpp | 7 ++++++- src/networkaccessmanager.cpp | 13 +++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/clearprivatedata.cpp b/src/clearprivatedata.cpp index f8b667cd..a2c1192e 100644 --- a/src/clearprivatedata.cpp +++ b/src/clearprivatedata.cpp @@ -57,7 +57,10 @@ ClearPrivateData::ClearPrivateData(QWidget *parent) layout->addWidget(m_cookies); m_cache = new QCheckBox(tr("C&ached Web Pages")); +#if QT_VERSION < 0x040500 m_cache->setEnabled(false); +#endif + m_cookies->setChecked(true); layout->addWidget(m_cache); m_favIcons = new QCheckBox(tr("Website &Icons")); @@ -97,7 +100,9 @@ void ClearPrivateData::accept() BrowserApplication::cookieJar()->clear(); } if (m_cache->isChecked()) { - //not implemented +#if QT_VERSION < 0x040500 + BrowserApplication::downloadManager()->networkCache()->clear(); +#endif } if (m_favIcons->isChecked()) { QWebSettings::clearIconDatabase(); diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index c101eb37..67ba0a2c 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -79,6 +79,11 @@ #include #include +#if QT_VERSION >= 0x040500 +#include +#include +#endif + NetworkAccessManager::NetworkAccessManager(QObject *parent) : QNetworkAccessManager(parent) { @@ -91,6 +96,14 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) SLOT(sslErrors(QNetworkReply*, const QList&))); #endif loadSettings(); + +#if QT_VERSION >= 0x040500 + QNetworkDiskCache *diskCache = new QNetworkDiskCache(this); + QString location = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + + QLatin1String("/cache"); + diskCache->setCacheDirectory(location); + setCache(diskCache); +#endif } void NetworkAccessManager::loadSettings() From f3cb0d2fdc04b924bb0148c76273741302cb3a63 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 30 Jul 2008 15:04:33 +0200 Subject: [PATCH 0116/1254] Use the new cache location rather then data location --- src/networkaccessmanager.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 67ba0a2c..7b9a48dd 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -99,8 +99,7 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) #if QT_VERSION >= 0x040500 QNetworkDiskCache *diskCache = new QNetworkDiskCache(this); - QString location = QDesktopServices::storageLocation(QDesktopServices::DataLocation) - + QLatin1String("/cache"); + QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation); diskCache->setCacheDirectory(location); setCache(diskCache); #endif From b142c26d8fa50af552930fb7e395faa7e281fc52 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 30 Jul 2008 20:06:26 +0200 Subject: [PATCH 0117/1254] Fix session restore on unix --- src/browserapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 68681693..b16aaeee 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -170,7 +170,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) BrowserApplication::~BrowserApplication() { - saveSession(); quiting = true; delete s_downloadManager; qDeleteAll(m_mainWindows); @@ -213,6 +212,7 @@ void BrowserApplication::quitBrowser() return; } + saveSession(); exit(0); } #endif From a4f7f8db9c52fdfef726358c6537b22106a00b38 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 30 Jul 2008 21:48:14 +0200 Subject: [PATCH 0118/1254] Re-add the WEBKIT_TRUNK define --- src/webkittrunk.pri | 1 + 1 file changed, 1 insertion(+) diff --git a/src/webkittrunk.pri b/src/webkittrunk.pri index 534680f4..322c22f8 100644 --- a/src/webkittrunk.pri +++ b/src/webkittrunk.pri @@ -7,6 +7,7 @@ webkit_trunk { message(Using WebKit Trunk at $$(WEBKITBUILD)) WEBKITBUILD = $$(WEBKITBUILD)/lib QT -= webkit + DEFINES += WEBKIT_TRUNK QMAKE_LIBDIR_FLAGS = -L$$WEBKITBUILD LIBS = -lQtWebKit INCLUDEPATH = $$WEBKITBUILD/../../../WebKit/qt/Api $$INCLUDEPATH From 0f5f82d17a58b8b919c8e78d3e1cf2c810e195b7 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 31 Jul 2008 11:44:29 +0200 Subject: [PATCH 0119/1254] Fix auto-closing tab on startup when hovering the tab bar. updateWebPreview() may call webView with a negative tab index. webView() should handle this by returning a null view instead of re-creating the initial tab. Signed-off-by: Benjamin C Meyer --- src/tabwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 1e303aa4..1d6cc63f 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -337,7 +337,7 @@ WebView *TabWidget::webView(int index) const QWidget *widget = this->widget(index); if (WebViewWithSearch *webViewWithSearch = qobject_cast(widget)) { return webViewWithSearch->m_webView; - } else { + } else if (widget) { // optimization to delay creating the first webview if (count() == 1) { TabWidget *that = const_cast(this); From 041e6bc813485be288791cf5320e755fa3b2e763 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 16:46:38 +0200 Subject: [PATCH 0120/1254] Update cache path and add a tiny tool for browsing cache files --- src/networkaccessmanager.cpp | 3 +- tools/cacheinfo/.gitignore | 1 + tools/cacheinfo/cacheinfo.pro | 17 ++++++ tools/cacheinfo/main.cpp | 112 ++++++++++++++++++++++++++++++++++ tools/tools.pro | 2 + 5 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 tools/cacheinfo/.gitignore create mode 100644 tools/cacheinfo/cacheinfo.pro create mode 100644 tools/cacheinfo/main.cpp create mode 100644 tools/tools.pro diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 7b9a48dd..866dd8b6 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -99,7 +99,8 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) #if QT_VERSION >= 0x040500 QNetworkDiskCache *diskCache = new QNetworkDiskCache(this); - QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation); + QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) + + QLatin1String("/browser"); diskCache->setCacheDirectory(location); setCache(diskCache); #endif diff --git a/tools/cacheinfo/.gitignore b/tools/cacheinfo/.gitignore new file mode 100644 index 00000000..ff937645 --- /dev/null +++ b/tools/cacheinfo/.gitignore @@ -0,0 +1 @@ +arora-cacheinfo diff --git a/tools/cacheinfo/cacheinfo.pro b/tools/cacheinfo/cacheinfo.pro new file mode 100644 index 00000000..883510b3 --- /dev/null +++ b/tools/cacheinfo/cacheinfo.pro @@ -0,0 +1,17 @@ +TEMPLATE = app +TARGET = arora-cacheinfo +DEPENDPATH += . +INCLUDEPATH += . + +win32: CONFIG += console +mac:CONFIG -= app_bundle + +QT += network + +# Input +SOURCES += main.cpp + +RCC_DIR = $$PWD/.rcc +UI_DIR = $$PWD/.ui +MOC_DIR = $$PWD/.moc +OBJECTS_DIR = $$PWD/.obj diff --git a/tools/cacheinfo/main.cpp b/tools/cacheinfo/main.cpp new file mode 100644 index 00000000..0d837e52 --- /dev/null +++ b/tools/cacheinfo/main.cpp @@ -0,0 +1,112 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include +#include + +class NetworkDiskCache : public QNetworkDiskCache +{ +public: + QNetworkCacheMetaData _fileMetaData(const QString &fileName) + { return fileMetaData(fileName); } + +}; + +int main(int argc, char **argv) +{ + QCoreApplication application(argc, argv); + QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); + QCoreApplication::setApplicationName(QLatin1String("Arora")); + + NetworkDiskCache diskCache; + QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) + + QLatin1String("browser/"); + diskCache.setCacheDirectory(location); + + QStringList args = application.arguments(); + args.takeFirst(); + if (args.isEmpty()) { + QTextStream stream(stdout); + stream << "cacheinfo [-o cachefile] [file | url]" << endl; + return 0; + } + + QNetworkCacheMetaData metaData; + QString last = args.takeLast(); + if (QFile::exists(last)) { + qDebug() << "Reading in from a file and not a url."; + metaData = diskCache._fileMetaData(last); + } else { + qDebug() << "Reading in from a url and not a file."; + metaData = diskCache.metaData(last); + } + + if (!args.isEmpty() + && args.count() >= 1 + && args.first() == QLatin1String("-o")) { + QUrl url = metaData.url(); + QIODevice *device = diskCache.data(url); + if (!device) { + qDebug() << "Error: disk cache data is 0!"; + return 1; + } + QString fileName; + if (args.count() == 2) { + fileName = args.last(); + } else { + QFileInfo info(url.path()); + fileName = info.fileName(); + if (fileName.isEmpty()) { + qDebug() << "URL base name is empty, please specify an output file."; + return 1; + } + if (QFile::exists(fileName)) { + qDebug() << "File already exists, not overwriting, please specify an output file."; + return 1; + } + } + qDebug() << "Saved cache file to:" << fileName; + QFile file(fileName); + if (!file.open(QFile::ReadWrite)) + qDebug() << "Unable to open the file."; + else + file.write(device->readAll()); + delete device; + } + + QTextStream stream(stdout); + stream << "Url: " << metaData.url().toString() << endl; + stream << "Expiration Date: " << metaData.expirationDate().toString() << endl; + stream << "Last Modified Date: " << metaData.lastModified().toString() << endl; + stream << "Save to disk: " << metaData.saveToDisk() << endl; + stream << "Headers:" << endl; + foreach(QNetworkCacheMetaData::RawHeader header, metaData.rawHeaders()) + stream << "\t" << header.first << ": " << header.second << endl; + QIODevice *device = diskCache.data(metaData.url()); + if (device) { + stream << "Data Size: " << device->size() << endl; + stream << "First line: " << device->readLine(100); + } else { + stream << "No data? corrupt or error" << endl; + } + + delete device; + return 0; +} + diff --git a/tools/tools.pro b/tools/tools.pro new file mode 100644 index 00000000..dd97c9f8 --- /dev/null +++ b/tools/tools.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = cacheinfo From 29afb9d1e8018a8d20df0704860fe34e95a3c0ff Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 18:33:37 +0200 Subject: [PATCH 0121/1254] Detect which version of qmake to use when building the autotests and give a 1 second punishment if there are no autotests. --- git_hooks/pre-commit_autotest | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/git_hooks/pre-commit_autotest b/git_hooks/pre-commit_autotest index 83dbb0d0..3507a7de 100755 --- a/git_hooks/pre-commit_autotest +++ b/git_hooks/pre-commit_autotest @@ -1,8 +1,12 @@ -#!/bin/sh +#!/bin/bash # # Check that existing autotests for files that are being commited are not currently failing # - +QMAKE=qmake +$QMAKE --version 2>&1 | grep 4.3 > /dev/null +if [ $? == 0 ] ; then + QMAKE=qmake-qt4 +fi dir=`dirname $0` echo $dir for file in `git-diff-index --name-only HEAD | grep .cpp` ; do @@ -12,10 +16,10 @@ for file in `git-diff-index --name-only HEAD | grep .cpp` ; do tempfoo=`basename $0` TMPFILE=`mktemp -t ${tempfoo}` || exit 1 - (cd "$dir/../../autotests/$file/"; qmake; make; ./$file >> $TMPFILE) + (cd "$dir/../../autotests/$file/"; QMAKE; make; ./$file >> $TMPFILE) output=`cat $TMPFILE | grep ' failed,' | sed -e 's/.*passed, //g' -e 's/ failed.*//g'` if [ "${output}" != "0" ] ; then - echo "Autotests failed for $file, please fix before commiting." + echo "Autotests failed for $file, please fix before committing." cat $TMPFILE rm $TMPFILE exit 1 @@ -23,6 +27,8 @@ for file in `git-diff-index --name-only HEAD | grep .cpp` ; do rm $TMPFILE echo "--checking autotest: $file done--" else - echo "--missing autotest: $file--" + echo "--missing autotest: $file (1 second punishment)--" + sleep 1 fi done + From dca078c9d8085cdc54a0b099424477821c595d1f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 18:42:16 +0200 Subject: [PATCH 0122/1254] Arora jumps to the location bar shortly after starting. Issue: 140 --- src/browsermainwindow.cpp | 1 + src/tabwidget.cpp | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 3eb28732..490cc096 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -188,6 +188,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) slotUpdateWindowTitle(); loadDefaultState(); m_tabWidget->newTab(); + m_tabWidget->currentLineEdit()->setFocus(); m_navigationBar->setIconSize(QSize(18, 18)); // Add each item in the menu bar to the main window so diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 1d6cc63f..70f12754 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -281,10 +281,11 @@ void TabWidget::currentChanged(int index) m_lineEdits->setCurrentIndex(index); emit loadProgress(webView->progress()); emit showStatusBarMessage(webView->lastStatusBarText()); - if (webView->url().isEmpty()) + if (webView->url().isEmpty() && webView->hasFocus()) { m_lineEdits->currentWidget()->setFocus(); - else + } else if (!webView->url().isEmpty()) { webView->setFocus(); + } } QAction *TabWidget::newTabAction() const @@ -342,8 +343,18 @@ WebView *TabWidget::webView(int index) const if (count() == 1) { TabWidget *that = const_cast(this); that->setUpdatesEnabled(false); + QWidget *currentLocationBar = m_lineEdits->widget(0); + bool giveBackFocus = currentLocationBar->hasFocus(); + m_lineEdits->removeWidget(currentLocationBar); + m_lineEdits->addWidget(new QWidget()); that->newTab(); that->closeTab(0); + QWidget *newEmptyLineEdit = m_lineEdits->widget(0); + m_lineEdits->removeWidget(newEmptyLineEdit); + newEmptyLineEdit->deleteLater(); + m_lineEdits->addWidget(currentLocationBar); + if (giveBackFocus) + currentLocationBar->setFocus(); that->setUpdatesEnabled(true); return currentWebView(); } @@ -397,8 +408,11 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) // Should this be in Qt by default? QAbstractItemView *popup = m_lineEditCompleter->popup(); QListView *listView = qobject_cast(popup); - if (listView) + if (listView) { + // Urls are always LeftToRight + listView->setLayoutDirection(Qt::LeftToRight); listView->setUniformItemSizes(true); + } } locationBar->setCompleter(m_lineEditCompleter); connect(locationBar, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); From 2228238eb75f3a45bc20818b31df50109cec7292 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 18:43:22 +0200 Subject: [PATCH 0123/1254] Update with all of the new authors --- AUTHORS | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/AUTHORS b/AUTHORS index c459c416..83731170 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,14 +2,17 @@ Benjamin C Meyer ben@meyerhome.net Jason A. Donenfeld Jason@zx2c4.com Jakub Lu啪n媒 limoto94@gmail.com Matvey Kozhev sikon@ubuntu.com -Daniel Albuschat d.albuschat@gmail.com Ariya Hidayat ariya.hidayat@trolltech.com +Josef Kufner jk@myserver.cz +Daniel Albuschat d.albuschat@gmail.com Adam Treat treat@kde.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org -smart2128 smart2128@baslug.org Vincenzo Reale smart2128@baslug.org +smart2128 smart2128@baslug.org +Simon Hausmann simon@lst.de Marius Bugge Monsen mariusbu@pvv.org -Josef Kufner jk@myserver.cz +Gergely Nagy gergely.nagy@interware.co.hu Chris Hills chaz@chaz6.com +ABuus amb@lafnet.dk From 0012c77c49479982c78766e34ae287f9db163d54 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 18:46:05 +0200 Subject: [PATCH 0124/1254] String fixes: Add QT_NO_CAST_FROM_ASCII to catch simple string issues Add a tr() around a string that should be translated Mark the ts files as binary. --- src/aboutdialog.cpp | 2 +- src/browserapplication.cpp | 6 ++++-- src/browsermainwindow.cpp | 4 ++-- src/downloadmanager.cpp | 2 +- src/locale/.gitattributes | 1 + src/src.pro | 2 ++ src/tabwidget.cpp | 4 ++-- src/webview.cpp | 2 +- 8 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 src/locale/.gitattributes diff --git a/src/aboutdialog.cpp b/src/aboutdialog.cpp index 7513e20d..39baa2a3 100644 --- a/src/aboutdialog.cpp +++ b/src/aboutdialog.cpp @@ -31,7 +31,7 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) { setupUi(this); - setWindowTitle(tr("About") + QString(" %1").arg(qApp->applicationName())); + setWindowTitle(tr("About") + QLatin1String(" ") + qApp->applicationName()); logo->setPixmap(qApp->windowIcon().pixmap(128, 128)); name->setText(qApp->applicationName()); version->setText(QApplication::applicationVersion()); diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index b16aaeee..033d36b0 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -103,7 +103,9 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QCoreApplication::setApplicationName(QLatin1String("Arora")); QString version = QLatin1String("0.3"); if (QLatin1String(GITCHANGENUMBER) != QLatin1String("0")) - version += QString(" (Change: %1 %2)").arg(GITCHANGENUMBER).arg(GITVERSION); + version += QString(tr(" (Change: %1 %2)")) + .arg(QLatin1String(GITCHANGENUMBER)) + .arg(QLatin1String(GITVERSION)); QCoreApplication::setApplicationVersion(version); #ifdef Q_WS_QWS @@ -149,7 +151,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QString localSysName = QLocale::system().name(); installTranslator(QLatin1String("qt_") + localSysName); - installTranslator(dataDirectory() + QDir::separator() + "locale" + QDir::separator() + localSysName); + installTranslator(dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName); // Until QtWebkit defaults to 16 QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFontSize, 16); diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 490cc096..f78646c1 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -408,8 +408,8 @@ void BrowserMainWindow::setupMenu() // View QMenu *viewMenu = menuBar()->addMenu(tr("&View")); - m_showMenuBarAction = new QAction("Show Menu Bar", this); - m_showMenuBarAction->setShortcut(QKeySequence("Ctrl+m")); + m_showMenuBarAction = new QAction(tr("Show Menu Bar"), this); + m_showMenuBarAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_M)); connect(m_showMenuBarAction, SIGNAL(triggered()), this, SLOT(slotViewMenuBar())); addAction(m_showMenuBarAction); diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 3c095a43..a3c0bd5a 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -182,7 +182,7 @@ QString DownloadItem::saveFileName(const QString &directory) const // Move this function into QNetworkReply to also get file name sent from the server QString path; if (m_reply->hasRawHeader("Content-Disposition")) { - QString value = m_reply->rawHeader("Content-Disposition"); + QString value = QLatin1String(m_reply->rawHeader("Content-Disposition")); int pos = value.indexOf(QLatin1String("filename=")); if (pos != -1) { QString name = value.mid(pos + 9); diff --git a/src/locale/.gitattributes b/src/locale/.gitattributes new file mode 100644 index 00000000..47e45937 --- /dev/null +++ b/src/locale/.gitattributes @@ -0,0 +1 @@ +*.ts -crlf -diff -merge diff --git a/src/src.pro b/src/src.pro index 8aaab849..c6607ad7 100644 --- a/src/src.pro +++ b/src/src.pro @@ -5,6 +5,8 @@ mac { TARGET = Arora } +DEFINES += QT_NO_CAST_FROM_ASCII + include(src.pri) SOURCES += main.cpp diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 70f12754..e8c3ffb9 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -98,7 +98,7 @@ TabWidget::TabWidget(QWidget *parent) { setElideMode(Qt::ElideRight); - new QShortcut(QKeySequence("Ctrl+Shift+T"), this, SLOT(openLastTab())); + new QShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_T), this, SLOT(openLastTab())); connect(m_tabBar, SIGNAL(loadUrl(const QUrl&, TabWidget::Tab)), this, SLOT(loadUrl(const QUrl&, TabWidget::Tab))); @@ -617,7 +617,7 @@ QLabel *TabWidget::animationLabel(int index, bool addMovie) loadingAnimation = new QLabel(this); } if (addMovie && !loadingAnimation->movie()) { - QMovie *movie = new QMovie(":loading.gif", QByteArray(), loadingAnimation); + QMovie *movie = new QMovie(QLatin1String(":loading.gif"), QByteArray(), loadingAnimation); loadingAnimation->setMovie(movie); movie->start(); } diff --git a/src/webview.cpp b/src/webview.cpp index 18a75beb..f0d57561 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -375,7 +375,7 @@ void WebView::copyImageLocationToClipboard() void WebView::bookmarkLink() { if (QAction *action = qobject_cast(sender())) { - AddBookmarkDialog dialog(action->data().toString(), ""); + AddBookmarkDialog dialog(action->data().toString(), QString()); dialog.exec(); } } From 29a2dcecaebdcdc12fec668e111bd073ccf9db2a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 18:56:06 +0200 Subject: [PATCH 0125/1254] Fix compilation on linux --- src/browserapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 033d36b0..377e574c 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -543,7 +543,7 @@ QIcon BrowserApplication::icon(const QUrl &url) QString BrowserApplication::dataDirectory() const { #if defined(Q_WS_X11) - return PKGDATADIR; + return QLatin1String(PKGDATADIR); #else return applicationDirPath(); #endif From c9dfb30140fe67b32233ca825187db221e4985f0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 19:01:01 +0200 Subject: [PATCH 0126/1254] Only include cache code when compiling against 4.5 --- src/clearprivatedata.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/clearprivatedata.cpp b/src/clearprivatedata.cpp index a2c1192e..a8f648ef 100644 --- a/src/clearprivatedata.cpp +++ b/src/clearprivatedata.cpp @@ -23,6 +23,7 @@ #include "cookiejar.h" #include "downloadmanager.h" #include "history.h" +#include "networkaccessmanager.h" #include "toolbarsearch.h" #include @@ -31,7 +32,9 @@ #include #include #include - +#if QT_VERSION >= 0x040500 +#include +#endif ClearPrivateData::ClearPrivateData(QWidget *parent) : QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint) { @@ -100,8 +103,8 @@ void ClearPrivateData::accept() BrowserApplication::cookieJar()->clear(); } if (m_cache->isChecked()) { -#if QT_VERSION < 0x040500 - BrowserApplication::downloadManager()->networkCache()->clear(); +#if QT_VERSION >= 0x040500 + BrowserApplication::networkAccessManager()->cache()->clear(); #endif } if (m_favIcons->isChecked()) { From 93d6f715612f3ff251c0f97cfa16c8fe15ae5f9c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 11:14:32 +0200 Subject: [PATCH 0127/1254] Connect LocationBar back up with the new webview --- src/tabwidget.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index e8c3ffb9..89c412bc 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -343,7 +343,7 @@ WebView *TabWidget::webView(int index) const if (count() == 1) { TabWidget *that = const_cast(this); that->setUpdatesEnabled(false); - QWidget *currentLocationBar = m_lineEdits->widget(0); + LocationBar *currentLocationBar = qobject_cast(m_lineEdits->widget(0)); bool giveBackFocus = currentLocationBar->hasFocus(); m_lineEdits->removeWidget(currentLocationBar); m_lineEdits->addWidget(new QWidget()); @@ -353,6 +353,7 @@ WebView *TabWidget::webView(int index) const m_lineEdits->removeWidget(newEmptyLineEdit); newEmptyLineEdit->deleteLater(); m_lineEdits->addWidget(currentLocationBar); + currentLocationBar->setWebView(currentWebView()); if (giveBackFocus) currentLocationBar->setFocus(); that->setUpdatesEnabled(true); From 0e32c7270b4137c9a31d64c4cf7fa53117a0c13f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 20:44:38 +0200 Subject: [PATCH 0128/1254] remove () from empty tab name --- src/tabwidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 89c412bc..30a9d07a 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -429,7 +429,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) emptyWidget->setAutoFillBackground(true); disconnect(this, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); - addTab(emptyWidget, tr("(Untitled)")); + addTab(emptyWidget, tr("Untitled")); connect(this, SIGNAL(currentChanged(int)), this, SLOT(currentChanged(int))); return 0; @@ -462,7 +462,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) this, SLOT(toolBarVisibilityChangeRequestedCheck(bool))); WebViewWithSearch *webViewWithSearch = new WebViewWithSearch(webView, this); - addTab(webViewWithSearch, tr("(Untitled)")); + addTab(webViewWithSearch, tr("Untitled")); if (makeCurrent) setCurrentWidget(webViewWithSearch); From db6e5163ba697ff56683a07e79fd9f7d6fe5fd60 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:22:07 +0200 Subject: [PATCH 0129/1254] Minor cleanup of the code and improve the strings in the cache info tool --- tools/cacheinfo/main.cpp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/tools/cacheinfo/main.cpp b/tools/cacheinfo/main.cpp index 0d837e52..8393def5 100644 --- a/tools/cacheinfo/main.cpp +++ b/tools/cacheinfo/main.cpp @@ -34,26 +34,27 @@ int main(int argc, char **argv) QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); - NetworkDiskCache diskCache; - QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) - + QLatin1String("browser/"); - diskCache.setCacheDirectory(location); - QStringList args = application.arguments(); args.takeFirst(); if (args.isEmpty()) { QTextStream stream(stdout); - stream << "cacheinfo [-o cachefile] [file | url]" << endl; + stream << "arora-cacheinfo is a tool for viewing and extracting information out of Arora cache files." << endl; + stream << "arora-cacheinfo [-o cachefile] [file | url]" << endl; return 0; } + NetworkDiskCache diskCache; + QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) + + QLatin1String("browser/"); + diskCache.setCacheDirectory(location); + QNetworkCacheMetaData metaData; QString last = args.takeLast(); if (QFile::exists(last)) { - qDebug() << "Reading in from a file and not a url."; + qDebug() << "Reading in from a file and not a URL."; metaData = diskCache._fileMetaData(last); } else { - qDebug() << "Reading in from a url and not a file."; + qDebug() << "Reading in from a URL and not a file."; metaData = diskCache.metaData(last); } @@ -63,7 +64,7 @@ int main(int argc, char **argv) QUrl url = metaData.url(); QIODevice *device = diskCache.data(url); if (!device) { - qDebug() << "Error: disk cache data is 0!"; + qDebug() << "Error: data for URL is 0!"; return 1; } QString fileName; @@ -73,7 +74,7 @@ int main(int argc, char **argv) QFileInfo info(url.path()); fileName = info.fileName(); if (fileName.isEmpty()) { - qDebug() << "URL base name is empty, please specify an output file."; + qDebug() << "URL file name is empty, please specify an output file, I wont guess."; return 1; } if (QFile::exists(fileName)) { @@ -84,14 +85,14 @@ int main(int argc, char **argv) qDebug() << "Saved cache file to:" << fileName; QFile file(fileName); if (!file.open(QFile::ReadWrite)) - qDebug() << "Unable to open the file."; + qDebug() << "Unable to open the output file for writing."; else file.write(device->readAll()); delete device; } QTextStream stream(stdout); - stream << "Url: " << metaData.url().toString() << endl; + stream << "URL: " << metaData.url().toString() << endl; stream << "Expiration Date: " << metaData.expirationDate().toString() << endl; stream << "Last Modified Date: " << metaData.lastModified().toString() << endl; stream << "Save to disk: " << metaData.saveToDisk() << endl; @@ -103,7 +104,7 @@ int main(int argc, char **argv) stream << "Data Size: " << device->size() << endl; stream << "First line: " << device->readLine(100); } else { - stream << "No data? corrupt or error" << endl; + stream << "No data? Either the file is corrupt or there is an error." << endl; } delete device; From df75285464a156af2c5a09ee384d7ce51c9878e0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:24:21 +0200 Subject: [PATCH 0130/1254] Compile when using Qt 4.5 --- autotests/tabbar/tst_tabbar.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/autotests/tabbar/tst_tabbar.cpp b/autotests/tabbar/tst_tabbar.cpp index a8629af2..ae6c2053 100644 --- a/autotests/tabbar/tst_tabbar.cpp +++ b/autotests/tabbar/tst_tabbar.cpp @@ -79,8 +79,10 @@ class SubTabBar : public TabBar void call_tabLayoutChange() { return SubTabBar::tabLayoutChange(); } +#if QT_VERSION < 0x040500 void call_tabMoveRequested(int fromIndex, int toIndex) { return SubTabBar::tabMoveRequested(fromIndex, toIndex); } +#endif QSize call_tabSizeHint(int index) const { return SubTabBar::tabSizeHint(index); } From 0a64132bcb0d26e72c5a971e80b592d1f8565e03 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:24:58 +0200 Subject: [PATCH 0131/1254] Fix autotest failures (test related, not arora) --- autotests/tabwidget/tst_tabwidget.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/autotests/tabwidget/tst_tabwidget.cpp b/autotests/tabwidget/tst_tabwidget.cpp index 4d386a50..b2b62b6a 100644 --- a/autotests/tabwidget/tst_tabwidget.cpp +++ b/autotests/tabwidget/tst_tabwidget.cpp @@ -168,20 +168,23 @@ void tst_TabWidget::addWebAction() widget.newTab(); QVERIFY(!action->isEnabled()); + widget.loadUrl(QUrl("about:config")); - widget.loadUrl(QUrl("http://www.google.com/")); - widget.loadUrl(QUrl("http://www.yahoo.com/")); - QTest::qWait(3000); - QVERIFY(action->isEnabled()); + QUrl url1(":/notfound.html"); //QUrl("http://www.google.com/")); + QUrl url2(":/notfound2.html"); //QUrl("http://www.yahoo.com/")); + widget.loadUrl(url1); + widget.loadUrl(url2); + + QTRY_VERIFY(action->isEnabled()); widget.newTab(); QVERIFY(!action->isEnabled()); QCOMPARE(spy0.count(), 0); QCOMPARE(spy1.count(), 0); QVERIFY(spy2.count() > 0); - QCOMPARE(spy3.count(), 6); + QCOMPARE(spy3.count(), 8); QVERIFY(spy4.count() > 0); - QCOMPARE(spy5.count(), 7); + QCOMPARE(spy5.count(), 6); QCOMPARE(spy6.count(), 0); } From d12b597d0ea5e468c57c93d3aade52a1aaccc857 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:25:50 +0200 Subject: [PATCH 0132/1254] add AUTOTESTS define when running autotests to prevent accessing running arora's and sending url's to them. --- autotests/autotests.pri | 2 ++ src/browserapplication.cpp | 18 +++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/autotests/autotests.pri b/autotests/autotests.pri index e0e57d59..1befa6f5 100644 --- a/autotests/autotests.pri +++ b/autotests/autotests.pri @@ -8,6 +8,8 @@ include($$PWD/modeltest/modeltest.pri) HEADERS += qtest_arora.h +DEFINES += AUTOTESTS + INCLUDEPATH += $$PWD DEPENDPATH += $$PWD diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 377e574c..8d0d1a16 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -108,6 +108,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) .arg(QLatin1String(GITVERSION)); QCoreApplication::setApplicationVersion(version); +#ifndef AUTOTESTS #ifdef Q_WS_QWS // Use a different server name for QWS so we can run an X11 // browser and a QWS browser in parallel on the same machine for @@ -115,7 +116,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QString serverName = QCoreApplication::applicationName() + QLatin1String("_qws"); #else QString serverName = QCoreApplication::applicationName(); -#endif +#endif // Q_WS_QWS QLocalSocket socket; socket.connectToServer(serverName); if (socket.waitForConnected(500)) { @@ -130,12 +131,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) return; } -#if defined(Q_WS_MAC) - QApplication::setQuitOnLastWindowClosed(false); -#else - QApplication::setQuitOnLastWindowClosed(true); -#endif - m_localServer = new QLocalServer(this); connect(m_localServer, SIGNAL(newConnection()), this, SLOT(newLocalSocketConnection())); @@ -146,6 +141,13 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) m_localServer->listen(serverName); } } +#endif // AUTOTESTS + +#if defined(Q_WS_MAC) + QApplication::setQuitOnLastWindowClosed(false); +#else + QApplication::setQuitOnLastWindowClosed(true); +#endif QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl"); QString localSysName = QLocale::system().name(); @@ -167,7 +169,9 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) this, SLOT(lastWindowClosed())); #endif +#ifndef AUTOTESTS QTimer::singleShot(0, this, SLOT(postLaunch())); +#endif // AUTOTESTS } BrowserApplication::~BrowserApplication() From b5c520901956effe9c425d55da49c3d77d87378f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:31:55 +0200 Subject: [PATCH 0133/1254] Initilize htmls resource --- autotests/qtest_arora.h | 1 + src/main.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/autotests/qtest_arora.h b/autotests/qtest_arora.h index f8757f80..a8ed4332 100644 --- a/autotests/qtest_arora.h +++ b/autotests/qtest_arora.h @@ -28,6 +28,7 @@ #define QTEST_MAIN(TestObject) \ int main(int argc, char *argv[]) \ { \ + Q_INIT_RESOURCE(htmls); \ Q_INIT_RESOURCE(data); \ BrowserApplication app(argc, argv); \ TestObject tc; \ diff --git a/src/main.cpp b/src/main.cpp index c1134128..90538a19 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -45,6 +45,7 @@ int main(int argc, char **argv) { + Q_INIT_RESOURCE(htmls); Q_INIT_RESOURCE(data); BrowserApplication application(argc, argv); if (!application.isTheOnlyBrowser()) From c0fb8a98c3cd3f85c243d2de78c93e11addb44f5 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:37:03 +0200 Subject: [PATCH 0134/1254] When you ctrl-click on a bookmark item in the bookmark toolbar open it in a new tab Issue: 82 --- src/bookmarks.cpp | 19 +++++++++++-------- src/bookmarks.h | 3 --- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 6becfcbd..5f336a41 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -919,14 +919,22 @@ BookmarkToolButton::BookmarkToolButton(QUrl url, QWidget *parent) : QToolButton(parent) , m_url(url) { - connect(this, SIGNAL(clicked()), this, SLOT(openBookmark())); } void BookmarkToolButton::mouseReleaseEvent(QMouseEvent *event) { QToolButton::mouseReleaseEvent(event); - if (event->button() == Qt::MidButton) - emit openBookmark(url(), TabWidget::NewTab, text()); + if (hitButton(event->pos())) { + if (event->button() == Qt::MidButton) + emit openBookmark(url(), TabWidget::NewTab, text()); + if (event->button() == Qt::LeftButton) { + TabWidget::Tab openLocation = + (event->modifiers() & Qt::ControlModifier) + ? TabWidget::NewTab + : TabWidget::CurrentTab; + emit openBookmark(url(), openLocation, text()); + } + } } QUrl BookmarkToolButton::url() const @@ -934,11 +942,6 @@ QUrl BookmarkToolButton::url() const return m_url; } -void BookmarkToolButton::openBookmark() -{ - emit openBookmark(url(), TabWidget::CurrentTab, text()); -} - BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent) : QToolBar(tr("Bookmark"), parent) , m_bookmarksModel(model) diff --git a/src/bookmarks.h b/src/bookmarks.h index 77e43a35..3da1f507 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -329,9 +329,6 @@ class BookmarkToolButton : public QToolButton protected: void mouseReleaseEvent(QMouseEvent *event); -private slots: - void openBookmark(); - private: QUrl m_url; From 54f228799b17dd21a981e7125729cd9cc99b1cff Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:38:47 +0200 Subject: [PATCH 0135/1254] Add QTRY_COMPARE and QTRY_VERIFY for the autotests to use. --- autotests/qtest_arora.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/autotests/qtest_arora.h b/autotests/qtest_arora.h index a8ed4332..c3f99891 100644 --- a/autotests/qtest_arora.h +++ b/autotests/qtest_arora.h @@ -23,6 +23,29 @@ #include #include "browserapplication.h" +#ifndef QTRY_COMPARE + +#define __TRY_TIMEOUT__ 5000 +#define __TRY_STEP__ 50 + +#define __QTRY(__expression__, __functionToCall__) \ + do { \ + int __i = 0; \ + while (!(__expression__) && __i < __TRY_TIMEOUT__) { \ + QTest::qWait(__TRY_STEP__); \ + __i += __TRY_STEP__; \ + } \ + __functionToCall__; \ + } while(0) + +#define QTRY_COMPARE(__expression__, __expected__) \ + __QTRY((__expression__ == __expected__), QCOMPARE(__expression__, __expected__)); + +#define QTRY_VERIFY(__expression__) \ + __QTRY(__expression__, QVERIFY(__expression__)); + +#endif // QTRY_COMPARE + #undef QTEST_MAIN #define QTEST_MAIN(TestObject) \ @@ -37,4 +60,3 @@ int main(int argc, char *argv[]) \ #endif - From f010a73a1d74027ac3f852fd05939c7c3d8a01c1 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 19:39:42 +0200 Subject: [PATCH 0136/1254] Fix the focus after the location bar to be the search widget. --- src/tabwidget.cpp | 18 +++++++++++++++--- src/tabwidget.h | 2 ++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 30a9d07a..13917679 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -67,6 +67,7 @@ #include "history.h" #include "tabbar.h" #include "locationbar.h" +#include "toolbarsearch.h" #include "webactionmapper.h" #include "webview.h" #include "webviewsearch.h" @@ -392,6 +393,17 @@ void TabWidget::newTab() makeNewTab(true); } +BrowserMainWindow *TabWidget::mainWindow() +{ + QWidget *w = this->parentWidget(); + while (w) { + if (BrowserMainWindow *mw = qobject_cast(w)) + return mw; + w = w->parentWidget(); + } + return 0; +} + WebView *TabWidget::makeNewTab(bool makeCurrent) { if (!makeCurrent) { @@ -401,7 +413,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) } // line edit - LocationBar *locationBar = new LocationBar(this); + LocationBar *locationBar = new LocationBar; if (!m_lineEditCompleter && count() > 0) { HistoryCompletionModel *completionModel = new HistoryCompletionModel(this); completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel()); @@ -420,6 +432,8 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) m_lineEdits->addWidget(locationBar); m_lineEdits->setSizePolicy(locationBar->sizePolicy()); + QWidget::setTabOrder(locationBar, qFindChild(mainWindow())); + // optimization to delay creating the more expensive WebView, history, etc if (count() == 0) { QWidget *emptyWidget = new QWidget; @@ -466,8 +480,6 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) if (makeCurrent) setCurrentWidget(webViewWithSearch); - QWidget::setTabOrder(this, locationBar); - // webview actions for (int i = 0; i < m_actions.count(); ++i) { WebActionMapper *mapper = m_actions[i]; diff --git a/src/tabwidget.h b/src/tabwidget.h index 37e4ff1c..b986792b 100644 --- a/src/tabwidget.h +++ b/src/tabwidget.h @@ -76,6 +76,7 @@ class QMenu; class QStackedWidget; QT_END_NAMESPACE +class BrowserMainWindow; class TabBar; class WebView; class WebActionMapper; @@ -144,6 +145,7 @@ class TabWidget : public QTabWidget void mouseReleaseEvent(QMouseEvent *event); void wheelEvent(QWheelEvent *event); #endif + BrowserMainWindow *mainWindow(); public slots: void loadUrl(const QUrl &url, TabWidget::Tab type = CurrentTab, const QString &title = QString()); From 45ef25bec96a5c226772009974838744cc0f3e2c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 22:56:44 +0200 Subject: [PATCH 0137/1254] Re-code from scratch :) --- src/main.cpp | 60 ++++++++++++++++------------------------------------ 1 file changed, 18 insertions(+), 42 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 90538a19..67c69669 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,45 +1,21 @@ -/**************************************************************************** -** -** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** This file may be used under the terms of the GNU General Public -** License versions 2.0 or 3.0 as published by the Free Software -** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Alternatively you may (at -** your option) use any later version of the GNU General Public -** License if such license has been publicly approved by Trolltech ASA -** (or its successors, if any) and the KDE Free Qt Foundation. In -** addition, as a special exception, Trolltech gives you certain -** additional rights. These rights are described in the Trolltech GPL -** Exception version 1.2, which can be found at -** http://www.trolltech.com/products/qt/gplexception/ and in the file -** GPL_EXCEPTION.txt in this package. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. If -** you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** In addition, as a special exception, Trolltech, as the sole -** copyright holder for Qt Designer, grants users of the Qt/Eclipse -** Integration plug-in the right for the Qt/Eclipse Integration to -** link to functionality provided by Qt Designer and its related -** libraries. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly -** granted herein. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -****************************************************************************/ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ #include "browserapplication.h" From 549b7ebe6df69a80b5227901457d037f9a7c3ad4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 1 Aug 2008 23:20:25 +0200 Subject: [PATCH 0138/1254] Add a way to set the mimimumFontSize --- src/browserapplication.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 8d0d1a16..8661fb2e 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -284,6 +284,9 @@ void BrowserApplication::loadSettings() standardFont = qVariantValue(settings.value(QLatin1String("standardFont"), standardFont)); defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize()); + int minimumFontSize = settings.value(QLatin1String("minimumFontSize"), + defaultSettings->fontSize(QWebSettings::MinimumFontSize)).toInt(); + defaultSettings->setFontSize(QWebSettings::MinimumFontSize, minimumFontSize); QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont); int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize); From a4e677230e4135c5ddd1fabf74ef6320aea6ec85 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 4 Aug 2008 21:32:13 +0200 Subject: [PATCH 0139/1254] Fix several of the history autotests --- autotests/history/tst_history.cpp | 40 ++++++++------ src/history.cpp | 89 +++++++++++++++++-------------- src/history.h | 1 + 3 files changed, 76 insertions(+), 54 deletions(-) diff --git a/autotests/history/tst_history.cpp b/autotests/history/tst_history.cpp index 5343733a..5be8cd48 100644 --- a/autotests/history/tst_history.cpp +++ b/autotests/history/tst_history.cpp @@ -65,7 +65,7 @@ class SubHistory : public HistoryManager { QWidget w; setParent(&w); - if (QWebHistoryInterface::defaultInterface() == this); + if (QWebHistoryInterface::defaultInterface() == this) QWebHistoryInterface::setDefaultInterface(0); setParent(0); } @@ -398,7 +398,6 @@ void tst_History::big() history.setHistoryLimit(-1); history.setHistory(bigHistory); - qDebug() << "removed dups:" << history.history().count(); QCOMPARE(history.history().count(), bigHistory.count()); @@ -456,15 +455,15 @@ void tst_History::historyDialog_data() QTest::newRow("page-2") << 0 << 0 << 2 << 0 << 0 << -1; QTest::newRow("page-3") << 0 << 0 << 3 << 0 << 0 << -1; QTest::newRow("page-4") << 0 << 0 << 4 << 0 << 0 << -1; - QTest::newRow("page-last") << 0 << 0 << -2 << 0 << 0 << -1; - QTest::newRow("page-only") << 32 << 0 << 0 << 0 << -1 << -1; + QTest::newRow("page-last") << 0 << 0 << -2 << 0 << 0 << -1; + QTest::newRow("page-only") << 32 << 0 << 0 << 0 << -1 << -1; - QTest::newRow("date-c") << -1 << -1 << 0 << 1 << -1 << 0; - QTest::newRow("date-0") << -1 << -1 << 0 << 0 << -1 << 0; - QTest::newRow("date-1") << -1 << -1 << 1 << 0 << -1 << 0; - QTest::newRow("date-2") << -1 << -1 << 2 << 0 << -1 << 0; - QTest::newRow("date-3") << -1 << -1 << 3 << 0 << -1 << 0; - QTest::newRow("date-last") << -1 << -1 << -2 << 0 << -1 << 0; + QTest::newRow("date-c") << -1 << -1 << 0 << 1 << -1 << 0; + QTest::newRow("date-0") << -1 << -1 << 0 << 0 << -1 << 0; + QTest::newRow("date-1") << -1 << -1 << 1 << 0 << -1 << 0; + QTest::newRow("date-2") << -1 << -1 << 2 << 0 << -1 << 0; + QTest::newRow("date-3") << -1 << -1 << 3 << 0 << -1 << 0; + QTest::newRow("date-last") << -1 << -1 << -2 << 0 << -1 << 0; QTest::newRow("removeAll") << -1 << -1 << -3 << 0 << -1 << 0; } @@ -473,12 +472,13 @@ void tst_History::historyDialog() { QFETCH(int, parentRow); QFETCH(int, parentColumn); + QFETCH(int, row); QFETCH(int, column); + QFETCH(int, datesDiff); QFETCH(int, parentRowsDiff); - qDebug() << "which one"; SubHistory history; history.setHistoryLimit(-1); history.setHistory(bigHistory); @@ -487,22 +487,31 @@ void tst_History::historyDialog() //QTest::qWait(300); QAbstractItemModel *model = dialog.tree->model(); + ModelTest test(model); /* for (int i = 0; i < model->rowCount(); ++i) if (model->rowCount(model->index(i, 0)) == 1) qDebug() << i; */ - ModelTest test(model); - if (parentRow == -2) parentRow = model->rowCount() - 1; + if (parentRow == -2) + parentRow = model->rowCount() - 1; QModelIndex parent = model->index(parentRow, parentColumn); - if (row < -1) row = model->rowCount(parent) - 1; + + if (row < -1) + row = model->rowCount(parent) - 1; QModelIndex child = model->index(row, column, parent); QVERIFY(child.isValid()); int topRowCount = model->rowCount(); int parentRowCount = model->rowCount(parent.sibling(parent.row(), 0)); int childRowCount = model->rowCount(child.sibling(child.row(), 0)); - dialog.tree->selectionModel()->select(child, QItemSelectionModel::SelectCurrent); + /* + qDebug() << "topRowCount" << topRowCount; + qDebug() << "parentRowCount" << parentRowCount; + qDebug() << "childRowCount" << childRowCount; + qDebug() << "selecting" << child; + */ + dialog.tree->selectionModel()->select(child, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); if (row == -3) { dialog.tree->removeAll(); QCOMPARE(model->rowCount(), 0); @@ -519,3 +528,4 @@ void tst_History::historyDialog() QTEST_MAIN(tst_History) #include "tst_history.moc" + diff --git a/src/history.cpp b/src/history.cpp index 034146cc..c5ad7020 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -1048,6 +1048,7 @@ void HistoryCompletionModel::sourceReset() HistoryTreeModel::HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent) : QAbstractProxyModel(parent) + , removingDown(false) { setSourceModel(sourceModel); } @@ -1059,7 +1060,9 @@ QVariant HistoryTreeModel::headerData(int section, Qt::Orientation orientation, QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const { - if ((role == Qt::EditRole || role == Qt::DisplayRole)) { + switch (role) { + case Qt::DisplayRole: + case Qt::EditRole: { int start = index.internalId(); if (start == 0) { int offset = sourceDateRow(index.row()); @@ -1075,12 +1078,17 @@ QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const } } } - if (role == Qt::DecorationRole && index.column() == 0 && !index.parent().isValid()) - return QIcon(QLatin1String(":history.png")); - if (role == HistoryModel::DateRole && index.column() == 0 && index.internalId() == 0) { - int offset = sourceDateRow(index.row()); - QModelIndex idx = sourceModel()->index(offset, 0); - return idx.data(HistoryModel::DateRole); + case Qt::DecorationRole: { + if (index.column() == 0 && !index.parent().isValid()) + return QIcon(QLatin1String(":history.png")); + } + case HistoryModel::DateRole: { + if (index.column() == 0 && index.internalId() == 0) { + int offset = sourceDateRow(index.row()); + QModelIndex idx = sourceModel()->index(offset, 0); + return idx.data(HistoryModel::DateRole); + } + } } return QAbstractProxyModel::data(index, role); @@ -1185,27 +1193,6 @@ Qt::ItemFlags HistoryTreeModel::flags(const QModelIndex &index) const return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled; } -bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent) -{ - if (row < 0 || count <= 0 || row + count > rowCount(parent)) - return false; - - if (parent.isValid()) { - // removing pages - int offset = sourceDateRow(parent.row()); - return sourceModel()->removeRows(offset + row, count); - } else { - // removing whole dates - for (int i = row + count - 1; i >= row; --i) { - QModelIndex dateParent = index(i, 0); - int offset = sourceDateRow(dateParent.row()); - if (!sourceModel()->removeRows(offset, rowCount(dateParent))) - return false; - } - } - return true; -} - void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel) { if (sourceModel()) { @@ -1276,22 +1263,45 @@ QModelIndex HistoryTreeModel::mapFromSource(const QModelIndex &sourceIndex) cons return createIndex(row, sourceIndex.column(), dateRow + 1); } +bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent) +{ + if (row < 0 || count <= 0 || row + count > rowCount(parent)) + return false; + + if (parent.isValid() && rowCount(parent) == count - row) + beginRemoveRows(QModelIndex(), parent.row(), parent.row()); + else + beginRemoveRows(parent, row, row + count - 1); + if (parent.isValid()) { + // removing pages + int offset = sourceDateRow(parent.row()); + return sourceModel()->removeRows(offset + row, count); + } else { + // removing whole dates + for (int i = row + count - 1; i >= row; --i) { + QModelIndex dateParent = index(i, 0); + int offset = sourceDateRow(dateParent.row()); + if (!sourceModel()->removeRows(offset, rowCount(dateParent))) + return false; + } + } + removingDown = true; + return true; +} + void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, int end) { + if (!removingDown) { + m_sourceRowCache.clear(); + reset(); + return; + } Q_UNUSED(parent); // Avoid warnings when compiling release Q_ASSERT(!parent.isValid()); - if (m_sourceRowCache.isEmpty()) - return; + if (!m_sourceRowCache.isEmpty()) for (int i = end; i >= start;) { QList::iterator it; it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), i); - // playing it safe - if (it == m_sourceRowCache.end()) { - m_sourceRowCache.clear(); - reset(); - return; - } - if (*it != i) --it; int row = qMax(0, it - m_sourceRowCache.begin()); @@ -1300,17 +1310,18 @@ void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, i // If we can remove all the rows in the date do that and skip over them int rc = rowCount(dateParent); if (i - rc + 1 == offset && start <= i - rc + 1) { - beginRemoveRows(QModelIndex(), row, row); m_sourceRowCache.removeAt(row); i -= rc + 1; } else { - beginRemoveRows(dateParent, i - offset, i - offset); ++row; --i; } for (int j = row; j < m_sourceRowCache.count(); ++j) --m_sourceRowCache[j]; + } + if (removingDown) { endRemoveRows(); + removingDown = false; } } diff --git a/src/history.h b/src/history.h index a7f68316..5fd60238 100644 --- a/src/history.h +++ b/src/history.h @@ -332,6 +332,7 @@ private slots: private: int sourceDateRow(int row) const; mutable QList m_sourceRowCache; + bool removingDown; }; From 179f3355558c845f41d6bd9989f59a376bd6371e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 4 Aug 2008 22:06:02 +0200 Subject: [PATCH 0140/1254] Populate the Changelog with 0.3 and update AUTHORS file. --- AUTHORS | 2 +- ChangeLog | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 83731170..a1caee8b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,8 +9,8 @@ Adam Treat treat@kde.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org -Vincenzo Reale smart2128@baslug.org smart2128 smart2128@baslug.org +Vincenzo Reale smart2128@baslug.org Simon Hausmann simon@lst.de Marius Bugge Monsen mariusbu@pvv.org Gergely Nagy gergely.nagy@interware.co.hu diff --git a/ChangeLog b/ChangeLog index 7e3d620e..7bce28b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,40 @@ 0.3 +- With Qt 4.5 use movable tabs +- With Qt 4.5 use disk cache +- Created a new LineEdit that handles adding side widgets in a clean, simple and elegant way. +- Add a way to set the minimum font size in the settings. +- When you ctrl-click on a bookmark item in the bookmark toolbar open it in a new tab +- Fix possible crash on startup; Initialize htmls resource +- When making the text larger or smaller, use predefined zoom levels. +- Mouse button 4 and 5 connected to action back and forward. like firefox and ie +- Clear history: Added confirm dialog +- Shortcuts in the Edit menu like in Firefox. +- Save the state of inspector across sessions. +- When only a hostname and port are entered in the url prepend http:// +- Base the width of the tab on a font rather then a hard coded value +- Tweak the main window look better on OS X and less out of place +- Add support for javascript bookmarklets +- Add option to automatically restore the session on startup. +- Fix segfault caused by the clear private data dialog. +- Save the location of the toolbars +- Improve a number of the strings (feedback from MentalMaelstrom) +- Tweak action accelerators (the same ones were being used) + +Build system +- Allow building Arora with both Debug/Release of WebKit trunk +- Only include the sha1 and change number in the version when using git. +- Create utils directory to contain non-Arora specific classes +- Run desktop file through desktop-file-validate and correct the errors + +Autotests +- Add QTRY_COMPARE and QTRY_VERIFY for the autotests to use. +- add AUTOTESTS define when running autotests to prevent accessing running arora's and sending url's to it +- Fix autotest failures (test related, not arora) +- Detect which version of qmake to use when building the autotests +- Give a 1 second punishment if there is no autotest for the source file that was changed +- Emit a warning of a file doesn't have a matching autotest +- Update modeltest code to match Trolltech's svn + 0.2 - Many Bug fixes and improvements. From c03b5401fe3337e67e910097af6f41586afa0950 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 4 Aug 2008 22:21:54 +0200 Subject: [PATCH 0141/1254] Bump version --- ChangeLog | 2 ++ src/browserapplication.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 7bce28b3..c9aa2e87 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,5 @@ +0.4 + 0.3 - With Qt 4.5 use movable tabs - With Qt 4.5 use disk cache diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 8661fb2e..831f9ae7 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -101,7 +101,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); - QString version = QLatin1String("0.3"); + QString version = QLatin1String("0.4"); if (QLatin1String(GITCHANGENUMBER) != QLatin1String("0")) version += QString(tr(" (Change: %1 %2)")) .arg(QLatin1String(GITCHANGENUMBER)) From 53395b77382fea7aabdb86aae007ad32272098ad Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 5 Aug 2008 00:05:57 +0200 Subject: [PATCH 0142/1254] Update it translation --- src/locale/it.ts | 471 ++++++++++++++++++++++++++++++----------------- 1 file changed, 298 insertions(+), 173 deletions(-) diff --git a/src/locale/it.ts b/src/locale/it.ts index e371b459..fcc1c551 100644 --- a/src/locale/it.ts +++ b/src/locale/it.ts @@ -185,7 +185,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Segnalibro @@ -193,298 +193,308 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Ci sono %1 finestre e %2 schede aperte Sei sicuro di voler uscire? - + Restore failed Ripristino non riuscito The saved session will not being restored because last time it was restored Arora crashed. - La sessione salvata non sar脿 ripristinata perch茅 l'ultima volta che 猫 stata ripristinata Arora 猫 andato in crash. + La sessione salvata non sar脿 ripristinata perch茅 l'ultima volta che 猫 stata ripristinata Arora 猫 andato in crash. + + + + (Change: %1 %2) + (Cambia: %1 %2) + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + La sessione salvata non sar脿 ripristinata perch猫 Arora 猫 andata in crash nel tentativo di ripristinarla. BrowserMainWindow - + &File &File - + &New Window &Nuova finestra - + &Open File... &Apri file... - + Open &Location... &Apri indirizzo... - + &Save As... &Salva come... - + &Import Bookmarks... &Importa i segnalibri... - + &Export Bookmarks... &Esporta i segnalibri... - + P&rint Preview... An&teprima di stampa... - + &Print... Stam&pa... - + Private &Browsing... &Navigazione anonima... - + &Quit &Esci - + &Edit &Modifica - + &Undo &Annulla - + &Redo &Ripeti - + Cu&t &Taglia - + &Copy &Copia - + &Paste &Incolla - + &Find Tro&va &Find Next - Tro&va successivo + Tro&va successivo &Find Previous - Tro&va precedente + Tro&va precedente &Preferences - &Preferenze + &Preferenze - + Ctrl+, Ctrl+, - + &View &Visualizza - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop &Ferma Reload Page - Ricarica la pagina + Ricarica la pagina &Make Text Bigger - &Ingrandisci il testo + &Ingrandisci il testo &Make Text Normal - &Dimensione normale + &Dimensione normale &Make Text Smaller - &Rimpicciolisci il testo + &Rimpicciolisci il testo - + Page S&ource &Sorgente della pagina - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Schermo intero - + Hi&story &Cronologia - + Back Indietro - + Forward Avanti - + Home Pagina iniziale - + Restore Last Session Ripristina la sessione precedente - + &Bookmarks &Segnalibri - + Manage Bookmarks... Gestione dei segnalibri... - + Add Bookmark... Aggiungi segnalibro... - + &Window &Finestra - + &Tools &Strumenti - + Web &Search &Ricerca nel web - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Abilita l'anal&izzatore web - + &Help &Aiuto - + About &Qt Informazioni su &Qt - + About &Arora Informazioni su &Arora - + Navigation Navigazione - + Show Status Bar Mostra la barra di stato - + Hide Status Bar Nascondi la barra di stato - + Show Toolbar Mostra la barra degli strumenti - + Hide Toolbar Nascondi la barra degli strumenti @@ -499,110 +509,150 @@ Sei sicuro di voler uscire? Nascondi la Barra Dei Segnalibri - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Apri risorsa web - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Risorse web (*.html *.htm *.svg *.png *.gif *.svgz);;Tutti i file (*.*) - + Print Document Stampa documento - + Are you sure you want to turn on private browsing? Sei sicuro di voler passare alla navigazione anonima? - + Are you sure you want to close the window? There are %1 tabs open Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte - + Page Source of %1 Sorgente di %1 - + Web Inspector Analizzatore web - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'analizzatore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? - + Stop loading the current page Ferma il caricamento della pagina attuale - + Reload the current page Ricarica la pagina attuale - + Downloads Scaricamenti - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data &Cancella i dati privati - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Canc - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sulla riquadro di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i pulsanti Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. - + Show Bookmarks Bar Mostra la barra dei segnalibri - + Hide Bookmarks Bar Nascondi la barra dei segnalibri + + + Find Nex&t + &Trova successivo + + + + Find P&revious + Trova P&recedente + + + + Prefere&nces... + Prefere&nze... + + + + Show Menu Bar + Mostra barra del Men霉 + + + + &Reload Page + &Ricarica Pagina + + + + Make Text &Bigger + &Ingrandisci Testo + + + + Make Text &Normal + Ripristi&na dimensione Testo + + + + Make Text &Smaller + Riduci Te&sto + ClearButton - + Clear Cancella @@ -610,55 +660,60 @@ Vuoi ricaricare tutte le pagine? ClearPrivateData - + Clear Private Data Cancella i dati privati - + Clear the following items: Cancella questi elementi: - + &Browsing History Cronologia della &navigazione - + &Download History Cronolo&gia degli scaricamenti - + &Search History Cronologia delle &ricerche - + &Cookies &Cookie C&ache - C&ache + C&ache - + Website &Icons &Icone dei siti - + Clear &Private Data Cancella i dati &privati - + &Cancel &Annulla + + + C&ached Web Pages + Pagine Web in C&ache + CookieExceptionsModel @@ -670,7 +725,7 @@ Vuoi ricaricare tutte le pagine? Status - Stato + Stato @@ -687,6 +742,11 @@ Vuoi ricaricare tutte le pagine? Allow For Session Consenti nella sessione + + + Rule + Regola + CookieModel @@ -720,6 +780,16 @@ Vuoi ricaricare tutte le pagine? Contents Contenuti + + + true + vero + + + + false + falso + CookiesDialog @@ -804,6 +874,11 @@ Vuoi ricaricare tutte le pagine? 0 Items 0 elementi + + + &OK + &OK + DownloadItem @@ -820,7 +895,7 @@ Vuoi ricaricare tutte le pagine? Error opening save file: %1 - Errore durante l'apertura del file: %1 + Errore durante l'apertura del file: %1 @@ -923,6 +998,11 @@ Vuoi ricaricare tutte le pagine? - %n secondi rimanenti + + + Error opening output file: %1 + Errore nel file di output: %1 + DownloadManager @@ -937,7 +1017,7 @@ Vuoi ricaricare tutte le pagine? %2 Scaricamenti - + %n Download(s) %n scaricamento @@ -948,17 +1028,17 @@ Vuoi ricaricare tutte le pagine? HistoryDialog - + Open Apri - + Copy Copia - + Delete Elimina @@ -981,25 +1061,35 @@ Vuoi ricaricare tutte le pagine? HistoryMenu - + Show All History Mostra tutta la cronologia - + Clear History Cancella la cronologia + + + Clear History... + Cancella Cronologia... + + + + Do you want to clear the history? + Sei sicuro di voler cancellare la cronologia? + HistoryModel - + Title Titolo - + Address Indirizzo @@ -1007,7 +1097,7 @@ Vuoi ricaricare tutte le pagine? HistoryTreeModel - + Earlier Today Prima di oggi @@ -1017,7 +1107,7 @@ Vuoi ricaricare tutte le pagine? %1 elementi - + %n item(s) %n elemento @@ -1028,17 +1118,17 @@ Vuoi ricaricare tutte le pagine? NetworkAccessManager - + <qt>Enter username and password for "%1" at %2</qt> <qt>Inserisci nome utente e password per "%1" su %2</qt> - + <qt>Connect to proxy "%1" using:</qt> <qt>Connettiti al proxy "%1" usando:</qt> - + SSL Errors: %1 @@ -1055,7 +1145,7 @@ Do you want to ignore these errors? Vuoi ignorare questi errori? - + Do you want to accept all these certificates? Vuoi accettare tutti questi certificati? @@ -1160,7 +1250,7 @@ Vuoi ignorare questi errori? SearchLineEdit - + Search Cerca @@ -1170,7 +1260,7 @@ Vuoi ignorare questi errori? Settings - Impostazioni + Impostazioni @@ -1180,7 +1270,7 @@ Vuoi ignorare questi errori? Home: - Pagina iniziale: + Pagina iniziale: @@ -1238,142 +1328,142 @@ Vuoi ignorare questi errori? In una nuova finestra - + Appearance Aspetto - + Fixed-width font: Carattere a larghezza fissa: - + Privacy Riservatezza - + Web Content Contenuto web - + Enable Plugins Abilita i plugin - + Enable Javascript Abilita Javascript - + Cookies Cookie - + Accept Cookies: Accetta cookie: - + Always Sempre - + Never Mai - + Only from sites you navigate to Solo dai siti che stai navigando - + Exceptions... Eccezioni... Keep until: - Mantienili fino a che: + Mantienili fino a che: - + They expire Scadono - + I exit the application Esci dall'applicazione - + At most 90 days Al massimo 90 giorni - + Cookies... Cookie... - + Proxy Proxy Enable proxy - Abilita il proxy + Abilita il proxy - + Type: Tipo: - + Socks5 Socks5 - + Http Http Host: - Host: + Host: - + Port: Porta: - + User Name: Nome utente: - + Password: Password: - + Advanced Avanzate - + Style Sheet: Foglio di stile: @@ -1393,22 +1483,22 @@ Vuoi ignorare questi errori? Usa questa cartella di destinazione: - + Standard font: Carattere standard: - + Times 16 Times 16 - + Select... Scegli... - + Courier 13 Courier 13 @@ -1440,63 +1530,93 @@ Vuoi ignorare questi errori? Enable Images - Abilita immagini + Abilita immagini - + Tabs Schede - + Select tabs and windows as they are created Seleziona schede e finestre a seconda di come sono state create - + Confirm when closing multiple tabs Chiedi conferma durante la chiusura di schede multiple + + + Preferences + Preferenze + + + + Home Page: + Pagina iniziale: + + + + View Images + Visualizza Immagini + + + + Keep Cookies Until: + Mantieni i Cookie Fino a che: + + + + Use proxy server + Utilizza server proxy + + + + Host name: + Nome server: + TabBar - + New &Tab &Nuova scheda - + Duplicate Tab Duplica scheda - + &Close Tab &Chiudi scheda - + Close &Other Tabs Chiudi &altre schede - + Reload Tab Ricarica scheda - + Reload All Tabs Ricarica tutte le schede - + Show Tab Bar Mostra la barra delle schede - + Hide Tab Bar Nascondi la barra delle schede @@ -1504,42 +1624,42 @@ Vuoi ignorare questi errori? TabWidget - + New &Tab &Nuova scheda - + &Close Tab &Chiudi la scheda - + Show Next Tab Mostra la scheda successiva - + Show Previous Tab Mostra la scheda precedente - + Recently Closed Tabs Schede chiuse di recente (Untitled) - (Senza titolo) + (Senza titolo) - + Do you really want to close this page? Sei sicuro di voler chiudere questa pagina? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1547,13 +1667,18 @@ Do you really want to close this page? Sei sicuro di volerlo fare? + + + Untitled + Senza titolo + ToolbarSearch Google - Google + Google @@ -1574,7 +1699,7 @@ Sei sicuro di volerlo fare? WebPage - + Error loading page: %1 Errore durante l'apertura della pagina: %1 @@ -1582,57 +1707,57 @@ Sei sicuro di volerlo fare? WebView - + Open in New &Window Apri in una nuova &finestra - + Open in New &Tab Apri in una nuova &scheda - + Save Lin&k Salva il colle&gamento - + &Bookmark This Link Salva il collegamento nei Segnali&bri - + &Copy Link Location &Copia l'indirizzo del collegamento - + Open Image in New &Window Apri l'immagine un una nuova &finestra - + Open Image in New &Tab Apri l'immagine in una nuova &scheda - + &Save Image &Salva l'immagine - + &Copy Image &Copia l'immagine - + C&opy Image Location C&opia l'indirizzo dell'immagine - + Loading... Caricamento in corso ... From 7e3c9dcdd109eb07402a6dbb2ebeacd620893777 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 5 Aug 2008 00:33:55 +0200 Subject: [PATCH 0143/1254] Add a script that can be used to determine how complete all of the translations are. --- src/locale/calculate_completion.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 src/locale/calculate_completion.sh diff --git a/src/locale/calculate_completion.sh b/src/locale/calculate_completion.sh new file mode 100755 index 00000000..1f1a4e0b --- /dev/null +++ b/src/locale/calculate_completion.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# This script was written to get some data on how far the various translations are +# compared to each other +# +# This script is donated to the public domain +# +# Klaas van Gend, 2008 + +printf "\n translation file %%ready (unfinished/(total-obsolete))\n" +printf '=============================================================\n' +for I in `ls -1 *.ts`; +do + UNFINISHED=`grep 'type="unfinished"' $I | wc -l`; + OBSOLETE=`grep 'obsolete' $I | wc -l`; + MSGLINES=`grep '' $I | wc -l`; + let "REALLINES=$MSGLINES-$OBSOLETE"; + let "PERCENT=(100*$UNFINISHED)/$REALLINES"; + let "FINISHED=100-$PERCENT"; + printf "% 18s : % 4d%% %d/(%d-%d)\n" $I $FINISHED $UNFINISHED $MSGLINES $OBSOLETE ; +done +printf "\n" + From c98a1205321cc1095a61df8f374e8b54a10abf33 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 5 Aug 2008 18:29:09 +0200 Subject: [PATCH 0144/1254] Correctly detect qt3's qmake on debian --- git_hooks/pre-commit_autotest | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git_hooks/pre-commit_autotest b/git_hooks/pre-commit_autotest index 3507a7de..8a6cf86d 100755 --- a/git_hooks/pre-commit_autotest +++ b/git_hooks/pre-commit_autotest @@ -3,8 +3,8 @@ # Check that existing autotests for files that are being commited are not currently failing # QMAKE=qmake -$QMAKE --version 2>&1 | grep 4.3 > /dev/null -if [ $? == 0 ] ; then +$QMAKE --version 2>&1 | grep 3.3 > /dev/null +if [ $? -eq 0 ] ; then QMAKE=qmake-qt4 fi dir=`dirname $0` @@ -16,7 +16,7 @@ for file in `git-diff-index --name-only HEAD | grep .cpp` ; do tempfoo=`basename $0` TMPFILE=`mktemp -t ${tempfoo}` || exit 1 - (cd "$dir/../../autotests/$file/"; QMAKE; make; ./$file >> $TMPFILE) + (cd "$dir/../../autotests/$file/"; $QMAKE; make; ./$file >> $TMPFILE) output=`cat $TMPFILE | grep ' failed,' | sed -e 's/.*passed, //g' -e 's/ failed.*//g'` if [ "${output}" != "0" ] ; then echo "Autotests failed for $file, please fix before committing." From 5e29bc4df4849247570b175cd85d1c398a9eb30b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 5 Aug 2008 18:30:26 +0200 Subject: [PATCH 0145/1254] When the location bar has focus don't change the text. --- src/locationbar.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 8b7584df..84eeebbd 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -123,6 +123,8 @@ void LocationBar::setWebView(WebView *webView) void LocationBar::webViewUrlChanged(const QUrl &url) { + if (hasFocus()) + return; setText(url.toString()); setCursorPosition(0); } From 1c82f62eeaeac9cb760a2c63bd8d723cc10507dd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 5 Aug 2008 18:31:24 +0200 Subject: [PATCH 0146/1254] Fix the last failing autotest related to history. --- src/history.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/history.cpp b/src/history.cpp index c5ad7020..6f424dcb 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -1268,6 +1268,7 @@ bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent) if (row < 0 || count <= 0 || row + count > rowCount(parent)) return false; + removingDown = true; if (parent.isValid() && rowCount(parent) == count - row) beginRemoveRows(QModelIndex(), parent.row(), parent.row()); else @@ -1285,15 +1286,14 @@ bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent) return false; } } - removingDown = true; return true; } void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, int end) { if (!removingDown) { - m_sourceRowCache.clear(); reset(); + m_sourceRowCache.clear(); return; } Q_UNUSED(parent); // Avoid warnings when compiling release From 01d1ce687b416298ce2190cca1fbb40dc26865bc Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 5 Aug 2008 19:55:01 +0200 Subject: [PATCH 0147/1254] Only offset the text when using Qt 4.5 --- src/searchlineedit.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/searchlineedit.cpp b/src/searchlineedit.cpp index adfb4c57..c5e5150e 100644 --- a/src/searchlineedit.cpp +++ b/src/searchlineedit.cpp @@ -219,9 +219,11 @@ void SearchLineEdit::paintEvent(QPaintEvent *event) QStyleOptionFrameV2 panel; initStyleOption(&panel); QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); +#if QT_VERSION >= 0x040500 int left = textMargin(LineEdit::LeftSide); int right = textMargin(LineEdit::RightSide); textRect.adjust(left, 0, -right, 0); +#endif QPainter painter(this); painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); From d3fcca20b38038f47d532b291f36bd3b1f1fa045 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 6 Aug 2008 00:18:17 +0200 Subject: [PATCH 0148/1254] When droping text on the webpage load the url --- src/webview.cpp | 37 +++++++++++++++++++++++++++++++++++++ src/webview.h | 3 +++ 2 files changed, 40 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index f0d57561..7f1d42cc 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -244,6 +244,7 @@ WebView::WebView(QWidget* parent) connect(page(), SIGNAL(downloadRequested(const QNetworkRequest &)), this, SLOT(downloadRequested(const QNetworkRequest &))); page()->setForwardUnsupportedContent(true); + setAcceptDrops(true); // the zoom values (in percent) are chosen to be like in Mozilla Firefox 3 m_zoomLevels << 30 << 50 << 67 << 80 << 90; @@ -469,6 +470,42 @@ void WebView::mousePressEvent(QMouseEvent *event) QWebView::mousePressEvent(event); } +void WebView::dragEnterEvent(QDragEnterEvent *event) +{ + event->acceptProposedAction(); +} + +void WebView::dragMoveEvent(QDragMoveEvent *event) +{ + if (!event->mimeData()->urls().isEmpty()) { + event->acceptProposedAction(); + } else { + QUrl url(event->mimeData()->text()); + if (url.isValid()) + event->acceptProposedAction(); + } + if (!event->isAccepted()) + QWebView::dragMoveEvent(event); +} + +void WebView::dropEvent(QDropEvent *event) +{ + QWebView::dropEvent(event); + if (!event->isAccepted() + && event->possibleActions() & Qt::CopyAction) { + + QUrl url; + if (!event->mimeData()->urls().isEmpty()) + url = event->mimeData()->urls().first(); + if (!url.isValid()) + url = event->mimeData()->text(); + if (url.isValid()) { + loadUrl(url); + event->acceptProposedAction(); + } + } +} + void WebView::mouseReleaseEvent(QMouseEvent *event) { QWebView::mouseReleaseEvent(event); diff --git a/src/webview.h b/src/webview.h index 96e3a5aa..7665a94b 100644 --- a/src/webview.h +++ b/src/webview.h @@ -132,6 +132,9 @@ public slots: void contextMenuEvent(QContextMenuEvent *event); void wheelEvent(QWheelEvent *event); void resizeEvent(QResizeEvent *event); + void dragEnterEvent(QDragEnterEvent *event); + void dragMoveEvent(QDragMoveEvent *event); + void dropEvent(QDropEvent *event); private slots: void setProgress(int progress); From 2fb6eb7665cd3150bc5f0657004886a12bc9aef7 Mon Sep 17 00:00:00 2001 From: Adam Treat Date: Wed, 6 Aug 2008 23:36:54 -0400 Subject: [PATCH 0149/1254] * Change the way we build against webkit trunk to specify the top-level webkit dir first and then if need be specify the actual build directory --- src/webkittrunk.pri | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/webkittrunk.pri b/src/webkittrunk.pri index 322c22f8..993bc126 100644 --- a/src/webkittrunk.pri +++ b/src/webkittrunk.pri @@ -1,16 +1,24 @@ # # export QT_WEBKIT=webkit_trunk -# export WEBKITBUILD=$HOME/dev/webkit/WebKitBuild/Release +# export WEBKITDIR=$HOME/dev/webkit # CONFIG += $$(QT_WEBKIT) webkit_trunk { - message(Using WebKit Trunk at $$(WEBKITBUILD)) - WEBKITBUILD = $$(WEBKITBUILD)/lib + WEBKITDIR = $$(WEBKITDIR) + WEBKITBUILD = $$(WEBKITBUILD) + isEmpty(WEBKITBUILD) { + CONFIG(release):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Release/lib + CONFIG(debug):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Debug/lib + } else { + WEBKITBUILD = $$WEBKITBUILD/lib + } + message(Using WebKit Trunk at $$WEBKITDIR) + message(Using WebKit Build at $$WEBKITBUILD) QT -= webkit DEFINES += WEBKIT_TRUNK QMAKE_LIBDIR_FLAGS = -L$$WEBKITBUILD LIBS = -lQtWebKit - INCLUDEPATH = $$WEBKITBUILD/../../../WebKit/qt/Api $$INCLUDEPATH + INCLUDEPATH = $$WEBKITDIR/WebKit/qt/Api $$INCLUDEPATH QMAKE_RPATHDIR = $$WEBKITBUILD $$QMAKE_RPATHDIR } From 991f98e1b4300329976d031db6e2b2621c0159b1 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 8 Aug 2008 17:24:06 +0200 Subject: [PATCH 0150/1254] When clicking on a bookmark in a folder in the toolbar emit the proper signals to the url is opened. --- src/bookmarks.cpp | 21 ++++++++++++++++++++- src/bookmarks.h | 16 ++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 5f336a41..000c2d5a 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -1009,6 +1009,23 @@ QModelIndex BookmarksToolBar::rootIndex() const return m_root; } +BookmarksToolBarMenu::BookmarksToolBarMenu(QWidget *parent) + : ModelMenu(parent) +{ + connect(this, SIGNAL(activated(const QModelIndex &)), + this, SLOT(activated(const QModelIndex &))); + setStatusBarTextRole(BookmarksModel::UrlStringRole); + setSeparatorRole(BookmarksModel::SeparatorRole); +} + +void BookmarksToolBarMenu::activated(const QModelIndex &index) +{ + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::CurrentTab, + index.data(Qt::DisplayRole).toString()); +} + void BookmarksToolBar::build() { clear(); @@ -1019,7 +1036,7 @@ void BookmarksToolBar::build() button->setPopupMode(QToolButton::InstantPopup); button->setArrowType(Qt::DownArrow); button->setText(idx.data().toString()); - ModelMenu *menu = new ModelMenu(this); + ModelMenu *menu = new BookmarksToolBarMenu(this); menu->setModel(m_bookmarksModel); menu->setRootIndex(idx); menu->addAction(new QAction(menu)); @@ -1027,6 +1044,8 @@ void BookmarksToolBar::build() button->setToolButtonStyle(Qt::ToolButtonTextOnly); QAction *a = addWidget(button); a->setText(idx.data().toString()); + connect(menu, SIGNAL(openUrl(const QUrl &, TabWidget::Tab, const QString &)), + this, SIGNAL(openUrl(const QUrl &, TabWidget::Tab, const QString &))); } else { QUrl url = idx.data(BookmarksModel::UrlRole).toUrl(); BookmarkToolButton *button = new BookmarkToolButton(url, this); diff --git a/src/bookmarks.h b/src/bookmarks.h index 3da1f507..980ba690 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -335,6 +335,22 @@ class BookmarkToolButton : public QToolButton }; +class BookmarksToolBarMenu : public ModelMenu +{ + Q_OBJECT + +signals: + void openUrl(const QUrl &url, TabWidget::Tab type, const QString &title); + +public: + BookmarksToolBarMenu(QWidget *parent = 0); + +private slots: + void activated(const QModelIndex &index); + +}; + + class BookmarksToolBar : public QToolBar { Q_OBJECT From 5ac4f29e2afdc42f2aa23cbc7bf533fc9ea8109b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 11 Aug 2008 16:14:22 +0200 Subject: [PATCH 0151/1254] Cleanup pri file to cause less problems when building with webkit trunk. --- src/webkittrunk.pri | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/webkittrunk.pri b/src/webkittrunk.pri index 993bc126..46c8e8f6 100644 --- a/src/webkittrunk.pri +++ b/src/webkittrunk.pri @@ -5,13 +5,8 @@ CONFIG += $$(QT_WEBKIT) webkit_trunk { WEBKITDIR = $$(WEBKITDIR) - WEBKITBUILD = $$(WEBKITBUILD) - isEmpty(WEBKITBUILD) { - CONFIG(release):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Release/lib - CONFIG(debug):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Debug/lib - } else { - WEBKITBUILD = $$WEBKITBUILD/lib - } + CONFIG(release):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Release/lib + CONFIG(debug):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Debug/lib message(Using WebKit Trunk at $$WEBKITDIR) message(Using WebKit Build at $$WEBKITBUILD) QT -= webkit From eeacf00d48da5b856177c33f8bdaef1eaa731b05 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 12 Aug 2008 01:26:25 +0200 Subject: [PATCH 0152/1254] Only shrink the toolbar icons on OS X. --- src/browsermainwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index f78646c1..45781ccd 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -189,7 +189,9 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) loadDefaultState(); m_tabWidget->newTab(); m_tabWidget->currentLineEdit()->setFocus(); +#if defined(Q_WS_MAC) m_navigationBar->setIconSize(QSize(18, 18)); +#endif // Add each item in the menu bar to the main window so // if the menu bar is hidden the shortcuts still work. From bfed4662a438a2c094228680b19cf64770654ece Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 12 Aug 2008 18:44:27 +0200 Subject: [PATCH 0153/1254] When the base style fails to be created fallback to windows style Issue 166 --- src/utils/proxystyle.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/utils/proxystyle.h b/src/utils/proxystyle.h index 170e561b..12ae4ac2 100644 --- a/src/utils/proxystyle.h +++ b/src/utils/proxystyle.h @@ -33,7 +33,11 @@ class ProxyStyle : public QStyle public: explicit ProxyStyle(const QString &baseStyle) - { style = QStyleFactory::create(baseStyle); } + { + style = QStyleFactory::create(baseStyle); + if (!style) + style = QStyleFactory::create(QLatin1String("windows")); + } ~ProxyStyle() { delete style; } From c1d986f82207f3642ea555979a4bb85018162abd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 13 Aug 2008 18:56:06 +0200 Subject: [PATCH 0154/1254] Always populate the location bar with the completer --- src/tabwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 13917679..c8520d68 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -414,7 +414,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) // line edit LocationBar *locationBar = new LocationBar; - if (!m_lineEditCompleter && count() > 0) { + if (!m_lineEditCompleter) { HistoryCompletionModel *completionModel = new HistoryCompletionModel(this); completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel()); m_lineEditCompleter = new QCompleter(completionModel, this); From 6c7052c27d70ae019103e1b00b299e42e7163252 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 14 Aug 2008 00:43:00 +0200 Subject: [PATCH 0155/1254] For some reason the git defines are screwing up the build on Windows into thinking it is building on X11 (at least on mingw) so disable them on win32 --- src/src.pri | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/src.pri b/src/src.pri index e8702227..2264f3d1 100644 --- a/src/src.pri +++ b/src/src.pri @@ -14,10 +14,16 @@ OBJECTS_DIR = .obj QT += webkit network -GITVERSION=$$system(git log -n1 --pretty=format:%h) -GITCHANGENUMBER=$$system(git log --pretty=format:%h | wc -l) -DEFINES += GITVERSION=\"\\\"$$GITVERSION\\\"\" -DEFINES += GITCHANGENUMBER=\"\\\"$$GITCHANGENUMBER\\\"\" +win32 { + DEFINES += GITVERSION=0 + DEFINES += GITCHANGENUMBER=0 +} +!win32 { + GITVERSION=$$system(git log -n1 --pretty=format:%h) + DEFINES += GITVERSION=\"\\\"$$GITVERSION\\\"\" + GITCHANGENUMBER=$$system(git log --pretty=format:%h | wc -l) + DEFINES += GITCHANGENUMBER=\"\\\"$$GITCHANGENUMBER\\\"\" +} FORMS += \ aboutdialog.ui \ From ac5dbc28fbb920ac7d644e19fd0f588eba360daf Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 14 Aug 2008 18:30:57 +0200 Subject: [PATCH 0156/1254] Update manualtest for the location bar now that the urllineedit class has become the new location bar class. Issue: 172 --- .gitignore | 1 - manualtests/locationbar/.gitignore | 1 + .../urllineedit.pro => locationbar/locationbar.pro} | 1 + manualtests/{urllineedit => locationbar}/main.cpp | 8 ++++---- manualtests/manualtests.pro | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 manualtests/locationbar/.gitignore rename manualtests/{urllineedit/urllineedit.pro => locationbar/locationbar.pro} (99%) rename manualtests/{urllineedit => locationbar}/main.cpp (91%) diff --git a/.gitignore b/.gitignore index aef27bad..9602e36c 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,5 @@ manualtests/history/history manualtests/lineedit/lineedit manualtests/searchlineedit/searchlineedit manualtests/squeezelabel/squeezelabel -manualtests/urllineedit/urllineedit manualtests/webviewsearch/webviewsearch diff --git a/manualtests/locationbar/.gitignore b/manualtests/locationbar/.gitignore new file mode 100644 index 00000000..3c98d718 --- /dev/null +++ b/manualtests/locationbar/.gitignore @@ -0,0 +1 @@ +locationbar diff --git a/manualtests/urllineedit/urllineedit.pro b/manualtests/locationbar/locationbar.pro similarity index 99% rename from manualtests/urllineedit/urllineedit.pro rename to manualtests/locationbar/locationbar.pro index a60ce3fb..32107ebc 100644 --- a/manualtests/urllineedit/urllineedit.pro +++ b/manualtests/locationbar/locationbar.pro @@ -8,3 +8,4 @@ include(../manualtests.pri) # Input SOURCES += main.cpp HEADERS += + diff --git a/manualtests/urllineedit/main.cpp b/manualtests/locationbar/main.cpp similarity index 91% rename from manualtests/urllineedit/main.cpp rename to manualtests/locationbar/main.cpp index 443edce3..d2882146 100644 --- a/manualtests/urllineedit/main.cpp +++ b/manualtests/locationbar/main.cpp @@ -19,7 +19,7 @@ #include #include "browserapplication.h" -#include "urllineedit.h" +#include "locationbar.h" #include "webview.h" int main(int argc, char **argv) @@ -32,8 +32,8 @@ int main(int argc, char **argv) QComboBox *comboBox = new QComboBox(window); comboBox->setEditable(true); QLineEdit *lineEdit = new QLineEdit(window); - UrlLineEdit *s1 = new UrlLineEdit(window); - UrlLineEdit *s2 = new UrlLineEdit(window); + LocationBar *s1 = new LocationBar(window); + LocationBar *s2 = new LocationBar(window); WebView *view = new WebView(window); view->setUrl(QUrl("http://www.google.com")); s2->setWebView(view); @@ -50,7 +50,7 @@ int main(int argc, char **argv) QToolBar *bar = w.addToolBar("foo"); QSplitter *splitter = new QSplitter(window); - splitter->addWidget(new UrlLineEdit); + splitter->addWidget(new LocationBar); splitter->addWidget(new QLineEdit); bar->addWidget(splitter); return application.exec(); diff --git a/manualtests/manualtests.pro b/manualtests/manualtests.pro index 91a74c51..c8412cb1 100644 --- a/manualtests/manualtests.pro +++ b/manualtests/manualtests.pro @@ -3,7 +3,7 @@ SUBDIRS = bookmarks \ downloadmanager \ history \ lineedit \ + locationbar \ searchlineedit \ - squeezelabel \ - urllineedit + squeezelabel From b9bf08d437867fbfa514cd25c254141e44da5bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Thu, 14 Aug 2008 13:01:03 +0200 Subject: [PATCH 0157/1254] Updated nl translation by Kristof Bal --- src/arora.desktop | 1 + src/locale/nl.ts | 179 +++++++++++++++++++++++++--------------------- 2 files changed, 100 insertions(+), 80 deletions(-) diff --git a/src/arora.desktop b/src/arora.desktop index 33c51c5f..1eff3e39 100644 --- a/src/arora.desktop +++ b/src/arora.desktop @@ -3,6 +3,7 @@ Exec=arora %U GenericName=Web Browser GenericName[en_US]=Web Browser GenericName[cs_CZ]=Webov媒 prohl铆啪e膷 +GenericName[nl]=Webbrowser Icon=arora MimeType=text/html; Name=Arora diff --git a/src/locale/nl.ts b/src/locale/nl.ts index d016cc91..cc9d7626 100644 --- a/src/locale/nl.ts +++ b/src/locale/nl.ts @@ -1,6 +1,5 @@ - AboutDialog @@ -193,14 +192,14 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Er zijn %1 vensters en %2 tabs geopend Wilt u toch afsluiten? - + Restore failed Herstellen mislukt @@ -210,7 +209,7 @@ Wilt u toch afsluiten? De opgeslagen sessie zal niet worden hersteld omdat de laatste keer dat deze werd hersteld Arora crashte. - + The saved session will not be restored because Arora crashed while trying to restore this session. De opgeslagen sessie zal niet worden hersteld omdat Arora crashte toen het probeerde de sessie te herstellen. @@ -218,92 +217,92 @@ Wilt u toch afsluiten? BrowserMainWindow - + &File &Bestand - + &New Window &Nieuw venster - + &Open File... Bestand &openen... - + Open &Location... &Locatie openen... - + &Save As... O&pslaan als... - + &Import Bookmarks... Bladwijzers &importeren... - + &Export Bookmarks... Bladwijzers &exporteren... - + P&rint Preview... Afdruk&voorbeeld... - + &Print... &Afdrukken... - + Private &Browsing... Priv茅sur&fen... - + &Quit &Afsluiten - + &Edit &Bewerken - + &Undo Onge&daan maken - + &Redo Op&nieuw doen - + Cu&t Kn&ippen - + &Copy &Kopieren - + &Paste Plakk&en - + &Find &Zoeken @@ -323,32 +322,32 @@ Wilt u toch afsluiten? &Voorkeuren - + Ctrl+, Ctrl+, - + &View Bee&ld - + Ctrl+| Ctrl+| - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+/ Ctrl+/ - + &Stop &Stoppen @@ -373,52 +372,52 @@ Wilt u toch afsluiten? Tekst kleiner &maken - + Page S&ource Paginab&ron - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen Volledig s&cherm - + Hi&story &Geschiedenis - + Back Terug - + Forward Vooruit - + Home Startpagina - + Restore Last Session Vorige sessie herstellen - + &Bookmarks Bladwi&jzers - + Manage Bookmarks... Bladwijzers beheren... @@ -465,42 +464,42 @@ Wilt u toch afsluiten? Web &Inspector inschakelen - + &Help &Help - + About &Qt Over &Qt - + About &Arora Over &Arora - + Navigation Navigatie - + Show Status Bar Statusbalk tonen - + Hide Status Bar Statusbalk verbergen - + Show Toolbar Werkbalk tonen - + Hide Toolbar Werkbalk verbergen @@ -515,80 +514,80 @@ Wilt u toch afsluiten? Bladwijzerbalk verbergen - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Webresources openen - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webresources (*.html *.htm *.svg *.png *.gif *.svgz);;Alle bestanden(*.*) - + Print Document Document afdrukken - + Are you sure you want to turn on private browsing? Bent u zeker dat u priv茅surfen wilt inschakelen? - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Als priv茅surfen aan staat zullen sommige acties omtrent uw privacy worden uitgeschakeld:<ul><li> Webpagina's worden niet toegevoegd aan de geschiedenis.</li><li> Items worden automatisch verwijderd uit het Downloads-scherm.</li><li> Nieuwe cookies worden niet opgeslagen, huidige cookies kunnen niet worden bereikt.</li><li> Sitepictogrammen en sessie's worden niet opgeslagen.</li><li> Zoekopdrachten worden niet toegevoegd aan het pop-upmenu in de zoekbalk.</li></ul>Totdat u het venster sluit, kunt u nog altijd de Terug- en Vooruitknoppen gebruiken om terug te keren naar webpagina's die u heeft geopend. - + Are you sure you want to close the window? There are %1 tabs open Bent u zeker dat u het venster wil sluiten? Er zijn %1 tabs geopend - + Page Source of %1 Paginabron van %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? De Web Inspector zal alleen correct werken voor pagina's die werden geladen na het inschakelen. Wilt u alle pagina's herladen? - + Stop loading the current page Stop het laden van deze pagina - + Reload the current page Deze pagina herladen - + Downloads Downloads - + Alt+Ctrl+L Download Manager Alt+Ctrl+L @@ -596,48 +595,58 @@ Wilt u alle pagina's herladen? Find &Next - &Volgende zoeken + &Volgende zoeken - + Find P&revious Vo&rige zoeken Prefe&rences - Voo&rkeuren + Voo&rkeuren - + &Reload Page Pagina he&rladen - + Make Text &Bigger Tekst groter &maken - + Make Text &Normal Tekst &normaal maken - + Make Text &Smaller Tek&st kleiner maken - + Show Bookmarks Bar Bladwijzerbalk tonen - + Hide Bookmarks Bar Bladwijzerbalk verbergen + + + Find Nex&t + Volgend&e zoeken + + + + Prefere&nces... + Voorkeure&n... + ClearButton @@ -1018,17 +1027,17 @@ Wilt u alle pagina's herladen? HistoryDialog - + Open Openen - + Copy Kopieren - + Delete Verwijderen @@ -1051,25 +1060,35 @@ Wilt u alle pagina's herladen? HistoryMenu - + Show All History Toon volledige geschiedenis - + Clear History Geschiedenis wissen + + + Clear History... + Geschiedenis wissen... + + + + Do you want to clear the history? + Wilt u de hele geschiedenis wissen? + HistoryModel - + Title Titel - + Address Adres @@ -1077,7 +1096,7 @@ Wilt u alle pagina's herladen? HistoryTreeModel - + Earlier Today Eerder vandaag @@ -1087,7 +1106,7 @@ Wilt u alle pagina's herladen? %1 items - + %n item(s) 1 item @@ -1230,7 +1249,7 @@ Wilt u deze foutmeldingen negeren? SearchLineEdit - + Search Zoeken From e0a6f25b4a00d8e5f4b511fbe531f805c4b8a997 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 14 Aug 2008 19:09:13 +0200 Subject: [PATCH 0158/1254] Move the binaries for autotests and manual tests into the .gitignore in that directory rather then all in one file at the top. --- .gitignore | 21 --------------------- autotests/addbookmarkdialog/.gitignore | 1 + autotests/autosaver/.gitignore | 1 + autotests/downloadmanager/.gitignore | 1 + autotests/edittreeview/.gitignore | 1 + autotests/history/.gitignore | 1 + autotests/historyfiltermodel/.gitignore | 1 + autotests/lineedit/.gitignore | 1 + autotests/searchlineedit/.gitignore | 1 + autotests/tabbar/.gitignore | 1 + autotests/tabwidget/.gitignore | 1 + autotests/webactionmapper/.gitignore | 1 + autotests/xbel/.gitignore | 1 + manualtests/bookmarks/.gitignore | 1 + manualtests/downloadmanager/.gitignore | 1 + manualtests/history/.gitignore | 1 + manualtests/lineedit/.gitignore | 1 + manualtests/searchlineedit/.gitignore | 1 + manualtests/squeezelabel/.gitignore | 1 + manualtests/webviewsearch/.gitignore | 1 + 20 files changed, 19 insertions(+), 21 deletions(-) create mode 100644 autotests/addbookmarkdialog/.gitignore create mode 100644 autotests/autosaver/.gitignore create mode 100644 autotests/downloadmanager/.gitignore create mode 100644 autotests/edittreeview/.gitignore create mode 100644 autotests/history/.gitignore create mode 100644 autotests/historyfiltermodel/.gitignore create mode 100644 autotests/lineedit/.gitignore create mode 100644 autotests/searchlineedit/.gitignore create mode 100644 autotests/tabbar/.gitignore create mode 100644 autotests/tabwidget/.gitignore create mode 100644 autotests/webactionmapper/.gitignore create mode 100644 autotests/xbel/.gitignore create mode 100644 manualtests/bookmarks/.gitignore create mode 100644 manualtests/downloadmanager/.gitignore create mode 100644 manualtests/history/.gitignore create mode 100644 manualtests/lineedit/.gitignore create mode 100644 manualtests/searchlineedit/.gitignore create mode 100644 manualtests/squeezelabel/.gitignore create mode 100644 manualtests/webviewsearch/.gitignore diff --git a/.gitignore b/.gitignore index 9602e36c..b101154a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,24 +10,3 @@ Makefile .gdb_history *.swp -autotests/addbookmarkdialog/addbookmarkdialog -autotests/autosaver/autosaver -autotests/downloadmanager/downloadmanager -autotests/edittreeview/edittreeview -autotests/history/history -autotests/historyfiltermodel/historyfiltermodel -autotests/lineedit/lineedit -autotests/searchlineedit/searchlineedit -autotests/tabbar/tabbar -autotests/tabwidget/tabwidget -autotests/webactionmapper/webactionmapper -autotests/xbel/xbel - -manualtests/bookmarks/bookmarks -manualtests/downloadmanager/downloadmanager -manualtests/history/history -manualtests/lineedit/lineedit -manualtests/searchlineedit/searchlineedit -manualtests/squeezelabel/squeezelabel -manualtests/webviewsearch/webviewsearch - diff --git a/autotests/addbookmarkdialog/.gitignore b/autotests/addbookmarkdialog/.gitignore new file mode 100644 index 00000000..71c2b861 --- /dev/null +++ b/autotests/addbookmarkdialog/.gitignore @@ -0,0 +1 @@ +addbookmarkdialog diff --git a/autotests/autosaver/.gitignore b/autotests/autosaver/.gitignore new file mode 100644 index 00000000..c52085ad --- /dev/null +++ b/autotests/autosaver/.gitignore @@ -0,0 +1 @@ +autosaver diff --git a/autotests/downloadmanager/.gitignore b/autotests/downloadmanager/.gitignore new file mode 100644 index 00000000..45b3fddc --- /dev/null +++ b/autotests/downloadmanager/.gitignore @@ -0,0 +1 @@ +downloadmanager diff --git a/autotests/edittreeview/.gitignore b/autotests/edittreeview/.gitignore new file mode 100644 index 00000000..e4d4bcef --- /dev/null +++ b/autotests/edittreeview/.gitignore @@ -0,0 +1 @@ +edittreeview diff --git a/autotests/history/.gitignore b/autotests/history/.gitignore new file mode 100644 index 00000000..c375d5ba --- /dev/null +++ b/autotests/history/.gitignore @@ -0,0 +1 @@ +history diff --git a/autotests/historyfiltermodel/.gitignore b/autotests/historyfiltermodel/.gitignore new file mode 100644 index 00000000..338a751c --- /dev/null +++ b/autotests/historyfiltermodel/.gitignore @@ -0,0 +1 @@ +historyfiltermodel diff --git a/autotests/lineedit/.gitignore b/autotests/lineedit/.gitignore new file mode 100644 index 00000000..19f5a9a7 --- /dev/null +++ b/autotests/lineedit/.gitignore @@ -0,0 +1 @@ +lineedit diff --git a/autotests/searchlineedit/.gitignore b/autotests/searchlineedit/.gitignore new file mode 100644 index 00000000..1713e66b --- /dev/null +++ b/autotests/searchlineedit/.gitignore @@ -0,0 +1 @@ +searchlineedit diff --git a/autotests/tabbar/.gitignore b/autotests/tabbar/.gitignore new file mode 100644 index 00000000..79360f37 --- /dev/null +++ b/autotests/tabbar/.gitignore @@ -0,0 +1 @@ +tabbar diff --git a/autotests/tabwidget/.gitignore b/autotests/tabwidget/.gitignore new file mode 100644 index 00000000..832b6d8b --- /dev/null +++ b/autotests/tabwidget/.gitignore @@ -0,0 +1 @@ +tabwidget diff --git a/autotests/webactionmapper/.gitignore b/autotests/webactionmapper/.gitignore new file mode 100644 index 00000000..a1908626 --- /dev/null +++ b/autotests/webactionmapper/.gitignore @@ -0,0 +1 @@ +webactionmapper diff --git a/autotests/xbel/.gitignore b/autotests/xbel/.gitignore new file mode 100644 index 00000000..aab0929b --- /dev/null +++ b/autotests/xbel/.gitignore @@ -0,0 +1 @@ +xbel diff --git a/manualtests/bookmarks/.gitignore b/manualtests/bookmarks/.gitignore new file mode 100644 index 00000000..7e1f6a71 --- /dev/null +++ b/manualtests/bookmarks/.gitignore @@ -0,0 +1 @@ +bookmarks diff --git a/manualtests/downloadmanager/.gitignore b/manualtests/downloadmanager/.gitignore new file mode 100644 index 00000000..45b3fddc --- /dev/null +++ b/manualtests/downloadmanager/.gitignore @@ -0,0 +1 @@ +downloadmanager diff --git a/manualtests/history/.gitignore b/manualtests/history/.gitignore new file mode 100644 index 00000000..c375d5ba --- /dev/null +++ b/manualtests/history/.gitignore @@ -0,0 +1 @@ +history diff --git a/manualtests/lineedit/.gitignore b/manualtests/lineedit/.gitignore new file mode 100644 index 00000000..19f5a9a7 --- /dev/null +++ b/manualtests/lineedit/.gitignore @@ -0,0 +1 @@ +lineedit diff --git a/manualtests/searchlineedit/.gitignore b/manualtests/searchlineedit/.gitignore new file mode 100644 index 00000000..1713e66b --- /dev/null +++ b/manualtests/searchlineedit/.gitignore @@ -0,0 +1 @@ +searchlineedit diff --git a/manualtests/squeezelabel/.gitignore b/manualtests/squeezelabel/.gitignore new file mode 100644 index 00000000..f6332511 --- /dev/null +++ b/manualtests/squeezelabel/.gitignore @@ -0,0 +1 @@ +squeezelabel diff --git a/manualtests/webviewsearch/.gitignore b/manualtests/webviewsearch/.gitignore new file mode 100644 index 00000000..00a73b0f --- /dev/null +++ b/manualtests/webviewsearch/.gitignore @@ -0,0 +1 @@ +webviewsearch From 702326471dfd53f336e812638d7c31b52b206fd8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 14 Aug 2008 19:28:46 +0200 Subject: [PATCH 0159/1254] When the history is cleared also clear the recently closed tabs list Issue: 150 --- src/history.cpp | 3 ++- src/history.h | 1 + src/tabwidget.cpp | 10 ++++++++++ src/tabwidget.h | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/history.cpp b/src/history.cpp index 6f424dcb..825e3c02 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -246,7 +246,8 @@ void HistoryManager::clear() m_lastSavedUrl = QString(); m_saveTimer->changeOccurred(); m_saveTimer->saveIfNeccessary(); - historyReset(); + emit historyReset(); + emit historyCleared(); } void HistoryManager::loadSettings() diff --git a/src/history.h b/src/history.h index 5fd60238..74f4ca1f 100644 --- a/src/history.h +++ b/src/history.h @@ -106,6 +106,7 @@ class HistoryManager : public QWebHistoryInterface Q_PROPERTY(int historyLimit READ historyLimit WRITE setHistoryLimit) signals: + void historyCleared(); void historyReset(); void entryAdded(const HistoryItem &item); void entryRemoved(const HistoryItem &item); diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index c8520d68..2f7920f0 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -189,12 +189,22 @@ TabWidget::TabWidget(QWidget *parent) this, SLOT(currentChanged(int))); m_lineEdits = new QStackedWidget(this); + + connect(BrowserApplication::historyManager(), SIGNAL(historyCleared()), + this, SLOT(historyCleared())); +} + +void TabWidget::historyCleared() +{ + m_recentlyClosedTabs.clear(); + m_recentlyClosedTabsAction->setEnabled(false); } void TabWidget::clear() { // clear the recently closed tabs m_recentlyClosedTabs.clear(); + m_recentlyClosedTabsAction->setEnabled(false); // clear the line edit history for (int i = 0; i < m_lineEdits->count(); ++i) { QLineEdit *qLineEdit = lineEdit(i); diff --git a/src/tabwidget.h b/src/tabwidget.h index b986792b..0458469c 100644 --- a/src/tabwidget.h +++ b/src/tabwidget.h @@ -175,6 +175,7 @@ private slots: void menuBarVisibilityChangeRequestedCheck(bool visible); void statusBarVisibilityChangeRequestedCheck(bool visible); void toolBarVisibilityChangeRequestedCheck(bool visible); + void historyCleared(); private: QLabel *animationLabel(int index, bool addMovie); From 825a53395c3677187e96ae4fc1d9a6f2b489a3cf Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 14 Aug 2008 19:32:53 +0200 Subject: [PATCH 0160/1254] Remove invalid translation. --- src/locale/zh_CN.ts | 1778 ------------------------------------------- src/src.pro | 3 +- 2 files changed, 1 insertion(+), 1780 deletions(-) delete mode 100644 src/locale/zh_CN.ts diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts deleted file mode 100644 index 1f020e2e..00000000 --- a/src/locale/zh_CN.ts +++ /dev/null @@ -1,1778 +0,0 @@ - - - - AboutDialog - - - About - 锟斤拷锟斤拷 - - - - Authors - - - - - License - - - - - Lightweight WebKit-based web browser - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - - - - <a href="http://arora-browser.org">http://arora-browser.org</a> - - - - - Close - - - - - AddBookmarkDialog - - - Add Bookmark - 锟斤拷锟斤拷锟斤拷签 - - - - Type a name for the bookmark, and choose where to keep -it. - 锟斤拷为锟斤拷锟斤拷签锟斤拷锟斤拷锟斤拷锟狡o拷然锟斤拷选锟斤拷位锟矫憋拷锟芥。 - - - - Type a name for the bookmark, and choose where to keep it. - - - - - BookmarksDialog - - - Open - 锟斤拷锟斤拷 - - - - Delete - 删锟斤拷 - - - - New Folder - 锟铰斤拷锟侥硷拷锟斤拷 - - - - Bookmarks - 锟斤拷签 - - - - &Remove - 锟狡筹拷(&R) - - - - Add Folder - 锟斤拷锟斤拷锟侥硷拷锟斤拷 - - - - Open in New Tab - 锟斤拷锟铰憋拷签锟叫达拷锟斤拷 - - - - BookmarksManager - - - Error when loading bookmarks on line %1, column %2: -%3 - 锟节达拷锟斤拷锟斤拷签锟侥碉拷 %1 锟叫猴拷 %2 锟斤拷时锟斤拷锟斤拷 - - - - Toolbar Bookmarks - 锟斤拷锟斤拷锟斤拷锟角 - - - - Menu - 锟剿碉拷 - - - - Open File - 锟斤拷锟斤拷锟侥硷拷 - - - - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) - - - - Imported %1 - 锟斤拷锟斤拷锟斤拷 %1 - - - - Save File - 锟斤拷锟斤拷锟侥硷拷 - - - - %1 Bookmarks.xbel - %1 Bookmarks.xbel - - - - Export error - 锟斤拷锟斤拷锟斤拷锟斤拷 - - - - error saving bookmarks - 锟斤拷锟斤拷锟斤拷签时锟斤拷锟斤拷 - - - - Remove Bookmark - 锟狡筹拷锟斤拷签 - - - - Insert Bookmark - 锟斤拷锟斤拷锟斤拷签 - - - - Name Change - 锟斤拷锟斤拷锟斤拷锟斤拷 - - - - Address Change - 锟斤拷锟侥碉拷址 - - - - BookmarksModel - - - Title - 锟斤拷锟斤拷 - - - - Address - 锟斤拷址 - - - - BookmarksToolBar - - - Bookmark - 锟斤拷签 - - - - BrowserApplication - - - There are %1 windows and %2 tabs open -Do you want to quit anyway? - 锟斤拷前锟斤拷 %1 锟斤拷诤锟 %2 -锟斤拷锟斤拷签锟津开o拷锟斤拷锟斤拷锟斤拷要锟剿筹拷锟斤拷锟斤拷 - - - - Restore failed - - - - - The saved session will not being restored because last time it was restored Arora crashed. - - - - - BrowserMainWindow - - - &File - 锟侥硷拷(&F) - - - - &New Window - 锟铰斤拷锟斤拷锟斤拷(&N) - - - - &Open File... - 锟斤拷锟斤拷锟侥硷拷(&O)... - - - - Open &Location... - 锟斤拷锟斤拷位锟斤拷(&L)... - - - - &Save As... - 锟斤拷锟斤拷为(&S)... - - - - &Import Bookmarks... - 锟斤拷锟斤拷锟斤拷签(&I)... - - - - &Export Bookmarks... - 锟斤拷锟斤拷锟斤拷签(&E)... - - - - P&rint Preview... - 锟斤拷印预锟斤拷(&r)... - - - - &Print... - 锟斤拷印(&P)... - - - - Private &Browsing... - 锟斤拷锟斤拷锟斤拷锟斤拷(&B)... - - - - &Quit - 锟剿筹拷(&Q) - - - - &Edit - 锟洁辑(&E) - - - - &Undo - 锟斤拷锟斤拷(&U) - - - - &Redo - 锟斤拷锟斤拷(&R) - - - - Cu&t - 锟斤拷锟斤拷(&t) - - - - &Copy - 锟斤拷锟斤拷(&C) - - - - &Paste - 粘锟斤拷(&P) - - - - &Find - 锟斤拷锟斤拷(&F) - - - - &Find Next - 锟斤拷锟斤拷锟斤拷一锟斤拷(&F) - - - - &Find Previous - 锟斤拷锟斤拷前一锟斤拷(&F) - - - - &Preferences - 选锟斤拷(&P) - - - - Ctrl+, - Ctrl+, - - - - &View - 锟斤拷图(&V) - - - - Shift+Ctrl+B - Shift+Ctrl+B - - - - Ctrl+| - Ctrl+| - - - - Ctrl+/ - Ctrl+/ - - - - &Stop - 停止(&S) - - - - Reload Page - 刷锟斤拷页锟斤拷 - - - - &Make Text Bigger - 锟斤拷锟斤拷锟斤拷锟斤拷(&M) - - - - &Make Text Normal - 锟街革拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷小(&M) - - - - &Make Text Smaller - 锟斤拷小锟斤拷锟斤拷(&M) - - - - Page S&ource - 页锟斤拷源锟侥硷拷(&o) - - - - Ctrl+Alt+U - Ctrl+Alt+U - - - - &Full Screen - 全锟斤拷(&F) - - - - Hi&story - 锟斤拷史(&s) - - - - Back - 锟斤拷锟斤拷 - - - - Forward - 前锟斤拷 - - - - Home - 锟斤拷页 - - - - Restore Last Session - 锟街革拷锟斤拷锟斤拷一锟轿的会话 - - - - &Bookmarks - 锟斤拷签(&B) - - - - Manage Bookmarks... - 锟斤拷锟斤拷锟斤拷签... - - - - Add Bookmark... - 锟斤拷锟斤拷锟斤拷签... - - - - &Window - 锟斤拷锟斤拷(&W) - - - - &Tools - 锟斤拷锟斤拷(&T) - - - - Web &Search - Web锟斤拷锟斤拷(&S) - - - - Ctrl+K - Web Search - Ctrl+K - - - - Enable Web &Inspector - Enable Web &Inspector - - - - &Help - 锟斤拷锟斤拷(&H) - - - - About &Qt - 锟斤拷锟斤拷Qt(&Q) - - - - About &Arora - 锟斤拷锟斤拷Arora(&A) - - - - Navigation - 锟斤拷锟斤拷 - - - - Show Status Bar - 锟斤拷示状态锟 - - - - Hide Status Bar - 锟斤拷锟斤拷状态锟 - - - - Show Toolbar - 锟斤拷示锟斤拷锟斤拷锟 - - - - Hide Toolbar - 锟斤拷锟截癸拷锟斤拷锟 - - - - Show Bookmarks bar - 锟斤拷示锟斤拷签锟 - - - - Hide Bookmarks bar - 锟斤拷锟斤拷锟斤拷签锟 - - - - Arora - Arora - - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - - About - 锟斤拷锟斤拷 - - - - Version %1<p>This demo demonstrates Qt's webkit -facilities in action, providing an example browser for you to experiment -with.<p><p>QtWebKit is based on the Open Source WebKit Project -developed at <a -href="http://webkit.org/">http://webkit.org/</a>. - Version %1<p>This demo demonstrates Qt's webkit -facilities in action, providing an example browser for you to experiment -with.<p><p>QtWebKit is based on the Open Source WebKit Project -developed at <a -href="http://webkit.org/">http://webkit.org/</a>. - - - - Open Web Resource - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷源 - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files -(*.*) - 锟斤拷锟斤拷锟斤拷源 (*.html *.htm *.svg *.png *.gif *.svgz);;锟斤拷锟叫碉拷锟侥硷拷 -(*.*) - - - - Print Document - 锟斤拷印锟侥碉拷 - - - - Are you sure you want to turn on private browsing? - 锟斤拷确锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - - - - <b>%1</b><br><br>When private browsing in -turned on, webpages are not added to the history, items are automatically removed -from the Downloads window, new cookies are not stored, current cookies can't -be accessed, site icons wont be stored, session wont be saved, and searches are -not addded to the pop-up menu in the Google search box. Until you close the -window, you can still click the Back and Forward buttons to return to the webpages -you have opened. - <b>%1</b><br><br>锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟揭筹拷娌伙拷岜伙拷锟斤拷拥锟斤拷锟绞凤拷校锟斤拷锟斤拷氐锟斤拷锟斤拷莼岜伙拷远锟斤拷锟斤拷锟斤拷卮锟斤拷锟斤拷锟斤拷瞥锟斤拷锟斤拷碌锟絚ookie也锟斤拷锟结被锟斤拷锟芥,锟斤拷前锟斤拷cookie也锟斤拷锟杰憋拷锟斤拷锟绞o拷站锟斤拷图锟疥不锟结被锟斤拷锟芥,锟结话也锟斤拷锟斤拷锟斤拷锟斤拷锟芥,锟斤拷锟斤拷也锟斤拷锟斤拷锟斤拷锟接碉拷Google锟斤拷锟斤拷锟斤拷锟侥碉拷锟斤拷锟剿碉拷锟叫★拷锟斤拷锟斤拷锟截闭达拷锟斤拷前锟斤拷锟斤拷锟斤拷然锟斤拷锟斤拷使锟斤拷前锟斤拷锟酵猴拷锟剿帮拷钮锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷蚩锟揭筹拷妗 - - - - Are you sure you want to close the window? There are %1 tab -open - 锟斤拷确锟斤拷要锟截闭达拷锟斤拷锟斤拷锟斤拷 锟斤拷前锟窖撅拷锟斤拷锟斤拷锟斤拷 %1 锟斤拷锟斤拷签锟斤拷 - - - - Page Source of %1 - 页锟斤拷 %1 锟斤拷源锟斤拷 - - - - Web Inspector - Web Inspector - - - - The web inspector will only work correctly for pages that were -loaded after enabling. -Do you want to reload all pages? - Web -inspactor只锟斤拷锟斤拷锟矫猴拷锟津开碉拷页锟斤拷锟斤拷效锟斤拷锟斤拷锟角凤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷页锟芥? - - - - Stop loading the current page - 停止锟斤拷锟诫当前页锟斤拷 - - - - Reload the current page - 锟斤拷锟斤拷锟斤拷锟诫当前页锟斤拷 - - - - Downloads - 锟斤拷锟斤拷 - - - - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L - - - - &Clear Private Data - 锟斤拷锟斤拷锟斤拷私锟斤拷锟斤拷(&C) - - - - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete - - - - <b>%1</b><br><br>When private browsing is -turned on, some actions concerning your privacy will be -disabled:<ul><li> Webpages are not added to the -history.</li><li> Items are automatically removed from the Downloads -window.</li><li> New cookies are not stored, current cookies -can't be accessed.</li><li> Site icons won't be stored, -session won't be saved.</li><li> Searches are not addded to the -pop-up menu in the search box.</li></ul>Until you close the window, -you can still click the Back and Forward buttonsto return to the webpages you have -opened. - <b>%1</b><br><br>锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟芥及锟斤拷锟斤拷锟斤拷锟斤拷私锟侥诧拷锟斤拷锟角憋拷锟斤拷止锟侥o拷<ul><li> -页锟芥不锟结被锟斤拷锟接碉拷锟斤拷史锟叫★拷</li><li>锟斤拷锟捷会被锟皆讹拷锟斤拷锟斤拷锟截达拷锟斤拷锟斤拷锟狡筹拷锟斤拷</li><li>锟铰碉拷cookie锟斤拷锟杰憋拷锟斤拷锟芥,锟斤拷前cookie锟斤拷锟杰凤拷锟绞★拷</li><li>站锟斤拷图锟疥不锟斤拷锟斤拷锟芥。</li><li>锟斤拷锟斤拷锟斤拷锟侥关硷拷锟绞诧拷锟结被锟斤拷锟接碉拷锟斤拷锟斤拷锟斤拷锟侥碉拷锟斤拷锟剿碉拷锟斤拷</li></ul>锟节关闭达拷锟斤拷前锟斤拷锟斤拷锟斤拷然锟斤拷锟斤拷通锟斤拷前锟斤拷锟酵猴拷锟剿帮拷钮锟斤拷锟绞打开碉拷页锟芥。 - - - - Find &Next - - - - - Find P&revious - - - - - Prefe&rences - - - - - &Reload Page - - - - - Make Text &Bigger - - - - - Make Text &Normal - - - - - Make Text &Smaller - - - - - Show Bookmarks Bar - - - - - Hide Bookmarks Bar - - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - - - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - - - - - Are you sure you want to close the window? There are %1 tabs open - - - - - The web inspector will only work correctly for pages that were loaded after enabling. -Do you want to reload all pages? - - - - - ClearButton - - - Clear - 锟斤拷锟斤拷 - - - - ClearPrivateData - - - Clear Private Data - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息 - - - - Clear the following items: - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟捷o拷 - - - - &Browsing History - 锟斤拷锟斤拷锟斤拷史(B) - - - - &Download History - 锟斤拷锟斤拷锟斤拷史(&D) - - - - &Search History - 锟斤拷锟斤拷锟斤拷史(&S) - - - - &Cookies - &Cookies - - - - C&ache - 锟斤拷锟斤拷(&a) - - - - Website &Icons - 站锟斤拷图锟斤拷(&I) - - - - Clear &Private Data - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷(&P) - - - - &Cancel - 取锟斤拷(&C) - - - - CookieExceptionsModel - - - Website - 站锟斤拷 - - - - Status - 状态 - - - - Allow - 锟斤拷锟斤拷 - - - - Block - 锟杰撅拷 - - - - Allow For Session - 锟皆此会话锟斤拷锟斤拷 - - - - CookieModel - - - Website - 站锟斤拷 - - - - Name - 锟斤拷锟斤拷 - - - - Path - 路锟斤拷 - - - - Secure - 锟斤拷全 - - - - Expires - 锟斤拷锟斤拷 - - - - Contents - 锟斤拷锟斤拷 - - - - CookiesDialog - - - Cookies - Cookies - - - - &Remove - 锟狡筹拷(&R) - - - - Remove &All Cookies - 锟狡筹拷锟斤拷锟叫碉拷Cookie(&A) - - - - CookiesExceptionsDialog - - - Cookie Exceptions - 锟斤拷锟斤拷锟斤拷Cookie - - - - New Exception - 锟铰斤拷锟斤拷锟斤拷 - - - - Domain: - 锟斤拷锟斤拷 - - - - Block - 锟杰撅拷 - - - - Allow For Session - 锟斤拷锟斤拷锟叫的会话锟斤拷锟斤拷 - - - - Allow - 锟斤拷锟斤拷 - - - - Exceptions - 锟斤拷锟斤拷 - - - - &Remove - 锟狡筹拷(&R) - - - - Remove &All - 锟狡筹拷锟斤拷锟斤拷(&A) - - - - DownloadDialog - - - Downloads - 锟斤拷锟斤拷 - - - - Clean up - 锟斤拷锟斤拷 - - - - 0 Items - 0 锟斤拷锟斤拷锟斤拷 - - - - DownloadItem - - - Form - - - - - Ico - Ico - - - - Filename - 锟侥硷拷锟斤拷 - - - - Try Again - 锟斤拷锟斤拷 - - - - Stop - 停止 - - - - Open - 锟斤拷锟斤拷 - - - - Save File - 锟斤拷锟斤拷锟侥硷拷 - - - - Download canceled: %1 - 取锟斤拷锟斤拷锟截o拷 %1 - - - - Error opening save file: %1 - 锟斤拷锟斤拷锟窖达拷锟侥硷拷锟斤拷锟斤拷锟斤拷 %1 - - - - Error saving: %1 - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 %1 - - - - Network Error: %1 - 锟斤拷锟斤拷锟斤拷锟斤拷: %1 - - - - seconds - 锟斤拷 - - - - minutes - 锟斤拷锟斤拷 - - - - - %4 %5 remaining - - %4 %5 剩锟斤拷 - - - - %1 of %2 (%3/sec) %4 - %1 z %2 (%3/s) %4 - - - - ? - 锟斤拷 - - - - %1 of %2 - Stopped - %1 z %2 - 停止 - - - - bytes - bytes - - - - kB - kB - - - - MB - MB - - - - - %n minutes remaining - - - - - - - - %n seconds remaining - - - - - - - DownloadManager - - - 1 Download - 1 锟斤拷锟斤拷锟斤拷 - - - - %1 Downloads - %1 锟斤拷锟斤拷锟斤拷 - - - - %n Download(s) - - - - - - - HistoryDialog - - - Open - 锟斤拷锟斤拷 - - - - Copy - 锟斤拷锟斤拷 - - - - Delete - 删锟斤拷 - - - - History - 锟斤拷史 - - - - &Remove - 锟狡筹拷(&R) - - - - Remove &All - 锟狡筹拷全锟斤拷(&A) - - - - HistoryMenu - - - Show All History - 锟斤拷示全锟斤拷锟斤拷史 - - - - Clear History - 锟斤拷锟斤拷锟斤拷史 - - - - HistoryModel - - - Title - 锟斤拷锟斤拷 - - - - Address - 锟斤拷址 - - - - HistoryTreeModel - - - Earlier Today - 锟斤拷锟斤拷锟斤拷些时锟斤拷 - - - - %1 items - %1 锟斤拷锟斤拷锟斤拷 - - - - %n item(s) - - - - - - - NetworkAccessManager - - - <qt>Enter username and password for "%1" at -%2</qt> - <qt>锟斤拷锟斤拷 "%1" 锟斤拷 %2 -锟斤拷锟矫伙拷锟斤拷锟斤拷锟斤拷锟斤拷</qt> - - - - <qt>Connect to proxy "%1" -using:</qt> - <qt>使锟斤拷锟斤拷锟铰凤拷式锟斤拷哟锟斤拷锟 -"%1"锟斤拷</qt> - - - - SSL Errors: - -%1 - -%2 - -Do you want to ignore these errors? - SSL锟斤拷锟斤拷: - -%1 - -%2 - -锟斤拷要锟斤拷锟斤拷锟斤拷些锟斤拷锟斤拷锟斤拷锟斤拷 - - - - Do you want to accept all these certificates? - 锟斤拷要锟斤拷锟斤拷全锟斤拷锟斤拷些锟斤拷证锟斤拷锟斤拷 - - - - <qt>Enter username and password for "%1" at %2</qt> - - - - - <qt>Connect to proxy "%1" using:</qt> - - - - - PasswordDialog - - - Authentication Required - 锟斤拷要锟斤拷证 - - - - DUMMY ICON - - - - - INTRO TEXT DUMMY - - - - - Username: - 锟矫伙拷锟斤拷锟斤拷 - - - - Password: - 锟斤拷锟诫: - - - - ProxyDialog - - - Proxy Authentication - 锟斤拷锟斤拷锟斤拷证 - - - - ICON - - - - - Connect to proxy - 锟斤拷拥锟斤拷锟斤拷锟 - - - - Username: - 锟矫伙拷锟斤拷锟斤拷 - - - - Password: - 锟斤拷锟诫: - - - - QObject - - - The file is not an XBEL version 1.0 file. - 锟斤拷锟侥硷拷锟斤拷XBEL 1.0锟芥。 - - - - Unknown title - 未知锟斤拷锟斤拷 - - - - SearchBanner - - - Form - - - - - TextLabel - 锟斤拷锟街憋拷签 - - - - < - - - - - > - - - - - Done - 锟斤拷锟斤拷 - - - - SearchLineEdit - - - Search - 锟斤拷锟斤拷 - - - - Settings - - - Settings - 锟借定 - - - - General - 通锟斤拷 - - - - Home: - 锟斤拷页锟斤拷 - - - - Set to current page - 使锟矫碉拷前页锟斤拷 - - - - Remove history items: - 锟狡筹拷锟斤拷史锟斤拷锟捷o拷 - - - - After one day - 一锟斤拷锟斤拷 - - - - After one week - 一锟杰猴拷 - - - - After two weeks - 锟斤拷芎锟 - - - - After one month - 一锟斤拷锟铰猴拷 - - - - After one year - 一锟斤拷锟斤拷 - - - - Manually - 锟街讹拷 - - - - Save downloads to: - 锟斤拷锟斤拷锟斤拷锟截碉拷锟斤拷 - - - - Open links from applications: - 锟节筹拷锟斤拷锟叫达拷锟斤拷锟斤拷樱锟 - - - - In a tab in the current window - 锟节碉拷前锟斤拷锟节的憋拷签锟斤拷 - - - - In a new window - 锟斤拷锟铰达拷锟斤拷锟斤拷 - - - - Appearance - 锟斤拷锟斤拷 - - - - Standard font: - 锟斤拷准锟斤拷锟藉: - - - - Times 16 - Times 16 - - - - Select... - 选锟斤拷... - - - - Fixed-width font: - 锟饺匡拷锟斤拷锟藉: - - - - Courier 13 - Courier 13 - - - - Privacy - 锟斤拷私 - - - - Web Content - Web锟斤拷锟斤拷 - - - - Enable Plugins - 锟斤拷锟矫诧拷锟斤拷 - - - - Enable Javascript - 锟斤拷锟斤拷JavaScript - - - - Cookies - Cookies - - - - Accept Cookies: - 锟斤拷锟斤拷cookies锟斤拷 - - - - Always - 锟斤拷远 - - - - Never - 锟斤拷锟 - - - - Only from sites you navigate to - 只锟斤拷锟斤拷些锟斤拷锟斤拷锟绞碉拷 - - - - Exceptions... - 锟斤拷锟斤拷... - - - - Keep until: - 锟斤拷锟芥到锟斤拷 - - - - They expire - 锟斤拷锟斤拷 - - - - I exit the application - 锟斤拷锟剿筹拷锟斤拷锟斤拷 - - - - At most 90 days - 锟斤拷锟斤拷90锟斤拷 - - - - Cookies... - Cookies... - - - - Proxy - 锟斤拷锟斤拷 - - - - Enable proxy - 锟斤拷锟矫达拷锟斤拷 - - - - Type: - 锟斤拷锟酵o拷 - - - - Socks5 - Socks5 - - - - Http - Http - - - - Host: - 锟斤拷锟斤拷锟斤拷 - - - - Port: - 锟剿口o拷 - - - - User Name: - 锟矫伙拷锟斤拷锟斤拷 - - - - Password: - 锟斤拷锟诫: - - - - Advanced - 锟竭硷拷 - - - - Style Sheet: - 锟斤拷式锟斤拷 - - - - Downloads - 锟斤拷锟斤拷 - - - - Ask for a destination each time - 每锟轿讹拷询锟斤拷目锟侥碉拷 - - - - Use this destination: - 使锟矫达拷目锟侥地o拷 - - - - On startup: - - - - - Show my home page - - - - - Show a blank page - - - - - Restore windows and tabs from last time - - - - - On application exit - - - - - Enable Images - - - - - Tabs - - - - - Select tabs and windows as they are created - - - - - Confirm when closing multiple tabs - - - - - TabBar - - - New &Tab - 锟铰斤拷锟斤拷签(&T) - - - - Duplicate Tab - 锟斤拷锟狡憋拷签 - - - - &Close Tab - 锟截闭憋拷签(&C) - - - - Close &Other Tabs - 锟截憋拷锟斤拷锟斤拷锟斤拷签(&O) - - - - Reload Tab - 锟斤拷锟截憋拷签 - - - - Reload All Tabs - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫憋拷签 - - - - Show Tab Bar - - - - - Hide Tab Bar - - - - - TabWidget - - - New &Tab - 锟铰斤拷锟斤拷签(&T) - - - - &Close Tab - 锟截闭憋拷签(&C) - - - - Show Next Tab - 锟斤拷示锟斤拷一锟斤拷锟斤拷签 - - - - Show Previous Tab - 锟斤拷示前一锟斤拷锟斤拷签 - - - - Recently Closed Tabs - 锟斤拷锟斤拷锟截闭的憋拷签 - - - - (Untitled) - 锟睫憋拷锟斤拷 - - - - Do you really want to close this page? - 锟斤拷确锟斤拷要锟截闭达拷页锟斤拷 - - - - You have modified this page and when closing it you would lose the -modification. -Do you really want to close this page? - - 锟斤拷锟窖撅拷锟睫革拷锟斤拷页锟芥,锟截闭斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟睫改讹拷失锟斤拷锟斤拷确锟斤拷要锟截闭达拷页锟斤拷锟斤拷 - - - - - You have modified this page and when closing it you would lose the modification. -Do you really want to close this page? - - - - - - ToolbarSearch - - - Google - Google - - - - No Recent Searches - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - - - - Recent Searches - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - - - - Clear Recent Searches - 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 - - - - WebPage - - - Error loading page: %1 - 锟斤拷锟斤拷页锟芥: %1 锟斤拷锟斤拷锟斤拷锟斤拷 - - - - WebView - - - Open in New Tab - 锟斤拷锟铰憋拷签锟叫达拷锟斤拷 - - - - Open in New &Window - 锟斤拷锟铰达拷锟斤拷锟叫达拷锟斤拷(&W) - - - - Open in New &Tab - 锟斤拷锟铰憋拷签锟叫达拷锟斤拷(&T) - - - - Save Lin&k - 锟斤拷锟斤拷锟斤拷锟(&k) - - - - &Bookmark This Link - 锟斤拷锟接达拷锟斤拷拥锟斤拷锟角(&B) - - - - &Copy Link Location - 锟斤拷锟斤拷锟斤拷锟(&C) - - - - Open Image in New &Window - 锟斤拷锟铰达拷锟斤拷锟叫达拷锟斤拷图片(&W) - - - - Open Image in New &Tab - 锟斤拷锟铰憋拷签锟叫达拷锟斤拷图片(&T) - - - - &Save Image - 锟斤拷锟斤拷图片(&S) - - - - &Copy Image - 锟斤拷锟斤拷图片(&C) - - - - C&opy Image Location - 锟斤拷锟斤拷图片锟斤拷址(&o) - - - - Loading... - - - - - WebViewSearch - - - Not Found - 未锟斤拷锟斤拷 - - - diff --git a/src/src.pro b/src/src.pro index c6607ad7..b67c757a 100644 --- a/src/src.pro +++ b/src/src.pro @@ -33,8 +33,7 @@ TRANSLATIONS += \ locale/pt_BR.ts \ locale/ru.ts \ locale/tr.ts \ - locale/nl.ts \ - locale/zh_CN.ts + locale/nl.ts updateqm.input = TRANSLATIONS updateqm.output = .qm/locale/${QMAKE_FILE_BASE}.qm From d79340b572aa13691acc139f845de6c9f78896ff Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 14 Aug 2008 19:51:54 +0200 Subject: [PATCH 0161/1254] When the url is https it would be nice to have the location bar background be yellow. Issue 158 --- src/locationbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 84eeebbd..9cf81d64 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -147,7 +147,7 @@ void LocationBar::paintEvent(QPaintEvent *event) QPalette p = palette(); QColor backgroundColor = m_defaultBaseColor; if (m_webView && m_webView->url().scheme() == QLatin1String("https") - && p.brush(QPalette::Text) != Qt::black) { + && p.brush(QPalette::Text) == Qt::black) { QColor lightYellow(248, 248, 210); backgroundColor = lightYellow; } From 0ac72cb972e044fab46b6c5098141e5f3f40ca5b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 17 Aug 2008 17:21:44 +0200 Subject: [PATCH 0162/1254] Add simple chinese translation from Zhengpeng Hou --- src/locale/zh_CN.ts | 1564 +++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 3 +- 2 files changed, 1566 insertions(+), 1 deletion(-) create mode 100644 src/locale/zh_CN.ts diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts new file mode 100644 index 00000000..c00877aa --- /dev/null +++ b/src/locale/zh_CN.ts @@ -0,0 +1,1564 @@ + + + + + + AboutDialog + + + About + 关于 + + + + AddBookmarkDialog + + + Add Bookmark + 添加书签 + + + + Type a name for the bookmark, and choose where to keep +it. + 请为此书签输入名称,然后选择位置保存。 + + + + BookmarksDialog + + + Open + 打开 + + + + Delete + 删除 + + + + New Folder + 新建文件夹 + + + + Bookmarks + 书签 + + + + &Remove + 移除(&R) + + + + Add Folder + 添加文件夹 + + + + Open in New Tab + 在新标签中打开 + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + 在打开书签的第 %1 行和 %2 列时出错: + + + + Toolbar Bookmarks + 工具栏书签 + + + + Menu + 菜单 + + + + Open File + 打开文件 + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + 导入的 %1 + + + + Save File + 保存文件 + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + 导出错误 + + + + error saving bookmarks + 保存书签时出错 + + + + Remove Bookmark + 移除书签 + + + + Insert Bookmark + 插入书签 + + + + Name Change + 更改名称 + + + + Address Change + 更改地址 + + + + BookmarksModel + + + Title + 标题 + + + + Address + 地址 + + + + BookmarksToolBar + + + Bookmark + 书签 + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + 当前有 %1 个窗口和 %2 +个标签打开,您真的要退出吗? + + + + BrowserMainWindow + + + &File + 文件(&F) + + + + &New Window + 新建窗口(&N) + + + + &Open File... + 打开文件(&O)... + + + + Open &Location... + 打开位置(&L)... + + + + &Save As... + 另存为(&S)... + + + + &Import Bookmarks... + 导入书签(&I)... + + + + &Export Bookmarks... + 导出书签(&E)... + + + + P&rint Preview... + 打印预览(&r)... + + + + &Print... + 打印(&P)... + + + + Private &Browsing... + 秘密浏览(&B)... + + + + &Quit + 退出(&Q) + + + + &Edit + 编辑(&E) + + + + &Undo + 撤销(&U) + + + + &Redo + 重做(&R) + + + + Cu&t + 剪切(&t) + + + + &Copy + 复制(&C) + + + + &Paste + 粘贴(&P) + + + + &Find + 搜索(&F) + + + + &Find Next + 搜索下一个(&F) + + + + &Find Previous + 搜索前一个(&F) + + + + &Preferences + 选项(&P) + + + + Ctrl+, + Ctrl+, + + + + &View + 视图(&V) + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+| + Ctrl+| + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + 停止(&S) + + + + Reload Page + 刷新页面 + + + + &Make Text Bigger + 增大文字(&M) + + + + &Make Text Normal + 恢复文字正常大小(&M) + + + + &Make Text Smaller + 缩小文字(&M) + + + + Page S&ource + 页面源文件(&o) + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + 全屏(&F) + + + + Hi&story + 历史(&s) + + + + Back + 后退 + + + + Forward + 前进 + + + + Home + 主页 + + + + Restore Last Session + 恢复最后一次的会话 + + + + &Bookmarks + 书签(&B) + + + + Manage Bookmarks... + 管理书签... + + + + Add Bookmark... + 增加书签... + + + + &Window + 窗口(&W) + + + + &Tools + 工具(&T) + + + + Web &Search + Web搜索(&S) + + + + Ctrl+K + Web Search + Ctrl+K + + + + Enable Web &Inspector + Enable Web &Inspector + + + + &Help + 帮助(&H) + + + + About &Qt + 关于Qt(&Q) + + + + About &Arora + 关于Arora(&A) + + + + Navigation + 导航 + + + + Show Status Bar + 显示状态栏 + + + + Hide Status Bar + 隐藏状态栏 + + + + Show Toolbar + 显示工具栏 + + + + Hide Toolbar + 隐藏工具栏 + + + + Show Bookmarks bar + 显示书签栏 + + + + Hide Bookmarks bar + 隐藏书签栏 + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + About + 关于 + + + + Version %1<p>This demo demonstrates Qt's webkit +facilities in action, providing an example browser for you to experiment +with.<p><p>QtWebKit is based on the Open Source WebKit Project +developed at <a +href="http://webkit.org/">http://webkit.org/</a>. + Version %1<p>This demo demonstrates Qt's webkit +facilities in action, providing an example browser for you to experiment +with.<p><p>QtWebKit is based on the Open Source WebKit Project +developed at <a +href="http://webkit.org/">http://webkit.org/</a>. + + + + Open Web Resource + 开放网络资源 + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files +(*.*) + 网络资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有的文件 +(*.*) + + + + Print Document + 打印文档 + + + + Are you sure you want to turn on private browsing? + 您确定要打开秘密浏览吗? + + + + <b>%1</b><br><br>When private browsing in +turned on, webpages are not added to the history, items are automatically removed +from the Downloads window, new cookies are not stored, current cookies can't +be accessed, site icons wont be stored, session wont be saved, and searches are +not addded to the pop-up menu in the Google search box. Until you close the +window, you can still click the Back and Forward buttons to return to the webpages +you have opened. + <b>%1</b><br><br>打开秘密浏览时,浏览的页面不会被添加到历史中,下载的内容会被自动从下载窗口种移除,新的cookie也不会被保存,当前的cookie也不能被访问,站点图标不会被保存,会话也将不被保存,搜索也不会添加到Google搜索框的弹出菜单中。在你关闭窗口前,你仍然可以使用前进和后退按钮来访问你曾经打开的页面。 + + + + Are you sure you want to close the window? There are %1 tab +open + 您确定要关闭窗口吗? 当前已经打开了 %1 个标签。 + + + + Page Source of %1 + 页面 %1 的源码 + + + + Web Inspector + Web Inspector + + + + The web inspector will only work correctly for pages that were +loaded after enabling. +Do you want to reload all pages? + Web +inspactor只对启用后打开的页面有效。您是否要重新载入所有的页面? + + + + Stop loading the current page + 停止载入当前页面 + + + + Reload the current page + 重新载入当前页面 + + + + Downloads + 下载 + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + &Clear Private Data + 清除隐私数据(&C) + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + <b>%1</b><br><br>When private browsing is +turned on, some actions concerning your privacy will be +disabled:<ul><li> Webpages are not added to the +history.</li><li> Items are automatically removed from the Downloads +window.</li><li> New cookies are not stored, current cookies +can't be accessed.</li><li> Site icons won't be stored, +session won't be saved.</li><li> Searches are not addded to the +pop-up menu in the search box.</li></ul>Until you close the window, +you can still click the Back and Forward buttonsto return to the webpages you have +opened. + +<b>%1</b><br><br>当秘密浏览启用时,涉及您个人隐私的操作是被禁止的:<ul><li> +页面不会被添加到历史中。</li><li>内容会被自动从下载窗口中移除。</li><li>新的cookie不能被保存,当前cookie不能访问。</li><li>站点图标不被保存。</li><li>搜索过的关键词不会被添加到搜索框的弹出菜单中</li></ul>在关闭窗口前,您仍然可以通过前进和后退按钮访问打开的页面。 + + + + ClearButton + + + Clear + 清除 + + + + ClearPrivateData + + + Clear Private Data + 清楚个人信息 + + + + Clear the following items: + 清除以下内容: + + + + &Browsing History + 浏览历史(&amo;B) + + + + &Download History + 下载历史(&D) + + + + &Search History + 搜索历史(&S) + + + + &Cookies + &Cookies + + + + C&ache + 缓存(&a) + + + + Website &Icons + 站点图标(&I) + + + + Clear &Private Data + 清除个人数据(&P) + + + + &Cancel + 取消(&C) + + + + CookieExceptionsModel + + + Website + 站点 + + + + Status + 状态 + + + + Allow + 允许 + + + + Block + 拒绝 + + + + Allow For Session + 对此会话允许 + + + + CookieModel + + + Website + 站点 + + + + Name + 名称 + + + + Path + 路径 + + + + Secure + 安全 + + + + Expires + 过期 + + + + Contents + 内容 + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + 移除(&R) + + + + Remove &All Cookies + 移除所有的Cookie(&A) + + + + CookiesExceptionsDialog + + + Cookie Exceptions + 例外的Cookie + + + + New Exception + 新建例外 + + + + Domain: + 域: + + + + Block + 拒绝 + + + + Allow For Session + 对所有的会话允许 + + + + Allow + 允许 + + + + Exceptions + 例外 + + + + &Remove + 移除(&R) + + + + Remove &All + 移除所有(&A) + + + + DownloadDialog + + + Downloads + 下载 + + + + Clean up + 清除 + + + + 0 Items + 0 个内容 + + + + DownloadItem + + + Form + + + + + Ico + Ico + + + + Filename + 文件名 + + + + Try Again + 重试 + + + + Stop + 停止 + + + + Open + 打开 + + + + Save File + 保存文件 + + + + Download canceled: %1 + 取消下载: %1 + + + + Error opening save file: %1 + 打开已存文件错误: %1 + + + + Error saving: %1 + 保存错误: %1 + + + + Network Error: %1 + 网络错误: %1 + + + + seconds + + + + + minutes + 分钟 + + + + - %4 %5 remaining + - %4 %5 剩余 + + + + %1 of %2 (%3/sec) %4 + %1 z %2 (%3/s) %4 + + + + ? + + + + + %1 of %2 - Stopped + %1 z %2 - 停止 + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + 1 Download + 1 个下载 + + + + %1 Downloads + %1 个下载 + + + + HistoryDialog + + + Open + 打开 + + + + Copy + 复制 + + + + Delete + 删除 + + + + History + 历史 + + + + &Remove + 移除(&R) + + + + Remove &All + 移除全部(&A) + + + + HistoryMenu + + + Show All History + 显示全部历史 + + + + Clear History + 清除历史 + + + + HistoryModel + + + Title + 标题 + + + + Address + 地址 + + + + HistoryTreeModel + + + Earlier Today + 今天早些时候 + + + + %1 items + %1 条内容 + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at +%2</qt> + <qt>输入 "%1" 于 %2 +的用户名和密码</qt> + + + + <qt>Connect to proxy "%1" +using:</qt> + <qt>使用如下方式连接代理 +"%1":</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL错误: + +%1 + +%2 + +您要忽略这些错误吗? + + + + Do you want to accept all these certificates? + 您要接受全部这些认证吗? + + + + PasswordDialog + + + Authentication Required + 需要认证 + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + 用户名: + + + + Password: + 密码: + + + + ProxyDialog + + + Proxy Authentication + 代理认证 + + + + ICON + + + + + Connect to proxy + 连接到代理 + + + + Username: + 用户名: + + + + Password: + 密码: + + + + QObject + + + The file is not an XBEL version 1.0 file. + 此文件非XBEL 1.0版。 + + + + Unknown title + 未知标题 + + + + SearchBanner + + + Form + + + + + TextLabel + 文字标签 + + + + < + + + + + > + + + + + Done + 完成 + + + + SearchLineEdit + + + Search + 搜索 + + + + Settings + + + Settings + 设定 + + + + General + 通用 + + + + Home: + 主页: + + + + Set to current page + 使用当前页面 + + + + Remove history items: + 移除历史内容: + + + + After one day + 一天后 + + + + After one week + 一周后 + + + + After two weeks + 两周后 + + + + After one month + 一个月后 + + + + After one year + 一年后 + + + + Manually + 手动 + + + + Save downloads to: + 保存下载到: + + + + Open links from applications: + 在程序中打开链接: + + + + In a tab in the current window + 在当前窗口的标签中 + + + + In a new window + 在新窗口中 + + + + Appearance + 外观 + + + + Standard font: + 标准字体: + + + + Times 16 + Times 16 + + + + Select... + 选择... + + + + Fixed-width font: + 等宽字体: + + + + Courier 13 + Courier 13 + + + + Privacy + 隐私 + + + + Web Content + Web内容 + + + + Enable Plugins + 启用插件 + + + + Enable Javascript + 启用JavaScript + + + + Cookies + Cookies + + + + Accept Cookies: + 接受cookies: + + + + Always + 永远 + + + + Never + 永不 + + + + Only from sites you navigate to + 只从这些你访问的 + + + + Exceptions... + 例外... + + + + Keep until: + 保存到: + + + + They expire + 过期 + + + + I exit the application + 我退出程序 + + + + At most 90 days + 最多90天 + + + + Cookies... + Cookies... + + + + Proxy + 代理 + + + + Enable proxy + 启用代理 + + + + Type: + 类型: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + 主机: + + + + Port: + 端口: + + + + User Name: + 用户名: + + + + Password: + 密码: + + + + Advanced + 高级 + + + + Style Sheet: + 样式表: + + + + Downloads + 下载 + + + + Ask for a destination each time + 每次都询问目的地 + + + + Use this destination: + 使用此目的地: + + + + TabBar + + + New &Tab + 新建标签(&T) + + + + Duplicate Tab + 复制标签 + + + + &Close Tab + 关闭标签(&C) + + + + Close &Other Tabs + 关闭其它标签(&O) + + + + Reload Tab + 重载标签 + + + + Reload All Tabs + 重新载入所有标签 + + + + TabWidget + + + New &Tab + 新建标签(&T) + + + + &Close Tab + 关闭标签(&C) + + + + Show Next Tab + 显示下一个标签 + + + + Show Previous Tab + 显示前一个标签 + + + + Recently Closed Tabs + 最近关闭的标签 + + + + (Untitled) + 无标题 + + + + Do you really want to close this page? + 您确定要关闭此页? + + + + You have modified this page and when closing it you would lose the +modification. +Do you really want to close this page? + + +您已经修改了页面,关闭将导致您的修改丢失。您确定要关闭此页吗? + + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + 无最近的搜索 + + + + Recent Searches + 最近的搜索 + + + + Clear Recent Searches + 清除最近的搜索 + + + + WebPage + + + Error loading page: %1 + 载入页面: %1 发生错误 + + + + WebView + + + Open in New Tab + 在新标签中打开 + + + + Open in New &Window + 在新窗口中打开(&W) + + + + Open in New &Tab + 在新标签中打开(&T) + + + + Save Lin&k + 保存链接(&k) + + + + &Bookmark This Link + 添加此链接到书签(&B) + + + + &Copy Link Location + 复制链接(&C) + + + + Open Image in New &Window + 在新窗口中打开图片(&W) + + + + Open Image in New &Tab + 在新标签中打开图片(&T) + + + + &Save Image + 保存图片(&S) + + + + &Copy Image + 复制图片(&C) + + + + C&opy Image Location + 复制图片地址(&o) + + + + WebViewSearch + + + Not Found + 未发现 + + + + diff --git a/src/src.pro b/src/src.pro index b67c757a..c6607ad7 100644 --- a/src/src.pro +++ b/src/src.pro @@ -33,7 +33,8 @@ TRANSLATIONS += \ locale/pt_BR.ts \ locale/ru.ts \ locale/tr.ts \ - locale/nl.ts + locale/nl.ts \ + locale/zh_CN.ts updateqm.input = TRANSLATIONS updateqm.output = .qm/locale/${QMAKE_FILE_BASE}.qm From 2a2ef7838f82b780a9f9839262fdd2de0a8e1a0d Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Tue, 19 Aug 2008 00:26:26 +0300 Subject: [PATCH 0163/1254] Added translation for hebrew, as requested by issue 165: http://code.google.com/p/arora/issues/detail?id=165 --- src/locale/he.ts | 1644 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1645 insertions(+) create mode 100644 src/locale/he.ts diff --git a/src/locale/he.ts b/src/locale/he.ts new file mode 100644 index 00000000..e991ec6d --- /dev/null +++ b/src/locale/he.ts @@ -0,0 +1,1644 @@ + + + + + AboutDialog + + + About + 讗讜讚讜转 + + + + Authors + 讻讜转讘讬诐 + + + + License + 专讬砖讬讜谉 + + + + Lightweight WebKit-based web browser + 讚驻讚驻谉 专砖转 拽诇讬诇 诪讘讜住住 WebKit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body dir="RTL" style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">讻诇 讛讝讻讜讬讜转 砖诪讜专讜转 漏 2007-2008 Benjamin C. Meyer &lt;鈥<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + 住讙讜专 + + + + AddBookmarkDialog + + + Add Bookmark + 讛讜住祝 住讬诪谞讬转 + + + + Type a name for the bookmark, and choose where to keep it. + 讻转讜讘 砖诐 注讘讜专 讛住讬诪谞讬转 讜讘讞专 讛讬讻谉 诇砖诪讜专 讗讜转讛. + + + + BookmarksDialog + + + Open + 驻转讞 + + + + Open in New Tab + 驻转讞 讘讻专讟讬住讬讬讛 讞讚砖讛 + + + + Delete + 诪讞拽 + + + + New Folder + 转讬拽讬讬讛 讞讚砖讛 + + + + Bookmarks + 住讬诪谞讬讜转 + + + + &Remove + 讛&住专 + + + + Add Folder + 讛讜住祝 转讬拽讬讬讛 + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + 讗专注讛 砖讙讬讗讛 讘注转 讟注讬谞讛 砖诇 住讬诪谞讬讜转 讘砖讜专讛 %1, 注诪讜讚讛 %2: +%3 + + + + Toolbar Bookmarks + 住专讙诇 讻诇讬诐 砖诇 住讬诪谞讬讜转 + + + + Menu + 转驻专讬讟 + + + + Open File + 驻转讞 拽讜讘抓 + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + 讛讬讬讘讜讗 砖诇 %1 讛住转讬讬诐 + + + + Save File + 砖诪讜专 拽讜讘抓 + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + 砖讙讬讗转 讬讬爪讜讗 + + + + error saving bookmarks + 讗专注讛 砖讙讬讗讛 讘注转 讬爪讜讗 讛住讬诪谞讬讜转 + + + + Remove Bookmark + 讛住专 住讬诪谞讬讬讛 + + + + Insert Bookmark + 讬讬讘讜讗 砖诇 住讬诪谞讬讜转 + + + + Name Change + 砖谞讛 砖诐 + + + + Address Change + 砖谞讛 讻转讜讘转 + + + + BookmarksModel + + + Title + 讻讜转专转 + + + + Address + 讻转讜讘转 + + + + BookmarksToolBar + + + Bookmark + 住讬诪谞讬讜转 + + + + BrowserApplication + + + (Change: %1 %2) + (砖讬谞讜讬 %1 %2) + + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + 讬砖谞诐 %1 讞诇讜谞讜转 讜志%2 讻专讟讬住讬讜转 驻转讜讞讜转. +讛讗诐 诇爪讗转 讘讻诇 讝讗转? + + + + Restore failed + 讛砖讞讝专讜专 谞讻砖诇 + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + 讗讬谉 讗驻砖专讜转 诇砖讞讝专 讗转 讛讛驻注诇讛 讛砖诪讜专讛 讻讬讜讜谉 砖志Arora 拽专住 讘讝诪谉 讛砖讬讞讝讜专 砖诇 讛讛驻注诇讛. + + + + BrowserMainWindow + + + &File + &拽讜讘抓 + + + + &New Window + &讞诇讜谉 讞讚砖 + + + + &Open File... + &驻转讞 拽讜讘抓... + + + + Open &Location... + &驻转讞 诪讬拽讜诐... + + + + &Save As... + 砖诪讜专 &讘砖诐... + + + + &Import Bookmarks... + 讬讬&讘讗 住讬诪谞讬讜转... + + + + &Export Bookmarks... + 讬讬&爪讗 住讬诪谞讬讜转... + + + + P&rint Preview... + 转&爪讜讙转 讛讚驻住讛... + + + + &Print... + &讛讚驻住... + + + + Private &Browsing... + &讙诇讬砖讛 诪讗讜讘讟讞转... + + + + &Quit + &讬爪讬讗讛 + + + + &Edit + 注&专讬讻讛 + + + + &Undo + &讘讟诇 + + + + &Redo + &砖讞讝专 + + + + Cu&t + &讙讝讜专 + + + + &Copy + &讛注转拽 + + + + &Paste + &讛讚讘拽 + + + + &Find + &讞驻砖 + + + + Find Nex&t + 讞驻砖 讛&讘讗 + + + + Find P&revious + 讞驻砖 &拽讜讚诐 + + + + Prefere&nces... + &讛讙讚专讜转... + + + + Ctrl+, + Ctrl+, 鈥 + + + + &View + &转爪讜讙讛 + + + + Show Menu Bar + 讛爪讙 转驻专讬讟 + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &注爪讜专 + + + + &Reload Page + &专注谞谉 注诪讜讚 + + + + Make Text &Bigger + &讛讙讚诇 讙讜驻谉 + + + + Make Text &Normal + 讙讜驻谉 &专讙讬诇 + + + + Make Text &Smaller + 讛&拽讟谉 讙讜驻谉 + + + + Page S&ource + &讛爪讙 诪拽讜专 讛诪住诪讱 + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + &诪住讱 诪诇讗 + + + + Hi&story + &讛讬住讟讜专讬讛 + + + + Back + 讞讝讜专 + + + + Forward + 讛讘讗 + + + + Home + 注诪讜讚 讛讘讬转 + + + + Restore Last Session + 砖讞讝专 讛驻注诇讛 拽讜讚诪转 + + + + &Bookmarks + &住讬诪谞讬讜转 + + + + Manage Bookmarks... + 谞讬讛讜诇 住讬诪谞讬讜转... + + + + Add Bookmark... + 讛讜住祝 住讬诪谞讬讬讛... + + + + &Window + &讞诇讜谉 + + + + &Tools + &讻诇讬诐 + + + + Web &Search + 讞讬驻讜砖 &讘专砖转 + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + &诪讞拽 诪讬讚注 讗讬砖讬 + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + &讗驻砖专 住讜专拽 专砖转 + + + + &Help + &注讝专讛 + + + + About &Qt + &讗讜讚讜转 Qt + + + + About &Arora + 讗&讜讚讜转 Arora + + + + Navigation + 谞讬讜讜讟 + + + + Show Status Bar + 讛爪讙 砖讜专转 诪爪讘 + + + + Hide Status Bar + 讛住转专 砖讜专转 诪爪讘 + + + + Show Toolbar + 讛爪讙 住专讙诇 讻诇讬诐 + + + + Hide Toolbar + 讛住转专 住专讙诇 讻诇讬诐 + + + + Show Bookmarks Bar + 讛爪讙 住专讙诇 住讬诪谞讬讜转 + + + + Hide Bookmarks Bar + 讛住转专 住专讙诇 住讬诪谞讬讜转 + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + 鈥廇rora鈥 - %1 + + + + Open Web Resource + 驻转讞 诪砖讗讘 专砖转 + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + 诪砖讗讘 专砖转 (*.html *.htm *.svg *.png *.gif *.svgz);; 讻诇 讛拽讘爪讬诐 (*.*) + + + + Print Document + 讛讚驻住 诪住诪讱 + + + + Are you sure you want to turn on private browsing? + 讛讗诐 讘讗诪转 讘专爪讜谞讱 诇讛驻注讬诇 讙诇讬砖讛 诪讗讜讘讟讞转? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <span dir="rtl"><b>%1</b><br><br>讻讗砖专 诪讜驻注诇转 讙诇讬砖讛 诪讗讜讘讟讞转 讻诪讛 驻注讜诇讜转 讛拽砖讜专讜转 诇驻专讟讬讜转 砖诇讱 诇讗 讬讜驻注诇讜:<ul dir="rtl"><li> 讚驻讬诐 诇讗 谞讜住驻讬诐 诇讛住讟讜专讬讬转 讛讙诇讬砖讛.</li><li> 驻专讬讟讬诐 谞诪讞拽讬诐 讘讗讜驻谉 讗讜讟讜诪讟讬 诪专砖讬诪转 讛讛讜专讚讜转.</li><li> 注讜讙讬讜转 讞讚砖讜转 诇讗 谞砖诪专讜转 讜讗讬谉 讗驻砖专讜转 诇讙砖转 诇注讜讙讬讜转 讬砖谞讜转.</li><li> 住诪诇讬诐 砖诇 讗转专讬诐 诇讗 谞砖诪专讬诐 讜讛讛驻注诇讛 诇讗 转讬砖诪专.</li><li> 讞讬驻讜砖讬诐 诇讗 诪转讜讜住驻讬诐 诇转驻专讬讟 讛诪讜拽驻抓 砖诇 讛讬住讟讜专讬讬转 讛讞讬驻讜砖.</li></ul>注讚 砖转住讙讜专 讗转 讛讞诇讜谉, 讘讗驻砖专讜转讱 诇诇讞讜抓 注诇 讻驻转讜专讬 讛谞讬讜讜讟 "拽讚讬诪讛" 讜志"讗讞讜专讛" 诇讞讝专讛 诇注诪讜讚讬诐 砖讘讬拽专转 讘讛诐. +</span> + + + + Are you sure you want to close the window? There are %1 tabs open + 讛讗诐 讗转讛 讘讗诪转 讘专爪讜谞讱 诇住讙讜专 讗转 讛讞诇讜谉? 讬砖谞谉 %1 讻专讟讬住讬讜转 驻转讜讞讜转 + + + + Page Source of %1 + 拽讜讚 讛诪拽讜专 砖诇 %1 + + + + Web Inspector + 住讜专拽 专砖转 + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + 住讜专拽 讛专砖转 讬注讘讜讚 谞讻讜谉 专拽 注讘讜专 讚驻讬诐 砖谞讟注谞讜 讗讞专讬 讛讛驻注诇讛 砖诇讜. +讛讗诐 讘专爪讜谞讱 诇专注谞谉 讗转 讻诇 讛讚驻讬诐? + + + + Stop loading the current page + 注爪讜专 讗转 讟注讬谞转 讛讚祝 讛谞讜讻讞讬 + + + + Reload the current page + 讟注谉 诪讞讚砖 讗转 讛讚祝 讛谞讜讻讞讬 + + + + Downloads + 讛讜专讚讜转 + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + + Clear + 诪讞拽 + + + + ClearPrivateData + + + Clear Private Data + 诪讞拽 诪讬讚注 驻专讟讬 + + + + Clear the following items: + 诪讞拽 讗转 讛驻专讟讬诐 讛讘讗讬诐: + + + + &Browsing History + &讛讬住讟讜专讬转 讙诇讬砖讛 + + + + &Download History + 讛住讟讜专讬转 讛讜&专讚讛 + + + + &Search History + 讛住讬讟讜专讬讬转 &讞讬驻讜砖 + + + + &Cookies + &注讜讙讬讜转 + + + + C&ached Web Pages + 讚驻讬 讗讬谞讟专谞讟 讘&诪讟诪讜谉 + + + + Website &Icons + 住诪诇讬诐 砖诇 &讗转专讬诐 + + + + Clear &Private Data + 讗驻住 诪讬讚注 &讗讬砖讬 + + + + &Cancel + &讘讬讟讜诇 + + + + CookieExceptionsModel + + + Website + 讗转专 讗讬谞讟专谞讟 + + + + Rule + 讞讜拽 + + + + Allow + 讗驻砖专 + + + + Block + 讞住讜诐 + + + + Allow For Session + 讗驻砖专 诇讛驻注诇讛 谞讜讻讞讬转 + + + + CookieModel + + + Website + 讻转讜讘转 + + + + Name + 砖诐 + + + + Path + 谞转讬讘 + + + + Secure + 诪讗讜讘讟讞 + + + + Expires + 转讗专讬讱 转驻讜讙讛 + + + + Contents + 转讜讻谉 + + + + true + true + + + + false + false + + + + CookiesDialog + + + Cookies + 注讜讙讬讜转 + + + + &Remove + &诪讞拽 + + + + Remove &All Cookies + 诪讞拽 讗转 &讻诇 讛注讜讙讬讜转 + + + + CookiesExceptionsDialog + + + Cookie Exceptions + 注讜讙讬讜转 讬讜爪讗讜转 诪谉 讛讻诇诇 + + + + New Exception + 讬讜爪讗 诪谉 讛讻诇诇 讞讚砖 + + + + Domain: + 诪转讞诐: + + + + Block + 讘诇讜拽 + + + + Allow For Session + 讗驻砖专 诇讛驻注诇讛 讛谞讜讻讞讬转 + + + + Allow + 讗驻砖专 + + + + Exceptions + 讬讜爪专讬诐 诪谉 讛讻诇诇 + + + + &Remove + 讛&住专 + + + + Remove &All + &讛住专 讛讻诇 + + + + DownloadDialog + + + Downloads + 讛讜专讚讜转 + + + + Clean up + 谞拽讛 + + + + 0 Items + 0 驻专讬讟讬诐 + + + + &OK + &讗讬砖讜专 + + + + DownloadItem + + + Form + 诪诪拽讜诐 + + + + Ico + Ico + + + + Filename + 砖诐 拽讜讘抓 + + + + Try Again + 谞住讛 砖讜讘 + + + + Stop + 注爪讜专 + + + + Open + 驻转讞 + + + + Save File + 砖诪讜专 拽讜讘抓 + + + + Download canceled: %1 + 讛讛讜讚注讛 讛讜驻住拽讛: %1 + + + + Error opening output file: %1 + 讗专注讛 砖讙讬讗讛 讘注转 驻转讬讞转 拽讜讘抓 讛驻诇讟: %1 + + + + Error saving: %1 + 讗专注讛 砖讙讬讗讛 讘注转 讛砖诪讬专讛: %1 + + + + Network Error: %1 + 讗专注讛 砖讙讬讗讜转 专砖转: %1 + + + + seconds + 砖谞讬讜转 + + + + - %n minutes remaining + + 谞砖讗专讜 注讜讚 %n 砖谞讬讜转 + + + + + + - %n seconds remaining + + 谞砖讗专讜 注讜讚 %n 讚拽讜转 + + + + + + %1 of %2 (%3/sec) %4 + %1 诪转讜讱 %2 (%3 拽住"砖) %2 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 诪转讜讱 %2 - 谞注爪专 + + + + bytes + 讘转讬诐 + + + + kB + 拽"讘 + + + + MB + 诪"讘 + + + + DownloadManager + + + %n Download(s) + + 讛讜专讚讛 讗讞转 + %n 讛讜专讚讜转 + + + + + HistoryDialog + + + Open + 驻转讞 + + + + Copy + 讛注转拽 + + + + Delete + 诪讞拽 + + + + History + 讛讬住讟讜专讬讛 + + + + &Remove + 讛&住专 + + + + Remove &All + &讛住专 讛讻诇 + + + + HistoryMenu + + + Show All History + 讛爪讙 讗转 讻诇 讛讛住讟讜专讬讛 + + + + Clear History... + 诪讞拽 讗转 讛讛讬住讟讜专讬讛... + + + + Clear History + 诪讞拽 讗转 讛讛讬住讟讜专讬讛 + + + + Do you want to clear the history? + 讛讗诐 讘专爪讜谞讱 诇诪讞讜拽 讗转 讛讛讬住讟讜专讬讛? + + + + HistoryModel + + + Title + 讻讜转专转 + + + + Address + 讻转讜讘转 + + + + HistoryTreeModel + + + Earlier Today + 诪讜拽讚诐 讛讬讜诐 + + + + %n item(s) + + 驻专讬讟 讗讞讚 + %n 驻专讬讟讬诐 + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>讛讻谞住 讗转 砖诐 讛诪砖转诪砖 讜讛住住诪讛 注讘讜专 "%1" 讘讗转专 %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>诪转讞讘专 诇砖专转 诪转讜讜讱 "%1" 讘讗诪爪注讜转:<qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + 砖讙讬讗讜转 SSL:<div dir="ltr">锟%1锟 +锟%2锟 +</div> +讛讗诐 讘专爪讜谞讱 诇讛转注诇诐 诪讛砖讙讬讗讜转 讛诇诇讜?锟 + + + + Do you want to accept all these certificates? + 讛讗诐 讘专爪讜谞讱 诇拽讘诇 讗转 讛讗讬砖讜专讬诐 讛诇诇讜? + + + + PasswordDialog + + + Authentication Required + 谞讚专砖 讗讬诪讜转 + + + + DUMMY ICON + DUMMY ICON + + + + INTRO TEXT DUMMY + INTRO TEXT DUMMY + + + + Username: + 砖诐 诪砖转诪砖: + + + + Password: + 住住诪讛: + + + + ProxyDialog + + + Proxy Authentication + 讗讬诪讜转 砖讗转 诪转讜讜讱 + + + + ICON + ICON + + + + Connect to proxy + 讛转讞讘专 诇砖专转 诪转讜讜讱 + + + + Username: + 砖诐 诪砖转诪砖: + + + + Password: + 住住诪讛: + + + + QObject + + + The file is not an XBEL version 1.0 file. + 讛拽讜讘抓 讛讜讗 诇讗 拽讜讘抓 XBEL 诪讙专住讛 1.0. + + + + Unknown title + 讻讜转专转 诇讗 讬讚讜注讛 + + + + SearchBanner + + + Form + 诪讗转 + + + + TextLabel + TextLabel + + + + < + < + + + + > + > + + + + Done + 住讬讬诐 + + + + SearchLineEdit + + + Search + 讞驻砖 + + + + Settings + + + Preferences + 讛讙讚专讜转 + + + + General + 讻诇诇讬 + + + + On startup: + 讘讛驻注诇讛: + + + + Show my home page + 讛爪讙 讗转 讚祝 讛讘讬转 砖诇讬 + + + + Show a blank page + 讛爪讙 讚祝 专讬拽 + + + + Restore windows and tabs from last time + 砖讞讝专 讞诇讜谞讜转 讜讻专讟讬住讬讜转 诪讛驻注诐 讛拽讜讚诪转 + + + + Home Page: + 讚祝 讛讘讬转: + + + + Set to current page + 拽讘注 诇注诪讜讚 讛谞讜讻讞讬 + + + + Remove history items: + 讛住专 驻专讬讟讬 讛讬住讟讜专讬讛: + + + + After one day + 讗讞专讬 讬讜诐 讗讞讚 + + + + After one week + 讗讞专讬 砖讘讜注 讗讞讚 + + + + After two weeks + 讗讞专讬 砖讘讜注讬讬诐 + + + + After one month + 讗讞专讬 讞讜讚砖 + + + + After one year + 讗讞专讬 砖谞讛 + + + + Manually + 讬讚谞讬转 + + + + On application exit + 讘注转 讛讬爪讬讗讛 诪讛讬讬砖讜诐 + + + + Open links from applications: + 驻转讞 拽讬砖讜专讬诐 诪讛讬讬砖讜诪讬诐: + + + + In a tab in the current window + 讘讻专讟讬住讬讬讛 讘讞诇讜谉 讛谞讜讻讞讬 + + + + In a new window + 讘讞诇讜谉 讛谞讜讻讞讬 + + + + Downloads + 讛讜专讚讜转 + + + + Ask for a destination each time + 砖讗诇 讛讬讻谉 诇砖诪讜专 讘讻诇 驻注诐 + + + + Use this destination: + 讛砖转诪砖 讘诪拽讜诐 讛讘讗: + + + + Appearance + 诪专讗讛 + + + + Standard font: + 讙讜驻谉 讘专讬专转志诪讞讚诇: + + + + Times 16 + Times 16 + + + + Select... + 讘讞专... + + + + Fixed-width font: + 讙讜驻谉 拽讜讞讘 拽讘讜注: + + + + Courier 13 + Courier 13 + + + + Privacy + 驻专讟讬讜转 + + + + Web Content + 转讜讻谉 + + + + Enable Plugins + 讗驻砖专 转讜住驻讬诐 + + + + Enable Javascript + 讗驻砖专 JavaScript + + + + View Images + 讛爪讙 转诪讜谞讜转 + + + + Cookies + 注讜讙讬讜转 + + + + Accept Cookies: + 讗驻砖专 注讜讙讬讜转: + + + + Always + 转诪讬讚 + + + + Never + 讗讱 驻注诐 + + + + Only from sites you navigate to + 专拽 诪讗转专讬诐 砖讗转讛 讙讜诇砖 讘讛诐 + + + + Exceptions... + 讬讜爪讗讬诐 诪谉 讛讻诇诇... + + + + Keep Cookies Until: + 砖诪讜专 注讜讙讬讜转 注讚: + + + + They expire + 砖讛谉 驻讙讜转 + + + + I exit the application + 讗谞讬 讬讜爪讗 诪讛讬讬砖讜诐 + + + + At most 90 days + 注讚 90 讬讜诐 + + + + Cookies... + 注讜讙讬讜转... + + + + Tabs + 讻专讟讬住讬讜转 + + + + Select tabs and windows as they are created + 讘讞专 讻专讟讬住讬讜转 讻砖讛谉 谞讜爪专讜转 + + + + Confirm when closing multiple tabs + 讜讜讚讗 讬爪讬讗讛 讻讗砖专 诪住驻专 讻专讟讬住讬讜转 驻转讜讞讜转 + + + + Proxy + 砖专转 诪转讜讜讱 + + + + Use proxy server + 讛砖转诪砖 讘砖专转 诪转讜讜讱 + + + + Type: + 住讜讙: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host name: + 砖诐 诪砖转诪砖: + + + + Port: + 讬爪讬讗讛: + + + + User Name: + 砖诐 诪砖转诪砖: + + + + Password: + 住住诪讛: + + + + Advanced + 诪转拽讚诐 + + + + Style Sheet: + 讙讬诇讬讜谉 住讙谞讜谉 + + + + TabBar + + + Show Tab Bar + 讛爪讙 讻讜转专转 讻专讟讬住讬讜转 + + + + Hide Tab Bar + 讛住转专 讻讜转专转 讻专讟讬住讬讜转 + + + + New &Tab + 讻专讟讬住讬讬讛 &讞讚砖讛 + + + + Duplicate Tab + 砖讻驻诇 讻专讟讬住讬讬讛 + + + + &Close Tab + &住讙讜专 讻专讟讬住讬讬讛 + + + + Close &Other Tabs + 住讙讜专 讻专讟讬住讬讬讜转 &讗讞专讜转 + + + + Reload Tab + 讟注谉 讻专讟讬住讬讬讛 诪讞讚砖 + + + + Reload All Tabs + 专注谞谉 讗转 讻诇 讛讻专讟讬住讬讜转 + + + + TabWidget + + + New &Tab + &讻专讟讬住讬讬讛 讞讚砖讛 + + + + &Close Tab + &住讙讜专 讻专讟讬住讬讬讛 + + + + Show Next Tab + 讛爪讙 讗转 讛讻专讟讬住讬讬讛 讛讘讗讛 + + + + Show Previous Tab + 讛爪讙 讗转 讛讻专讟住讬讬讛 讛拽讜讚诪转 + + + + Recently Closed Tabs + 讻专讟讬住讬讜转 砖谞住讙专讜 诇讗讞专讜谞讛 + + + + Untitled + 诇诇讗 砖诐 + + + + Do you really want to close this page? + 讛讗诐 讘讗诪转 讘专爪讜谞讱 诇住讙讜专 讗转 讛注诪讜讚 讛讝讛? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + 讗转讛 砖讬谞讬转 讗转 讛注诪讜讚 讛讝讛 讜讻讗砖专 转住讙讜专 讗讜转讜 讗转讛 注诇诇讜 诇讗讘讚 诪讬讚注. +讛讗诐 诇住讙讜专 讗转 讛注诪讜讚 讘讻诇 讝讗转? + + + + ToolbarSearch + + + No Recent Searches + 讗讬谉 讞讬驻讜砖讬诐 讗讞专讜谞讬诐 + + + + Recent Searches + 讞讬驻讜砖讬诐 讗讞专讜谞讬诐 + + + + Clear Recent Searches + 讗驻住 讗转 讛讞讬驻讜砖讬诐 讛讗讞专讜谞讬诐 + + + + WebPage + + + Error loading page: %1 + 讗专注讛 砖讙讬讗讛 讘讗转 讛讟注讬谞讛 砖诇 讛注诪讜讚: %1 + + + + WebView + + + Open in New &Window + 驻转讞 讘&讞诇讜谉 讞讚砖 + + + + Open in New &Tab + 驻转讞 讘&讻专讟讬住讬讬讛 讞讚砖讛 + + + + Save Lin&k + 砖诪讜专 &拽讬砖讜专 + + + + &Bookmark This Link + 砖讬诐 拽讬砖讜专 讘&住讬诪谞讬讜转 + + + + &Copy Link Location + 讛注转拽 &诪讬拽讜诐 讛拽讬砖讜专 + + + + Open Image in New &Window + 驻转讞 &转诪讜谞讛 讘讞诇讜谉 讞讚砖 + + + + Open Image in New &Tab + 驻转讞 转诪讜谞讛 讘&讻专讟讬住讬讬讛 讞讚砖讛 + + + + &Save Image + &砖诪讜专 转诪讜谞讛 + + + + &Copy Image + &讛注转拽 转诪讜谞讛 + + + + C&opy Image Location + 讛&注转拽 诪讬拽讜诐 讛转诪讜谞讛 + + + + Loading... + 讟讜注谉... + + + + WebViewSearch + + + Not Found + 诇讗 谞诪爪讗 + + + diff --git a/src/src.pro b/src/src.pro index c6607ad7..af6c0fb2 100644 --- a/src/src.pro +++ b/src/src.pro @@ -27,6 +27,7 @@ TRANSLATIONS += \ locale/et.ts \ locale/fr_FR.ts \ locale/fr_CA.ts \ + locale/he.ts \ locale/hu.ts \ locale/it.ts \ locale/pl.ts \ From 94dfd98bbe98c4f1a14d08e45adf80c92734c643 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Tue, 19 Aug 2008 00:46:04 +0300 Subject: [PATCH 0164/1254] Various fixes for for Mozilla's bug https://bugzilla.mozilla.org/show_bug.cgi?id=219070 Yes, I am fixing (closed) mozilla's bug in Arora, since the same bugs apply here --- src/aboutdialog.cpp | 5 +++-- src/browsermainwindow.cpp | 3 +++ src/settings.ui | 33 ++++++++++++++++++++++++++++----- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/aboutdialog.cpp b/src/aboutdialog.cpp index 39baa2a3..eb7f90e8 100644 --- a/src/aboutdialog.cpp +++ b/src/aboutdialog.cpp @@ -48,12 +48,13 @@ void AboutDialog::displayFile(const QString &fileName, const QString &title) QTextEdit *textEdit = new QTextEdit(dialog); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close, Qt::Horizontal, dialog); - textEdit->setStyleSheet(QLatin1String("font-family: monospace")); + textEdit->setLayoutDirection(Qt::LeftToRight); QFile file(fileName); if (file.open(QIODevice::ReadOnly)) { QString text = QTextStream(&file).readAll(); - textEdit->setPlainText(text); + // this is done to force the content of the text editor to be LTR, and monospaced. + textEdit->setHtml( QString(QLatin1String("
%1
")).arg(text) ); } textEdit->setReadOnly(true); diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 45781ccd..84895b4e 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -108,6 +108,9 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) { setAttribute(Qt::WA_DeleteOnClose, true); statusBar()->setSizeGripEnabled(true); + // fixes https://bugzilla.mozilla.org/show_bug.cgi?id=219070 + // yes, that's a Firefox bug! + statusBar()->setLayoutDirection(Qt::LeftToRight); setupMenu(); setupToolBar(); diff --git a/src/settings.ui b/src/settings.ui index 93795b2e..0c626cdd 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -73,7 +73,11 @@ - + + + Qt::LeftToRight + + @@ -194,7 +198,11 @@ - + + + Qt::LeftToRight + + @@ -528,7 +536,11 @@ - + + + Qt::LeftToRight + + @@ -574,7 +586,11 @@ - + + + Qt::LeftToRight + + @@ -588,6 +604,9 @@ + + Qt::LeftToRight + QLineEdit::Password @@ -624,7 +643,11 @@ - + + + Qt::LeftToRight + + From 797dba26a8d29aa0be5bfd795a2c6941903df731 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Tue, 19 Aug 2008 01:24:34 +0300 Subject: [PATCH 0165/1254] Change the "icon" on the next/prev search for RTL desktops: next points to the right, and previous points to the right --- src/webviewsearch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index c7adaa81..5c73428c 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -53,8 +53,8 @@ void WebViewSearch::initializeSearchWidget() m_widget = new QWidget(this); m_widget->setContentsMargins(0, 0, 0, 0); ui.setupUi(m_widget); - ui.previousButton->setText(QChar(9664)); - ui.nextButton->setText(QChar(9654)); + ui.previousButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9664): QChar(9654) ); + ui.nextButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9654): QChar(9664)); ui.searchInfo->setText(QString()); connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(findNext())); From afda8dac5225486203cf17c7c8782ab712668e19 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 12 Aug 2008 01:07:24 +0200 Subject: [PATCH 0166/1254] Incorporate Jens Explorer style into Arora on Window for a better look and feel on XP and Vista. http://labs.trolltech.com/blogs/2007/06/08/explorer-style-toolbars/ --- src/explorerstyle.cpp | 316 ++++++++++++++++++++++++++++++++++++++++++ src/explorerstyle.h | 47 +++++++ src/explorerstyle.pri | 3 + src/main.cpp | 7 + src/src.pri | 4 + 5 files changed, 377 insertions(+) create mode 100644 src/explorerstyle.cpp create mode 100644 src/explorerstyle.h create mode 100644 src/explorerstyle.pri diff --git a/src/explorerstyle.cpp b/src/explorerstyle.cpp new file mode 100644 index 00000000..16a2db01 --- /dev/null +++ b/src/explorerstyle.cpp @@ -0,0 +1,316 @@ +/**************************************************************************** +** +** Copyright (c) 2007 Trolltech ASA +** +** Use, modification and distribution is allowed without limitation, +** warranty, liability or support of any kind. +** +** explorerstyle.cpp - version 1.0 +****************************************************************************/ + +#include "explorerstyle.h" +#include +#include +#include + +#ifndef HTHEME +#define HTHEME void* +#endif + +typedef HANDLE (WINAPI *PtrOpenThemeData)(HWND hwnd, LPCWSTR pszClassList); +typedef HRESULT (WINAPI *PtrDrawThemeBackground)(HANDLE hTheme, HDC hdc, int iPartId, int iStateId, + const RECT *pRect, OPTIONAL const RECT *pClipRect); +typedef bool (WINAPI *PtrIsAppThemed)(); + +static PtrDrawThemeBackground pDrawThemeBackground = 0; +static PtrOpenThemeData pOpenThemeData = 0; +static PtrIsAppThemed pIsAppThemed = 0; +static bool vista = false; + +bool isAppThemed() +{ +#ifdef Q_OS_WIN + return pIsAppThemed && pIsAppThemed(); +#else + return false; +#endif +} + +ExplorerStyle::ExplorerStyle() + : QWindowsVistaStyle() +{ +#ifdef Q_OS_WIN + QLibrary themeLib(QLatin1String("uxtheme")); + themeLib.load(); + if (themeLib.isLoaded()) { //resolve uxtheme functions + pIsAppThemed = (PtrIsAppThemed)themeLib.resolve("IsAppThemed"); + pDrawThemeBackground = (PtrDrawThemeBackground)themeLib.resolve("DrawThemeBackground"); + pOpenThemeData = (PtrOpenThemeData)themeLib.resolve("OpenThemeData"); + } +#endif + vista = QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based; +} + +void drawRebarBackground(const QRect &rect, QPainter *painter) { + if (rect.isEmpty()) + return; + QString cacheKey = QLatin1String("q_rebar_") + QString::number(rect.size().width()) + + QLatin1Char('x') + QString::number(rect.size().height()); + QPixmap pixmap; + if (!QPixmapCache::find(cacheKey, pixmap)) { + pixmap = QPixmap(rect.size()); + const RECT wRect = {0, 0, pixmap.width(), pixmap.height()}; + HBITMAP bitmap = pixmap.toWinHBITMAP(); + HDC hdc = CreateCompatibleDC(qt_win_display_dc()); + HGDIOBJ oldhdc = (HBITMAP)SelectObject(hdc, bitmap); + HTHEME theme = pOpenThemeData(0, L"REBAR"); + pDrawThemeBackground(theme, hdc, 0, 0, &wRect, NULL); + pixmap = pixmap.fromWinHBITMAP(bitmap); + SelectObject(hdc, oldhdc); + DeleteObject(bitmap); + DeleteDC(hdc); + QPixmapCache::insert(cacheKey, pixmap); + } + painter->drawPixmap(rect.topLeft(), pixmap); +} + +void ExplorerStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const +{ + QRect rect = option->rect; + switch (element) { + case PE_Widget: + if (isAppThemed()) { + if (QMainWindow *window = qobject_cast(widget->window())) { + QRegion topreg; + QRegion bottomreg; + QMenuBar* menubar = qFindChild(window); + + //We draw the menubar as part of the top toolbar area + if (menubar) { + QRect rect(menubar->mapToParent(menubar->rect().topLeft()), menubar->rect().size()); + topreg += rect; + } + + //We need the bounding rect for all toolbars + QList toolbars = qFindChildren(window); + foreach(QToolBar *tb, toolbars) { + if (!tb->isFloating()) { + QRect rect(tb->mapToParent(tb->rect().topLeft()), tb->rect().size()); + if (window->toolBarArea(tb) == Qt::TopToolBarArea) + topreg += rect; + else if (window->toolBarArea(tb) == Qt::BottomToolBarArea) + bottomreg += rect; + } + } + + //This is a hack to workaround missing toolbar updates since + //we now require updates that span across the whole toolbar area: + QRect topRect = topreg.boundingRect(); + topRect.setWidth(window->width()); + if (currentTopRect != topRect) { + currentTopRect = topRect; + window->update(topRect); + } + + QRect bottomRect = bottomreg.boundingRect(); + bottomRect.setWidth(window->width()); + if (currentBottomRect != bottomRect) { + currentBottomRect = bottomRect; + window->update(bottomRect); + } + + //Fill top toolbar area with gradient + drawRebarBackground(topRect, painter); + //Fill bottom toolbar area with gradient + drawRebarBackground(bottomRect, painter); + } + break; + + } //fall through + default: + if (vista) + QWindowsVistaStyle::drawPrimitive(element, option, painter, widget); + else + QWindowsXPStyle::drawPrimitive(element, option, painter, widget); + break; + } +} + +void ExplorerStyle::drawControl(ControlElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const +{ + QColor shadow = option->palette.dark().color(); + shadow.setAlpha(120); + + switch (element) { + case CE_DockWidgetTitle: + if (isAppThemed()) { + if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(option)) { + painter->save(); + QStyleOptionDockWidget adjustedOpt = *dwOpt; + QRect rect = option->rect.adjusted(0, 1, -1, -2); + adjustedOpt.palette.setBrush(QPalette::All, QPalette::Dark, Qt::transparent); + painter->save(); + painter->setClipRect(rect); + drawRebarBackground(rect.adjusted(0, 0, 1, 1), painter); + painter->restore(); + painter->setPen(shadow); + painter->drawRect(rect); + QWindowsXPStyle::drawControl(element, &adjustedOpt, painter, widget); + painter->restore(); + } + break; + } //fall through + + case CE_MenuBarItem: + if (isAppThemed()) { + if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(option)) { + QStyleOptionMenuItem adjustedItem = *mbi; + adjustedItem.palette.setBrush(QPalette::All, QPalette::Dark, shadow); + adjustedItem.palette.setBrush(QPalette::All, QPalette::Button, Qt::NoBrush); + QWindowsXPStyle::drawControl(element, &adjustedItem, painter, widget); + } + break; + } //fall through + + case CE_MenuBarEmptyArea: + if (isAppThemed()) { + if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(option)) { + QStyleOptionMenuItem adjustedItem = *mbi; + adjustedItem.palette.setBrush(QPalette::All, QPalette::Dark, shadow); + adjustedItem.palette.setBrush(QPalette::All, QPalette::Button, Qt::NoBrush); + QWindowsXPStyle::drawControl(element, &adjustedItem, painter, widget); + } + break; + } //fall through + + case CE_ToolBar: + if (isAppThemed()) { + if (const QStyleOptionToolBar* toolbar = qstyleoption_cast(option)) { + QStyleOptionToolBar adjustedToolBar = *toolbar; + adjustedToolBar.palette.setBrush(QPalette::All, QPalette::Dark, shadow); + QWindowsXPStyle::drawControl(element, &adjustedToolBar, painter, widget); + } + break; + } //fall through + + default: + if (vista) + QWindowsVistaStyle::drawControl(element, option, painter, widget); + else + QWindowsXPStyle::drawControl(element, option, painter, widget); + break; + } +} + +void ExplorerStyle::drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, + QPainter *painter, const QWidget *widget) const +{ + if (vista) + QWindowsVistaStyle::drawComplexControl(control, option, painter, widget); + else + QWindowsXPStyle::drawComplexControl(control, option, painter, widget); +} + +QSize ExplorerStyle::sizeFromContents(ContentsType type, const QStyleOption *option, + const QSize &size, const QWidget *widget) const +{ + if (vista) + return QWindowsVistaStyle::sizeFromContents(type, option, size, widget); + else + return QWindowsXPStyle::sizeFromContents(type, option, size, widget); +} + +QRect ExplorerStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const +{ + if (vista) + return QWindowsVistaStyle::subElementRect(element, option, widget); + else + return QWindowsXPStyle::subElementRect(element, option, widget); +} + +QRect ExplorerStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option, + SubControl subControl, const QWidget *widget) const +{ + if (vista) + return QWindowsVistaStyle::subControlRect(control, option, subControl, widget); + else + return QWindowsXPStyle::subControlRect(control, option, subControl, widget); +} + +QStyle::SubControl ExplorerStyle::hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, + const QPoint &pos, const QWidget *widget) const +{ + if (vista) + return QWindowsVistaStyle::hitTestComplexControl(control, option, pos, widget); + else + return QWindowsXPStyle::hitTestComplexControl(control, option, pos, widget); +} + +int ExplorerStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const +{ + if (vista) + return QWindowsVistaStyle::pixelMetric(metric, option, widget); + else + return QWindowsXPStyle::pixelMetric(metric, option, widget); +} + +QPalette ExplorerStyle::standardPalette() +{ + if (vista) + return QWindowsVistaStyle::standardPalette(); + else + return QWindowsXPStyle::standardPalette(); +} + +void ExplorerStyle::polish(QApplication *app) +{ + if (vista) + QWindowsVistaStyle::polish(app); + else + QWindowsXPStyle::polish(app); +} + +void ExplorerStyle::unpolish(QApplication *app) +{ + if (vista) + QWindowsVistaStyle::unpolish(app); + else + QWindowsXPStyle::unpolish(app); +} + +void ExplorerStyle::polish(QWidget *widget) +{ + if (QMainWindow *window = qobject_cast(widget)) + window->setAttribute(Qt::WA_StyledBackground, true); + if (vista) + QWindowsVistaStyle::polish(widget); + else + QWindowsXPStyle::polish(widget); +} + +void ExplorerStyle::unpolish(QWidget *widget) +{ + if (vista) + QWindowsVistaStyle::unpolish(widget); + else + QWindowsXPStyle::unpolish(widget); +} + +void ExplorerStyle::polish(QPalette pal) +{ + if (vista) + QWindowsVistaStyle::polish(pal); + else + QWindowsXPStyle::polish(pal); +} + +QPixmap ExplorerStyle::standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, + const QWidget *widget) const +{ + if (vista) + return QWindowsVistaStyle::standardPixmap(standardPixmap, opt, widget); + else + return QWindowsXPStyle::standardPixmap(standardPixmap, opt, widget); +} diff --git a/src/explorerstyle.h b/src/explorerstyle.h new file mode 100644 index 00000000..d437736d --- /dev/null +++ b/src/explorerstyle.h @@ -0,0 +1,47 @@ +/**************************************************************************** +** +** Copyright (c) 2007 Trolltech ASA +** +** Use, modification and distribution is allowed without limitation, +** warranty, liability or support of any kind. +** +** explorerstyle.h - version 1.0 +****************************************************************************/ + +#ifndef EXPLORERSTYLE_H +#define EXPLORERSTYLE_H + +#include + +class ExplorerStyle : public QWindowsVistaStyle +{ +public: + ExplorerStyle(); + void drawPrimitive(PrimitiveElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget = 0) const; + void drawControl(ControlElement element, const QStyleOption *option, + QPainter *painter, const QWidget *widget) const; + void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, + QPainter *painter, const QWidget *widget) const; + QSize sizeFromContents(ContentsType type, const QStyleOption *option, + const QSize &size, const QWidget *widget) const; + QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const; + QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, + SubControl sc, const QWidget *widget) const; + SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, + const QPoint &pos, const QWidget *widget = 0) const; + QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, + const QWidget *widget = 0) const; + int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const; + void polish(QWidget *widget); + void unpolish(QWidget *widget); + void polish(QPalette pal); + void polish(QApplication *app); + void unpolish(QApplication *app); + QPalette standardPalette(); + +private: + mutable QRect currentTopRect; //current toolbar top area size + mutable QRect currentBottomRect; //current toolbar top area size +}; +#endif //EXPLORERSTYLE_H diff --git a/src/explorerstyle.pri b/src/explorerstyle.pri new file mode 100644 index 00000000..6e1cd588 --- /dev/null +++ b/src/explorerstyle.pri @@ -0,0 +1,3 @@ +HEADERS += explorerstyle.h +SOURCES += explorerstyle.cpp +LIBS += -lgdi32 diff --git a/src/main.cpp b/src/main.cpp index 67c69669..c8a207cf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,6 +19,10 @@ #include "browserapplication.h" +#ifdef Q_OS_WIN +#include "explorerstyle.h" +#endif + int main(int argc, char **argv) { Q_INIT_RESOURCE(htmls); @@ -26,6 +30,9 @@ int main(int argc, char **argv) BrowserApplication application(argc, argv); if (!application.isTheOnlyBrowser()) return 0; +#ifdef Q_OS_WIN + application.setStyle(new ExplorerStyle); +#endif application.newMainWindow(); return application.exec(); } diff --git a/src/src.pri b/src/src.pri index 2264f3d1..01b061de 100644 --- a/src/src.pri +++ b/src/src.pri @@ -121,3 +121,7 @@ unix { } include(webkittrunk.pri) + +win32 { + include(explorerstyle.pri) +} \ No newline at end of file From 82847e4fdc5ce33f78e26882cd4d89a609cd7b7b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 19 Aug 2008 16:36:18 +0200 Subject: [PATCH 0167/1254] Don't hardcode the font in the ui file Issue: 175 --- src/aboutdialog.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aboutdialog.ui b/src/aboutdialog.ui index bfb6280a..0618e250 100644 --- a/src/aboutdialog.ui +++ b/src/aboutdialog.ui @@ -100,7 +100,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> From cc7c31f0ca10d17e362d23a5a98abc753c5d650c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 19 Aug 2008 23:52:06 +0200 Subject: [PATCH 0168/1254] Relicense class under the BSD --- src/utils/proxystyle.h | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/utils/proxystyle.h b/src/utils/proxystyle.h index 12ae4ac2..18ed0d3f 100644 --- a/src/utils/proxystyle.h +++ b/src/utils/proxystyle.h @@ -1,20 +1,29 @@ -/* - *Copyright 2008 Benjamin C. Meyer - * - *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 2 of the License, or - *(at your option) any later version. +/** + * Copyright (c) 2008, Benjamin C. Meyer * - *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. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - *You should have received a copy of the GNU General Public License - *along with this program; if not, write to the Free Software - *Foundation, Inc., 51 Franklin Street, Fifth Floor, - *Boston, MA 02110-1301 USA + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #ifndef PROXYSTYLE_H From df48267de9f114172fa10d127137608ced5544a7 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Tue, 19 Aug 2008 17:47:40 +0300 Subject: [PATCH 0169/1254] * change the method name from installTranslator() to installTranslatorByName(), since QApplicatino already has such method. * now the translations for Qt and Arora are loaded, but installed only if both are really loaded. This prevents applications with English UI and very few strings in the system locale. --- src/browserapplication.cpp | 26 ++++++++++++++++++++++---- src/browserapplication.h | 2 +- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 831f9ae7..44c5b3cd 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -150,10 +150,28 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #endif QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl"); - QString localSysName = QLocale::system().name(); + const QString localSysName = QLocale::system().name(); - installTranslator(QLatin1String("qt_") + localSysName); - installTranslator(dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName); +#if 1 + QTranslator *translator = new QTranslator(this); + QTranslator *qtTranslator = new QTranslator(this); + QString translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName; + QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + bool loaded = translator->load(translatorFileName, resourceDir); + + translatorFileName = QLatin1String("qt_"); + translatorFileName += localSysName; + loaded &= qtTranslator->load(translatorFileName, resourceDir); + if (loaded) { + installTranslator(translator); + installTranslator(qtTranslator); + } +#else + // this code is not compiled, and should be removed + // same for those useless methods + installTranslatorByName(QLatin1String("qt_") + localSysName); + installTranslatorByName(dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName); +#endif // Until QtWebkit defaults to 16 QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFontSize, 16); @@ -415,7 +433,7 @@ bool BrowserApplication::isTheOnlyBrowser() const return (m_localServer != 0); } -void BrowserApplication::installTranslator(const QString &name) +void BrowserApplication::installTranslatorByName(const QString &name) { QTranslator *translator = new QTranslator(this); translator->load(name, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); diff --git a/src/browserapplication.h b/src/browserapplication.h index 209effd6..1d95b457 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -124,7 +124,7 @@ private slots: private: void clean(); - void installTranslator(const QString &name); + void installTranslatorByName(const QString &name); static HistoryManager *s_historyManager; static DownloadManager *s_downloadManager; From 4c7c3fc0f0b4ba059b130452cd814d8fea519319 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Fri, 22 Aug 2008 00:53:35 +0300 Subject: [PATCH 0170/1254] Removed the installTranslatorByName method, as it's not really needed now, and remove the if 0 code block --- src/browserapplication.cpp | 14 -------------- src/browserapplication.h | 1 - 2 files changed, 15 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 44c5b3cd..ccee322b 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -152,7 +152,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl"); const QString localSysName = QLocale::system().name(); -#if 1 QTranslator *translator = new QTranslator(this); QTranslator *qtTranslator = new QTranslator(this); QString translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName; @@ -166,12 +165,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) installTranslator(translator); installTranslator(qtTranslator); } -#else - // this code is not compiled, and should be removed - // same for those useless methods - installTranslatorByName(QLatin1String("qt_") + localSysName); - installTranslatorByName(dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName); -#endif // Until QtWebkit defaults to 16 QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFontSize, 16); @@ -433,13 +426,6 @@ bool BrowserApplication::isTheOnlyBrowser() const return (m_localServer != 0); } -void BrowserApplication::installTranslatorByName(const QString &name) -{ - QTranslator *translator = new QTranslator(this); - translator->load(name, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - QApplication::installTranslator(translator); -} - #if defined(Q_WS_MAC) bool BrowserApplication::event(QEvent* event) { diff --git a/src/browserapplication.h b/src/browserapplication.h index 1d95b457..bf4b08e4 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -124,7 +124,6 @@ private slots: private: void clean(); - void installTranslatorByName(const QString &name); static HistoryManager *s_historyManager; static DownloadManager *s_downloadManager; From 41e3bc6278f26b4cf259578511af4d7de0b2aad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20J=C3=BAnior?= Date: Mon, 25 Aug 2008 16:16:15 -0300 Subject: [PATCH 0171/1254] Translating to pt-BR --- src/locale/pt_BR.ts | 97 ++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 50 deletions(-) diff --git a/src/locale/pt_BR.ts b/src/locale/pt_BR.ts index a3eca868..3c109112 100644 --- a/src/locale/pt_BR.ts +++ b/src/locale/pt_BR.ts @@ -8,15 +8,15 @@
Authors - + Autores License - + Licen莽a Lightweight WebKit-based web browser - + Navegador web leve baseado em WebKit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -24,22 +24,26 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> <a href="http://arora-browser.org">http://arora-browser.org</a> - + <a href="http://arora-browser.org">http://arora-browser.org</a> Close - + Fechar
AddBookmarkDialog Add Bookmark - Adicionar Favoritos + Adicionar aos Favoritos Type a name for the bookmark, and choose where to keep it. @@ -86,7 +90,7 @@ p, li { white-space: pre-wrap; } Toolbar Bookmarks - + Barra de Favoritos Menu @@ -165,11 +169,11 @@ Voc锚 deve sair de qualquer maneira? Restore failed - + A restaura莽茫o falhou The saved session will not being restored because last time it was restored Arora crashed. - + A sess茫o salva n茫o ser谩 restaurada porque houve um problema na 煤ltima vez que foi restaurada. @@ -212,7 +216,7 @@ Voc锚 deve sair de qualquer maneira? Private &Browsing... - + &Navega莽茫o Privativa... &Quit @@ -435,15 +439,15 @@ Voc锚 deve sair de qualquer maneira? Are you sure you want to turn on private browsing? - + Voc锚 tem certeza de que deseja ativar a navega莽茫o privativa? <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - + <b>%1</b><br><br>Quando a navega莽茫o privativa est谩 ativada, algumas a莽玫es que afetam a sua privacidade ser茫o desabilitadas:<ul><li> P谩ginas n茫o ser茫o adicionadas ao hist贸rico.</li><li> 脥tems ser茫o removidos automaticamente da janela de Downloads.</li><li> Novos cookies n茫o ser茫o guardados, cookies atuais n茫o poder茫o ser acessados.</li><li> 脥cones de sites n茫o ser茫o armazenados, sess玫es n茫o ser茫o salvas.</li><li> Buscas n茫o ser茫o adicionadas ao menu na caixa de busca.</li></ul>At茅 voc锚 fechar a janela, voc锚 poder谩 continuar clicando nos bot玫es "Voltar" e "Avan莽ar" para retornar as p谩ginas que voc锚 j谩 abriu. Are you sure you want to close the window? There are %1 tabs open - + Voc锚 tem certeza de que quer fechar a Janela? Existem %1 abas abertas Page Source of %1 @@ -456,7 +460,8 @@ Voc锚 deve sair de qualquer maneira? The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - + O inspetor web s贸 funcionar谩 corretamente para p谩ginas que forem carregadas ap贸s a ativa莽茫o. +Voc锚 deseja recarregar todas as p谩ginas? Stop loading the current page @@ -477,39 +482,39 @@ Do you want to reload all pages? Find &Next - + Encontrar &Pr贸ximo Find P&revious - + Encontrar &Anterior Prefe&rences - + Prefe&r锚ncias &Reload Page - + &Recarregar P谩gina Make Text &Bigger - + Tornar o Texto M&aior Make Text &Normal - + Tornar o Texto &Normal Make Text &Smaller - + Tornar o Texto M&enor Show Bookmarks Bar - + Mostrar Barra de Favoritos Hide Bookmarks Bar - + Esconder Barra de Favoritos @@ -765,15 +770,11 @@ Do you want to reload all pages? - %n minutes remaining - - - + - Faltam %n minutos - %n seconds remaining - - - + - Faltam %n segundos @@ -788,9 +789,7 @@ Do you want to reload all pages? %n Download(s) - - - + %n Download(s) @@ -854,9 +853,7 @@ Do you want to reload all pages? %n item(s) - - - + %n item(ns) @@ -898,11 +895,11 @@ Voc锚 deseja ignorar esses erros? DUMMY ICON - + DUMMY ICON INTRO TEXT DUMMY - Texto de Introdu莽茫o + INTRO TEXT DUMMY Username: @@ -1177,39 +1174,39 @@ Voc锚 deseja ignorar esses erros? On startup: - + Ao iniciar: Show my home page - + Exibir minha p谩gina inicial Show a blank page - + Exibir uma p谩gina em branco Restore windows and tabs from last time - + Restaurar janelas e abas da 煤ltima sess茫o On application exit - + Ao sair do aplicativo Enable Images - + Habilitar Imagens Tabs - + Abas Select tabs and windows as they are created - + Selecionar abas e janelas como foram criadas Confirm when closing multiple tabs - + Confirmar ao fechar m煤ltiplas abas @@ -1240,11 +1237,11 @@ Voc锚 deseja ignorar esses erros? Show Tab Bar - + Exibir Barra de Abas Hide Tab Bar - + Esconder Barra de Abas @@ -1355,7 +1352,7 @@ Voc锚 realmente deseja fechar essa p谩gina? Loading... - + Carregando... From 563d089198bb60bba2d6ebbcbb090b2d60348ca2 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 6 Sep 2008 16:43:02 -0400 Subject: [PATCH 0172/1254] Add GL language by mbousada Issue: 190 --- src/locale/gl.ts | 1314 ++++++++++++++++++++++++++++++++++++++++++++++ src/src.pro | 1 + 2 files changed, 1315 insertions(+) create mode 100644 src/locale/gl.ts diff --git a/src/locale/gl.ts b/src/locale/gl.ts new file mode 100644 index 00000000..1f94f034 --- /dev/null +++ b/src/locale/gl.ts @@ -0,0 +1,1314 @@ + + + AboutDialog + + Lightweight WebKit-based web browser + Navegador lixeiro baseado en WebKit + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">(new line) +<html><head><meta name="qrichtext" content="1" /><style type="text/css">(new line) +p, li { white-space: pre-wrap; }(new line) +</style></head><body style="font-size:9pt;">(new line) +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + Authors + Autores + + + License + Licenza + + + Close + Pechar + + + About + Acerca de + + + + AddBookmarkDialog + + Add Bookmark + Engadir marcador + + + Type a name for the bookmark, and choose where to keep it. + Introduza un nome para o marcador e elixa onde gardalo. + + + + BookmarksDialog + + Bookmarks + Marcadores + + + &Remove + &Eliminar + + + Add Folder + Engadir cartafol + + + Open + Abrir + + + Open in New Tab + Abrir nunha ling眉eta nova + + + Delete + Borrar + + + New Folder + Novo cartafol + + + + BookmarksManager + + Error when loading bookmarks on line %1, column %2: +%3 + Atopouse un erro cargando os marcadores na li帽a %1, columna %2: +%3 + + + Toolbar Bookmarks + Barra de marcadores + + + Menu + Men煤 + + + Open File + Abrir ficheiro + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + Imported %1 + Importado %1 + + + Save File + Gardar ficheiro + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + Export error + Atopouse un erro durante a exportaci贸n + + + error saving bookmarks + atopouse un erro gardando os marcadores + + + Remove Bookmark + Eliminar marcador + + + Insert Bookmark + Inserir marcador + + + Name Change + Cambiar o nome + + + Address Change + Cambiar o enderezo + + + + BookmarksModel + + Title + T铆tulo + + + Address + Enderezo + + + + BookmarksToolBar + + Bookmark + Marcador + + + + BrowserApplication + + (Change: %1 %2) + (Cambio: %1 %2) + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Hai %1 vent谩 e %2 ling眉etas abertas +驴Desexa sa铆r de todos os xeitos? + + + Restore failed + Fallou a recuperaci贸n + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Non se puido recuperar a sesi贸n gardada xaque Arora fallou a 煤ltima vez que se recuperou . + + + + BrowserMainWindow + + &File + &Ficheiro + + + &New Window + &Nova vent谩 + + + &Open File... + &Abrir ficheiro... + + + Open &Location... + Abrir &ubicaci贸n... + + + &Save As... + &Gardar como... + + + &Import Bookmarks... + &Importar marcadores... + + + &Export Bookmarks... + &Exportar marcadores... + + + P&rint Preview... + Vista p&revia de impresi贸n... + + + &Print... + I&mprimir... + + + Private &Browsing... + &Navegaci贸n privada... + + + &Quit + &Sa铆r + + + &Edit + &Editar + + + &Undo + &Desfacer + + + &Redo + &Refacer + + + Cu&t + Cor&tar + + + &Copy + &Copiar + + + &Paste + &pegar + + + &Find + &Buscar + + + Find Nex&t + Buscar &seguinte + + + Find P&revious + Buscar &anterior + + + Prefere&nces... + &Preferencias... + + + Ctrl+, + Ctrl+, + + + &View + &Ver + + + Show Menu Bar + Amosar barra de men煤s + + + Ctrl+| + Ctrl+| + + + Shift+Ctrl+B + Mai煤s+Ctrl+B + + + Ctrl+/ + Ctrl+/ + + + &Stop + &Deter + + + &Reload Page + &Recargar p谩xina + + + Make Text &Bigger + &Aumentar o tama帽o do texto + + + Make Text &Normal + Tama帽o &normal do texto + + + Make Text &Smaller + &Reducir o tama帽o do texto + + + Page S&ource + C贸digo f&onte + + + Ctrl+Alt+U + Ctrl+Alt+U + + + &Full Screen + Pantalla &completa + + + Hi&story + &Historial + + + Back + Atras + + + Forward + Adiante + + + Home + Inicio + + + Restore Last Session + Recuperar 煤ltima sesi贸n + + + &Bookmarks + &Marcadores + + + Manage Bookmarks... + Administrar marcadores... + + + Add Bookmark... + Engadir marcador... + + + &Window + &Vent谩 + + + &Tools + &Ferramentas + + + Web &Search + &Busca na web + + + Ctrl+K + Web Search + Ctrl+K + + + &Clear Private Data + &Limpar datos privados + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Mai煤s+Supr + + + Enable Web &Inspector + Activar o &inspector da web + + + &Help + A&xuda + + + About &Qt + Acerca de &Qt + + + About &Arora + Acerca de &Arora + + + Navigation + Navegaci贸n + + + Show Status Bar + Amosar a barra de estado + + + Hide Status Bar + Agochar a barra de estado + + + Show Toolbar + Amosar a barra de ferramentas + + + Hide Toolbar + Agochar a barra de ferramentas + + + Show Bookmarks Bar + Amosar a barra de marcadores + + + Hide Bookmarks Bar + Agochar a barra de marcadores + + + Arora + Arora + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + Open Web Resource + Abrir os recursos da web + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Recursos da web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos os ficheiros (*.*) + + + Print Document + Imprimir documentaci贸n + + + Are you sure you want to turn on private browsing? + 驴Est谩 seguro de querer activar a navegaci贸n privada? + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Cando a navegaci贸n privada est谩 activada, desactivanse algunas opci贸s relacionadas coa sua privacidade:<ul><li> As p谩xinas web non se engaden ao historial</li><li> As descargas eliminanse autom谩ticamente da vent谩 de descargas</li><li> Non se gardan as 芦cookies禄 novas e non se pode aceder as 芦cookies禄 actuais..</li><li> Non se gardan as iconas dos sitios web nin tampoco a sesi贸n.</li><li>As buscas non se engaden ao men煤 emerxente do cadro de buscas.</li></ul>At茅 que non peche a vent谩 pode premer nos bot贸ns 芦Atras禄 e 芦Adiante禄 para volver as p谩xinas visitadas. + + + Are you sure you want to close the window? There are %1 tabs open + 驴Est谩 seguro de que quere pechar a vent谩? Hai %1 ling眉etas abertas + + + Page Source of %1 + C贸digo fonte de %1 + + + Web Inspector + Inspector da web + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + O inspectorda web s贸 funcionar谩 correctamente coas p谩xinas que se carguen despois de activalo. +驴Desexa recargar todas as p谩xinas? + + + Stop loading the current page + Deter a carga da p谩xina actual + + + Reload the current page + Recargar a p谩xina actual + + + Downloads + Descargas + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + Clear + Limpar + + + + ClearPrivateData + + Clear Private Data + Limpar datos privados + + + Clear the following items: + Limpar os seguintes elementos: + + + &Browsing History + Historial de &navegaci贸n + + + &Download History + Historial de &descargas + + + &Search History + Historial de &buscas + + + &Cookies + &Cookies + + + C&ached Web Pages + C&Ach茅 de p谩xinas visitadas + + + Website &Icons + &Iconas das p谩xinas web + + + Clear &Private Data + &Limpar datos privados + + + &Cancel + &Cancelar + + + + CookieExceptionsModel + + Website + Sitio web + + + Rule + Regra + + + Allow + Permitir + + + Block + Bloquear + + + Allow For Session + Permitir s贸 durante esta sesi贸n + + + + CookieModel + + Website + Sitio web + + + Name + Nome + + + Path + Ruta + + + Secure + Seguro + + + Expires + Caducidade + + + Contents + Contido + + + true + verdadeiro + + + false + falso + + + + CookiesDialog + + Cookies + Cookies + + + &Remove + &Eliminar + + + Remove &All Cookies + Eliminar &todas as cookies + + + + CookiesExceptionsDialog + + Cookie Exceptions + Cookies exentas + + + New Exception + Nova excepci贸n + + + Domain: + Dominio: + + + Block + Bloquear + + + Allow For Session + Permitir s贸 durante esta sesi贸n + + + Allow + Permitir + + + Exceptions + Excepci贸ns + + + &Remove + &Eliminar + + + Remove &All + Eliminar &todas + + + + DownloadDialog + + Downloads + Descargas + + + Clean up + Baleirar + + + 0 Items + 0 Elementos + + + &OK + &Conforme + + + + DownloadItem + + Form + Formulario + + + Ico + Icona + + + Filename + Nome de ficheiro + + + Try Again + Rentar de novo + + + Stop + Deter + + + Open + Abrir + + + Save File + Gardar ficheiro + + + Download canceled: %1 + Descarga cancelada: %1 + + + Error opening output file: %1 + Atopouse un erro ao abrir o ficheiro de s铆da: %1 + + + Error saving: %1 + Atopouse un erro gardando: %1 + + + Network Error: %1 + Atopouse un erro na rede: %1 + + + seconds + segundoa + + + %1 of %2 (%3/sec) %4 + %1 de %2 (%3/seg.) %4 + + + ? + ? + + + %1 of %2 - Stopped + %1 de %2 - Detida + + + bytes + bytes + + + kB + kB + + + MB + MB + + + + HistoryDialog + + History + Historial + + + &Remove + &Eliminar + + + Remove &All + Eliminar &todo + + + Open + Abrir + + + Copy + Copiar + + + Delete + Borar + + + + HistoryMenu + + Show All History + Amosar todo o historial + + + Clear History... + Limpar historial... + + + Clear History + Limpar historial + + + Do you want to clear the history? + 驴Desexa limpar todo o historial? + + + + HistoryModel + + Title + T铆tulo + + + Address + Enderezo + + + + HistoryTreeModel + + Earlier Today + Antes de hoxe + + + + NetworkAccessManager + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Introduza un nome de usuario e un contrasinal para "%1" at %2</qt> + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Conectar ao proxy "%1" usando:</qt> + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + Erros en SSL: + +%1 + +%2 + +驴Est谩 seguro de que quere omitir estos erros? + + + Do you want to accept all these certificates? + 驴Desexa aceptar todos estos certificados? + + + + PasswordDialog + + Authentication Required + Precisa autenticarse + + + DUMMY ICON + ICONA SIMULADA + + + INTRO TEXT DUMMY + INTRODUZA TEXTO SIMULADO + + + Username: + Nome de usuario: + + + Password: + Contrasinal: + + + + ProxyDialog + + Proxy Authentication + Autenticaci贸n no proxi + + + ICON + ICONA + + + Connect to proxy + Conectar ao proxy + + + Username: + Nome de usuario: + + + Password: + Contrasinal: + + + + QObject + + The file is not an XBEL version 1.0 file. + OP ficheiro non 茅 un ficheiro XBEL versi贸n 1.0. + + + Unknown title + T铆tulo desco帽ecido + + + + SearchBanner + + Form + Formulario + + + TextLabel + Texto da etiqueta + + + < + < + + + > + > + + + Done + Feito + + + + SearchLineEdit + + Search + Buscar + + + + Settings + + Preferences + Preferencias + + + General + Xeral + + + On startup: + No inicio: + + + Show my home page + Amosar a mi帽a p谩xina de inicio + + + Show a blank page + Amosar a p谩xina en branco + + + Restore windows and tabs from last time + Recuperar vent谩s e ling眉etas da 煤ltima sexi贸n + + + Home Page: + P谩xina de inicio: + + + Set to current page + P谩xina actual como predeterminada + + + Remove history items: + Eliminar os elementos do historial: + + + After one day + Despois de un d铆a + + + After one week + Despois de unha semana + + + After two weeks + Despois de d煤as semanas + + + After one month + Despois de un mes + + + After one year + Despois de un ano + + + Manually + Manualmente + + + On application exit + Ao sair da aplicaci贸n + + + Open links from applications: + Abrir ligaz贸ns de aplicaci贸ns: + + + In a tab in the current window + Nunha ling眉eta na vent谩 actual + + + In a new window + Nunha nova vent谩 + + + Downloads + Descargas + + + Ask for a destination each time + Preguntar en cada caso + + + Use this destination: + Usar este destino: + + + Appearance + Aparencia + + + Standard font: + Fonte est谩ndar: + + + Times 16 + Times 16 + + + Select... + Seleccionar... + + + Fixed-width font: + Fonte de anchura fixa: + + + Courier 13 + Courier 13 + + + Privacy + Privacidade + + + Web Content + Contido da web + + + Enable Plugins + Activar extensi贸n + + + Enable Javascript + Activar Javascript + + + View Images + Ver imaxes + + + Cookies + Cookies + + + Accept Cookies: + Aceitar cookies: + + + Always + Sempre + + + Never + Nunca + + + Only from sites you navigate to + S贸 dende os sitios que se visiten + + + Exceptions... + Excepci贸ns... + + + Keep Cookies Until: + Manter at茅 que: + + + They expire + Caduquen + + + I exit the application + Se saia da aplicaci贸n + + + At most 90 days + Un m谩ximo de 90 d铆as + + + Cookies... + Cookies... + + + Tabs + Ling眉etas + + + Select tabs and windows as they are created + Seleccionar ling眉etas e vent谩s ao ser creadas + + + Confirm when closing multiple tabs + Pedir confirmaci贸n cando se vaian pechar varias ling眉etas + + + Proxy + Proxy + + + Use proxy server + Usar servidor proxy + + + Type: + Tipo: + + + Socks5 + Socks5 + + + Http + Http + + + Host name: + Nome da m谩quina: + + + Port: + Porto: + + + User Name: + Nome de usuario: + + + Password: + Contrasinal: + + + Advanced + Avanzado + + + Style Sheet: + Estilo de folla: + + + + TabBar + + Show Tab Bar + Amosar barra de ling眉etas + + + Hide Tab Bar + Agochar barra de ling眉etas + + + New &Tab + Nova ling眉e&ta + + + Duplicate Tab + Duplicar a ling眉eta + + + &Close Tab + &Pechar a ling眉eta + + + Close &Other Tabs + Pechar as &outras ling眉etas + + + Reload Tab + Recargar ling眉eta + + + Reload All Tabs + Recargar todas as ling眉etas + + + + TabWidget + + New &Tab + Nova ling眉e&ta + + + &Close Tab + &Pechar a ling眉eta + + + Show Next Tab + Amosar a seguinte ling眉eta + + + Show Previous Tab + Amosar a ling眉eta anterior + + + Recently Closed Tabs + Ling眉etas abertas recentemente + + + Untitled + Sin t铆tulo + + + Do you really want to close this page? + 驴Desexa realmente pechar esta p谩xina? + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Esta p谩xina foi modificada e si a pecha perder谩 os cambios. +驴Est谩 seguro de que quere pechar esta p谩xina? + + + + ToolbarSearch + + No Recent Searches + Non hai buscas recentes + + + Recent Searches + Buscas recentes + + + Clear Recent Searches + Limpar buscas recentes + + + + WebPage + + Error loading page: %1 + Atopouse un erro ao cargar a p谩xina: %1 + + + + WebView + + Open in New &Window + Abrir nunha &vent谩 nova + + + Open in New &Tab + Abrir nunha ling眉e&ta nova + + + Save Lin&k + Gardar &ligaz贸n + + + &Bookmark This Link + Engadir esta p谩xina a &marcadores + + + &Copy Link Location + &Copiar o enderezo da ligaz贸n + + + Open Image in New &Window + Abrir a imaxe nunha &vent谩 nova + + + Open Image in New &Tab + Abrir a imaxe nunha ling眉e&ta nova + + + &Save Image + &Gardar a imaxe + + + &Copy Image + &Copiar a imaxe + + + C&opy Image Location + C&opiar a ubicaci贸n da imaxe + + + Loading... + Cargando... + + + + WebViewSearch + + Not Found + Non atopado + + + diff --git a/src/src.pro b/src/src.pro index af6c0fb2..b1d5cde0 100644 --- a/src/src.pro +++ b/src/src.pro @@ -27,6 +27,7 @@ TRANSLATIONS += \ locale/et.ts \ locale/fr_FR.ts \ locale/fr_CA.ts \ + locale/gl.ts \ locale/he.ts \ locale/hu.ts \ locale/it.ts \ From 3bbe9fa035aada0192cc54ad6383d8697f02644d Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 9 Sep 2008 21:33:34 -0400 Subject: [PATCH 0173/1254] Move locale build instructions to its own pri file in the locale directory --- src/locale/locale.pri | 36 ++++++++++++++++++++++++++++++++++++ src/src.pro | 33 +-------------------------------- 2 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 src/locale/locale.pri diff --git a/src/locale/locale.pri b/src/locale/locale.pri new file mode 100644 index 00000000..804136df --- /dev/null +++ b/src/locale/locale.pri @@ -0,0 +1,36 @@ + +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD + +TRANSLATIONS += \ + cs_CZ.ts \ + da.ts \ + de.ts \ + en.ts \ + es.ts \ + et.ts \ + fr_FR.ts \ + fr_CA.ts \ + gl.ts \ + he.ts \ + hu.ts \ + it.ts \ + pl.ts \ + pt_BR.ts \ + ru.ts \ + tr.ts \ + nl.ts \ + zh_CN.ts + +isEmpty(QMAKE_LRELEASE) { + win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe + else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease +} + +updateqm.input = TRANSLATIONS +updateqm.output = .qm/locale/${QMAKE_FILE_BASE}.qm +updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm .qm/locale/${QMAKE_FILE_BASE}.qm +updateqm.CONFIG += no_link +QMAKE_EXTRA_COMPILERS += updateqm + +PRE_TARGETDEPS += compiler_updateqm_make_all diff --git a/src/src.pro b/src/src.pro index b1d5cde0..d964a365 100644 --- a/src/src.pro +++ b/src/src.pro @@ -13,38 +13,7 @@ SOURCES += main.cpp DESTDIR = ../ -isEmpty(QMAKE_LRELEASE) { - win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe - else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease -} - -TRANSLATIONS += \ - locale/cs_CZ.ts \ - locale/da.ts \ - locale/de.ts \ - locale/en.ts \ - locale/es.ts \ - locale/et.ts \ - locale/fr_FR.ts \ - locale/fr_CA.ts \ - locale/gl.ts \ - locale/he.ts \ - locale/hu.ts \ - locale/it.ts \ - locale/pl.ts \ - locale/pt_BR.ts \ - locale/ru.ts \ - locale/tr.ts \ - locale/nl.ts \ - locale/zh_CN.ts - -updateqm.input = TRANSLATIONS -updateqm.output = .qm/locale/${QMAKE_FILE_BASE}.qm -updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm .qm/locale/${QMAKE_FILE_BASE}.qm -updateqm.CONFIG += no_link -QMAKE_EXTRA_COMPILERS += updateqm - -PRE_TARGETDEPS += compiler_updateqm_make_all +include(locale/locale.pri) unix { INSTALLS += target translations desktop iconxpm iconsvg icon16 icon32 icon128 man man-compress From ed384a721acd9f3e315e190247f0b940c95c4b7a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 11 Sep 2008 23:19:35 -0400 Subject: [PATCH 0174/1254] Add es_CR language by maty1206 Issue: 192 --- src/locale/es_CR.ts | 1641 +++++++++++++++++++++++++++++++++++++++++ src/locale/locale.pri | 1 + 2 files changed, 1642 insertions(+) create mode 100644 src/locale/es_CR.ts diff --git a/src/locale/es_CR.ts b/src/locale/es_CR.ts new file mode 100644 index 00000000..169c96cd --- /dev/null +++ b/src/locale/es_CR.ts @@ -0,0 +1,1641 @@ + + + + + AboutDialog + + + About + Acerca de + + + + Authors + Autores + + + + License + Licencia + + + + Lightweight WebKit-based web browser + Navegador web ligero, basado en WebKit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Cerrar + + + + AddBookmarkDialog + + + Add Bookmark + Agregar marcador + + + + Type a name for the bookmark, and choose where to keep it. + Introduzca un nombre para el marcador y seleccione donde desea guardarlo. + + + + BookmarksDialog + + + Open + Abrir + + + + Open in New Tab + Abrir en una nueva pesta帽a + + + + Delete + Borrar + + + + New Folder + Nueva carpeta + + + + Bookmarks + Marcadores + + + + &Remove + &Remover + + + + Add Folder + Agregar carpeta + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Error durante la carga de los maradores en la l铆nea %1, columna %2: +%3 + + + + Toolbar Bookmarks + Barra de Marcadores + + + + Menu + Men煤 + + + + Open File + Abrir archivo + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + Importado %1 + + + + Save File + Guardar archivo + + + + %1 Bookmarks.xbel + %1 Marcadores.xbel + + + + Export error + Error de exportaci贸n + + + + error saving bookmarks + error guardando los marcadores + + + + Remove Bookmark + Remover marcador + + + + Insert Bookmark + Insertar marcador + + + + Name Change + Cambiar nombre + + + + Address Change + Cambiar direcci贸n + + + + BookmarksModel + + + Title + T铆tulo + + + + Address + Direcci贸n + + + + BookmarksToolBar + + + Bookmark + Marcador + + + + BrowserApplication + + + (Change: %1 %2) + (Cambiar: %1 %2) + + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Hay %1 ventanas y %2 pesta帽as abiertas +驴Desea cerrarlas de todos modos? + + + + Restore failed + Restauraci贸n fallida + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + La sesi贸n guardada no pudo ser restaurada porque Arora se bloqueo mientras intentaba restaurar esta sesi贸n. + + + + BrowserMainWindow + + + &File + &Archivo + + + + &New Window + &Nueva ventana + + + + &Open File... + &Abrir archivo... + + + + Open &Location... + Abrir &Direcci贸n... + + + + &Save As... + &Guardar como... + + + + &Import Bookmarks... + &Importar Marcadores... + + + + &Export Bookmarks... + &Exportar Marcadores... + + + + P&rint Preview... + Vista p&reliminar... + + + + &Print... + &Imprimir... + + + + Private &Browsing... + Navegar & de forma privada... + + + + &Quit + &Quitar + + + + &Edit + &Editar + + + + &Undo + &Deshacer + + + + &Redo + &Rehacer + + + + Cu&t + Cor&tar + + + + &Copy + &Copiar + + + + &Paste + &Pegar + + + + &Find + &Encontrar + + + + Find Nex&t + Encontrar Pr贸xi&mo + + + + Find P&revious + Encontrar A&nterior + + + + Prefere&nces... + Prefere&ncias... + + + + Ctrl+, + Ctrl+, + + + + &View + &Ver + + + + Show Menu Bar + Mostrar la barra de men煤 + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &Detener + + + + &Reload Page + &Recargar p谩gina + + + + Make Text &Bigger + Hacer el texto m谩s &grande + + + + Make Text &Normal + Hacer el texto &normal + + + + Make Text &Smaller + Hacer el texto m谩s &peque帽o + + + + Page S&ource + F&uente de la p谩gina + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + &Pantalla completa + + + + Hi&story + Hi&storial + + + + Back + Atr谩s + + + + Forward + Adelante + + + + Home + Inicio + + + + Restore Last Session + Restaurar la 煤ltima sesi贸n + + + + &Bookmarks + &Marcadores + + + + Manage Bookmarks... + Administrar Marcadores... + + + + Add Bookmark... + Agregar Marcador... + + + + &Window + &Ventana + + + + &Tools + &Herramientas + + + + Web &Search + B煤squeda & Web + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + &Limpiar informaci贸n privada + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + Habilitar &Inspecci贸n Web + + + + &Help + &Ayuda + + + + About &Qt + Acerca de &QT + + + + About &Arora + Acerca de &Arora + + + + Navigation + Navegaci贸n + + + + Show Status Bar + Mostar barra de estado + + + + Hide Status Bar + Esconder barra de estado + + + + Show Toolbar + Mostrar barra de herramientas + + + + Hide Toolbar + Esconder barra de herramientas + + + + Show Bookmarks Bar + Mostrar barra de marcadores + + + + Hide Bookmarks Bar + Esconder barra de marcadores + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Abrir recurso web + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos los archivos (*.*) + + + + Print Document + Imprimir documento + + + + Are you sure you want to turn on private browsing? + 驴Est谩 seguro de activar la navegaci贸n privada? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Cuando la navegaci贸n privada se activa, algunas accciones relacionadas con su privacidad son deshabilitadas:<ul><li> Las p谩ginas web no son agregadas en el historial.</li><li> Los objetos son autom谩ticamente removidos de la ventana de descargas.</li><li> Las cookies nuevas no son guardadas, las cookies actuales no podr谩n ser accesadas.</li><li> Los 铆conos de los sitios no ser谩n guardados, la sesi贸n tampoco podr谩 ser guardada.</li><li> Las b煤squedas no son agregadas al men煤 emergente de la caja de b煤squeda.</li></ul> A menos que usted cierre la ventana, podr谩 utilizar los botones Regresar y Adelantar para regresar a p谩ginas web que han sido abiertas. + + + + Are you sure you want to close the window? There are %1 tabs open + 驴Est谩 seguro que desea cerrar esta ventana? Hay %1 pesta帽ana(s) abiertas + + + + Page Source of %1 + P谩gina fuente de %1 + + + + Web Inspector + Inspecci贸n web + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + La inspecci贸n web solo funcionar谩 correctamente para p谩ginas que fueron cargadas despu茅s de haber sido habilitado. +驴Desea recargar las p谩ginas? + + + + Stop loading the current page + Detener la carga de la p谩gina actual + + + + Reload the current page + Recargar la p谩gina actual + + + + Downloads + Descargas + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + + Clear + Borrar + + + + ClearPrivateData + + + Clear Private Data + Borrar datos privados + + + + Clear the following items: + Borrarr las siguientes opciones: + + + + &Browsing History + &Historial de navegaci贸n + + + + &Download History + &Historial de descargas + + + + &Search History + &Historial de b煤squedas + + + + &Cookies + &Cookies + + + + C&ached Web Pages + P谩ginas web c&acheadas + + + + Website &Icons + &脥conos del sitio web + + + + Clear &Private Data + Borrar los &Datos privados + + + + &Cancel + &Cancelar + + + + CookieExceptionsModel + + + Website + Sitio web + + + + Rule + Regla + + + + Allow + Permitir + + + + Block + Bloquear + + + + Allow For Session + Permitir por esta sesi贸n + + + + CookieModel + + + Website + Stio web + + + + Name + Nombre + + + + Path + Ruta + + + + Secure + Seguridad + + + + Expires + Expiraci贸n + + + + Contents + Contenidos + + + + true + verdadero + + + + false + falso + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + &Remover + + + + Remove &All Cookies + Remove &todas las cookies + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Excepciones de Cookies + + + + New Exception + Nueva excepci贸n + + + + Domain: + Dominio: + + + + Block + Bloquear + + + + Allow For Session + Permitir por esta sesi贸n + + + + Allow + Permitir + + + + Exceptions + Excepciones + + + + &Remove + &Remover + + + + Remove &All + Remover &Todo + + + + DownloadDialog + + + Downloads + Descargas + + + + Clean up + Borrar + + + + 0 Items + 0 objetos + + + + &OK + &OK + + + + DownloadItem + + + Form + Foma + + + + Ico + 脥cono + + + + Filename + Nombre del archivo + + + + Try Again + Intentar de nuevo + + + + Stop + Detener + + + + Open + Abrir + + + + Save File + Guardar archivo + + + + Download canceled: %1 + Descarga cancelada: %1 + + + + Error opening output file: %1 + Error abriendo el archivo de salida: %1 + + + + Error saving: %1 + Error guardando: %1 + + + + Network Error: %1 + Error de red: %1 + + + + seconds + segundos + + + + - %n minutes remaining + + - %n minuto restante + - %n minutos restantes + + + + + - %n seconds remaining + + - %n segundo restante + - %n segundos restantes + + + + + %1 of %2 (%3/sec) %4 + %1 de %2 (%3/seg) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 de %2 - Detenido + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + %n Download(s) + + %n Descargado + %n Descargados + + + + + HistoryDialog + + + Open + Abrir + + + + Copy + Copiar + + + + Delete + Borrar + + + + History + Historial + + + + &Remove + &Remover + + + + Remove &All + Remover &Todo + + + + HistoryMenu + + + Show All History + Mostrar todo el historial + + + + Clear History... + Borrar historial... + + + + Clear History + Borrar historial + + + + Do you want to clear the history? + 驴Desea borrar el historial? + + + + HistoryModel + + + Title + T铆tulo + + + + Address + Direcci贸n + + + + HistoryTreeModel + + + Earlier Today + Lo m谩s antiguo + + + + %n item(s) + + %n objeto + %n objetos + + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Digite el usuario y clave para "%1" en %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Conectarse al proxy "%1" usando:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + Errores SSL: + +%1 +%2 +驴Desea ignorar esos errores? + + + + Do you want to accept all these certificates? + 驴Desea aceptar todos esos certificados? + + + + PasswordDialog + + + Authentication Required + Se requiere autenticaci贸n + + + + DUMMY ICON + 脥CONO VIRTUAL + + + + INTRO TEXT DUMMY + DIGITAR TEXTO VIRTUAL + + + + Username: + Usuario: + + + + Password: + Clave: + + + + ProxyDialog + + + Proxy Authentication + Autenticaci贸n de Proxy + + + + ICON + 脥CONO + + + + Connect to proxy + Conactar al proxsy + + + + Username: + Usuario: + + + + Password: + Clave: + + + + QObject + + + The file is not an XBEL version 1.0 file. + El archivo no es una versi贸n 1.0 XBEL. + + + + Unknown title + T铆tulo desconocido + + + + SearchBanner + + + Form + Forma + + + + TextLabel + Etiqueta de texto + + + + < + < + + + + > + > + + + + Done + Finalizado + + + + SearchLineEdit + + + Search + Buscar + + + + Settings + + + Preferences + Preferencias + + + + General + General + + + + On startup: + Al iniciar: + + + + Show my home page + Mostrar mi p谩gina de Inicio + + + + Show a blank page + Mostrar una p谩gina en blanco + + + + Restore windows and tabs from last time + Restaurar ventanas y pesta帽as de la 煤ltima sesi贸n + + + + Home Page: + P谩gina de Inicio: + + + + Set to current page + Fijar la p谩gina actual + + + + Remove history items: + Remover objetos del historial: + + + + After one day + Despu茅s de un d铆a + + + + After one week + Despu茅s de una semana + + + + After two weeks + Despu茅s de dos semanas + + + + After one month + Despu茅s de un mes + + + + After one year + Despu茅s de un a帽o + + + + Manually + Manualmente + + + + On application exit + Al salir de la aplicaci贸n + + + + Open links from applications: + Abrir enlaces desde aplicaciones: + + + + In a tab in the current window + En una pesta帽a en la ventana actual + + + + In a new window + En una nueva ventana + + + + Downloads + Descargas + + + + Ask for a destination each time + Preguntar en cada caso por el destino + + + + Use this destination: + Usar este destino: + + + + Appearance + Apariencia + + + + Standard font: + Fuente est谩ndar: + + + + Times 16 + Times 16 + + + + Select... + Seleccionar... + + + + Fixed-width font: + Fuente de anchura-fija: + + + + Courier 13 + Courier 13 + + + + Privacy + Privacidad + + + + Web Content + Contenido web + + + + Enable Plugins + Habilitar agregados + + + + Enable Javascript + Habilitar Javascript + + + + View Images + Vier Imagenes + + + + Cookies + Cookies + + + + Accept Cookies: + Aceptar Cookies: + + + + Always + Siempre + + + + Never + Nunca + + + + Only from sites you navigate to + Solo de las p谩ginas visitadas + + + + Exceptions... + Excepciones... + + + + Keep Cookies Until: + Mantener Cookies hasta: + + + + They expire + Que expiren (caduquen) + + + + I exit the application + Al salir de la aplicaci贸n + + + + At most 90 days + Durante 90 d铆as + + + + Cookies... + Cookies... + + + + Tabs + Pesta帽as + + + + Select tabs and windows as they are created + Seleccionar pesta帽as y ventanas cuando se crean + + + + Confirm when closing multiple tabs + Confirmar cuando se cierran m煤ltiples pesta帽as + + + + Proxy + Proxy + + + + Use proxy server + Usar servidor proxsy + + + + Type: + Tipo: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host name: + Nombre del Host: + + + + Port: + Puerto: + + + + User Name: + Usuario: + + + + Password: + Clave: + + + + Advanced + Avanzado + + + + Style Sheet: + Estilo de hoja: + + + + TabBar + + + Show Tab Bar + Mostrar la barra de pesta帽as + + + + Hide Tab Bar + Esconder la barra de pesta帽as + + + + New &Tab + Nueva &pesta帽a + + + + Duplicate Tab + Duplicar pesta帽a + + + + &Close Tab + &Cerrar pesta帽a + + + + Close &Other Tabs + Cerrar &otras pesta帽as + + + + Reload Tab + Recargar pesta帽a + + + + Reload All Tabs + Recargar todas las pesta帽as + + + + TabWidget + + + New &Tab + Nueva &pesta帽a + + + + &Close Tab + &Cerrar pesta帽a + + + + Show Next Tab + Mostrar la pr贸xima pesta帽a + + + + Show Previous Tab + Mostrar la pesta帽a anterior + + + + Recently Closed Tabs + Pesta帽as cerradas recientemente + + + + Untitled + Sin t铆tulo + + + + Do you really want to close this page? + 驴Desea relamente cerrar esta p谩gina? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Usted ha modificado esta p谩gina y una vez que la haya cerrado los cambios se perder谩n +驴En realidad desea cerrrar esta p谩gina? + + + + + ToolbarSearch + + + No Recent Searches + No hay b煤squedas recientes + + + + Recent Searches + B煤squedas recientes + + + + Clear Recent Searches + Limpiar b煤squedas recientes + + + + WebPage + + + Error loading page: %1 + Error cargando p谩gina: %1 + + + + WebView + + + Open in New &Window + Abrir en una nueva &ventana + + + + Open in New &Tab + Abrir en una nueva &pesta帽a + + + + Save Lin&k + Guardar en&lace + + + + &Bookmark This Link + &Marcar este enlace + + + + &Copy Link Location + &Copiar la direcci贸n del enlace + + + + Open Image in New &Window + Abrir imagen en una nueva &ventana + + + + Open Image in New &Tab + Abrir imagen en una nueva &pesta帽a + + + + &Save Image + &Guardar imagen + + + + &Copy Image + C&opiar imagen + + + + C&opy Image Location + C&opiar la ubicaci贸n de la imagen + + + + Loading... + Cargando... + + + + WebViewSearch + + + Not Found + No encontrado + + + diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 804136df..545da231 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -8,6 +8,7 @@ TRANSLATIONS += \ de.ts \ en.ts \ es.ts \ + es_CR.ts \ et.ts \ fr_FR.ts \ fr_CA.ts \ From 3fb5c19fa9ffb411bcb9bd354ed136d47a8ab3e0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 11 Sep 2008 23:20:48 -0400 Subject: [PATCH 0175/1254] Update es language by mbouzada Issue: 191 --- src/locale/es.ts | 713 ++++++++++++----------------------------------- 1 file changed, 171 insertions(+), 542 deletions(-) diff --git a/src/locale/es.ts b/src/locale/es.ts index 368b7d33..921934ed 100644 --- a/src/locale/es.ts +++ b/src/locale/es.ts @@ -1,56 +1,50 @@ - - - + + AboutDialog - - About - Acerca de... - - - - Authors - - - - - License - - - - Lightweight WebKit-based web browser - + Navegador ligero basado en WebKit - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - <a href="http://arora-browser.org">http://arora-browser.org</a> - + + + + Authors + Autores + + + License + Licencia - Close - + Cerrar + + + About + Acerca de AddBookmarkDialog - Add Bookmark A帽adir marcador - Type a name for the bookmark, and choose where to keep it. Escriba un nombre para el marcador y elija d贸nde quiere guardarlo. @@ -58,111 +52,90 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Bookmarks + Marcadores + + + &Remove + &Eliminar + + + Add Folder + Crear carpeta + + Open Abrir - Open in New Tab Abrir en una pesta帽a nueva - Delete Borrar - New Folder Nueva carpeta - - - Bookmarks - Marcadores - - - - &Remove - &Eliminar - - - - Add Folder - Crear carpeta - BookmarksManager - Error when loading bookmarks on line %1, column %2: %3 Error al cargar los marcadores en la l铆nea %1, columna %2: %3 - Toolbar Bookmarks Barra de herramientas de marcadores - Menu Men煤 - Open File Abrir archivo - XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) - Imported %1 Importado %1 - Save File Guardar archivo - %1 Bookmarks.xbel %1 Bookmarks.xbel - Export error Error al exportar - error saving bookmarks Error guardando los marcadores - Remove Bookmark Eliminar marcador - Insert Bookmark Insertar marcador - Name Change Cambiar el nombre - Address Change Cambiar la direcci贸n @@ -170,12 +143,10 @@ p, li { white-space: pre-wrap; } BookmarksModel - Title T铆tulo - Address Direcci贸n @@ -183,7 +154,6 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - Bookmark Marcador @@ -191,456 +161,336 @@ p, li { white-space: pre-wrap; } BrowserApplication - + (Change: %1 %2) + (Cambio: %1 %2) + + There are %1 windows and %2 tabs open Do you want to quit anyway? Hay %1 ventanas y %2 pesta帽as abiertas 驴Est谩 seguro de que desea salir? - Restore failed - + Fall贸 la recuperaci贸n - - The saved session will not being restored because last time it was restored Arora crashed. - + The saved session will not be restored because Arora crashed while trying to restore this session. + La sei贸n guardada no puede ser recuperada ya que Arora fall贸 durante la 煤ltima recuperaci贸n. BrowserMainWindow - &File &Archivo - &New Window &Ventana nueva - &Open File... &Abrir archivo... - Open &Location... Abrir &ubicaci贸n... - &Save As... &Guardar como... - &Import Bookmarks... &Importar marcadores... - &Export Bookmarks... &Exportar marcadores... - P&rint Preview... V&ista previa... - &Print... Im&primir... - Private &Browsing... &Navegaci贸n privada... - &Quit &Salir - &Edit &Editar - &Undo &Deshacer - &Redo &Rehacer - Cu&t Cor&tar - &Copy &Copiar - &Paste &Pegar - &Find &Buscar - - &Find Next - Buscar &siguiente + Find Nex&t + Buscar &sigiente - - &Find Previous - Buscar &anterior + Find P&revious + Buscar &anterior - - &Preferences - &Preferencias + Prefere&nces... + &Preferencias... - Ctrl+, Ctrl+, - &View &Ver - - Shift+Ctrl+B - Shift+Ctrl+B + Show Menu Bar + Mostrar barra de men煤 - Ctrl+| Ctrl+| - + Shift+Ctrl+B + Shift+Ctrl+B + + Ctrl+/ Ctrl+/ - &Stop &Detener - - Reload Page - &Recargar la p谩gina + &Reload Page + &Recargar p谩gina - - &Make Text Bigger - &Ampliar tama帽o del texto + Make Text &Bigger + &Ampliar tama帽o del texto - - &Make Text Normal - Tama帽o del texto &normal + Make Text &Normal + Tama帽o &normal del texto - - &Make Text Smaller - &Reducir tama帽o del texto + Make Text &Smaller + &Reducir tama帽o del texto - Page S&ource C贸digo &fuente - Ctrl+Alt+U Ctrl+Alt+U - &Full Screen Pantalla &completa - Hi&story &Historial - Back Atr谩s - Forward Adelante - Home Inicio - Restore Last Session - Restaurar la 煤ltima sesi贸n + Recuperar la 煤ltima sesi贸n - &Bookmarks &Marcadores - Manage Bookmarks... Administrar marcadores... - Add Bookmark... A帽adir marcador... - &Window &Ventana - &Tools &Herramientas - Web &Search &Buscar en la web - Ctrl+K Web Search Ctrl+K - &Clear Private Data &Borrar datos privados - Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - Enable Web &Inspector Activar el &inspector web - &Help - &Ayuda + A&yuda - About &Qt Acerca de &Qt - About &Arora Acerca de &Arora - Navigation Navegaci贸n - Show Status Bar Mostrar la barra de estado - Hide Status Bar Ocultar la barra de estado - Show Toolbar Mostrar la barra de herramientas - Hide Toolbar Ocultar la barra de herramientas - - Show Bookmarks bar - Mostrar la barra de marcadores + Show Bookmarks Bar + Mostrar barra de marcadores - - Hide Bookmarks bar - Ocultar la barra de marcadores + Hide Bookmarks Bar + Ocultar barra de marcadores - Arora Arora - %1 - Arora Page title and Browser name %1 - Arora - Open Web Resource Abrir un recurso web - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Recursos web (*.html *.htm *.svg *.png *.gif *.svgz);;Todos los archivos (*.*) - Print Document Imprimir documento - Are you sure you want to turn on private browsing? 驴Est谩 seguro de que quiere activar la navegaci贸n privada? - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>Cuando la navegaci贸n privada est谩 activada, se desactivan algunas opciones relacionadas con su privacidad:<ul><li> Las p谩ginas web no se a帽aden al historial.</li><li> Las descargas se quitan autom谩ticamente de la ventana de descargas.</li><li> No se guardan las cookies nuevas y no se puede acceder a las cookies actuales.</li><li> No se guardan los iconos de los sitios web ni tampoco la sesi贸n.</li><li> Las b煤squedas no se a帽aden al men煤 emergente del cuadro de b煤squeda.</li></ul>A煤n puede pulsar los botones Atr谩s y Adelante para volver a las p谩ginas que ha abierto hasta que cierre la ventana. + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Cuando la navegaci贸n privada est谩 activada, se desactivan algunas opciones relacionadas con su privacidad:<ul><li> Las p谩ginas web no se a帽aden al historial.</li><li> Las descargas se quitan autom谩ticamente de la ventana de descargas.</li><li> No se guardan las cookies nuevas y no se puede acceder a las cookies actuales.</li><li> No se guardan los iconos de los sitios web ni tampoco la sesi贸n.</li><li> Las b煤squedas no se a帽aden al men煤 emergente del cuadro de b煤squeda.</li></ul>A煤n puede pulsar los botones Atr谩s y Adelante para volver a las p谩ginas que ha abierto hasta que cierre la ventana. - Are you sure you want to close the window? There are %1 tabs open - 驴Est谩 seguro de que quiere cerrar la ventana? Hay %1 pesta帽as abiertas + 驴Est谩 seguro de que quiere cerrar la ventana? Hay %1 pesta帽as abiertas - Page Source of %1 C贸digo fuente de %1 - Web Inspector Inspector web - The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? El inspector web s贸lo funcionar谩 correctamente con las p谩ginas que se carguen despu茅s de activarlo. 驴Desea recargar todas las p谩ginas? - Stop loading the current page Detener la carga de la p谩gina actual - Reload the current page Recargar la p谩gina actual - Downloads Descargas - Alt+Ctrl+L Download Manager Alt+Ctrl+L - - - Find &Next - - - - - Find P&revious - - - - - Prefe&rences - - - - - &Reload Page - - - - - Make Text &Bigger - - - - - Make Text &Normal - - - - - Make Text &Smaller - - - - - Show Bookmarks Bar - - - - - Hide Bookmarks Bar - - - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - - ClearButton - Clear Limpiar @@ -648,52 +498,42 @@ Do you want to reload all pages? ClearPrivateData - Clear Private Data Limpiar datos privados - Clear the following items: Limpiar los siguientes elementos: - &Browsing History Historial de &navegaci贸n - &Download History Historial de &descargas - &Search History Historial de &b煤squedas - &Cookies &Cookies - - C&ache - C&ach茅 + C&ached Web Pages + P谩ginas &web en memoria cach茅 - Website &Icons &Iconos de los sitios web - Clear &Private Data Limpiar datos &privados - &Cancel &Cancelar @@ -701,27 +541,22 @@ Do you want to reload all pages? CookieExceptionsModel - Website Sitio web - - Status - Estado + Rule + Regla - Allow Permitir - Block - Bloquar + Bloquear - Allow For Session Permitir s贸lo durante esta sesi贸n @@ -729,50 +564,49 @@ Do you want to reload all pages? CookieModel - Website Sitio web - Name Nombre - Path Ruta - Secure Segura - Expires Caducidad - Contents Contenidos + + true + verdadero + + + false + falso + CookiesDialog - Cookies Cookies - &Remove &Eliminar - Remove &All Cookies Eliminar &todas las cookies @@ -780,47 +614,38 @@ Do you want to reload all pages? CookiesExceptionsDialog - Cookie Exceptions Cookies exentas - New Exception Nueva excepci贸n - Domain: Dominio: - Block Bloquear - Allow For Session Permitir s贸lo durante esta sesi贸n - Allow Permitir - Exceptions Excepciones - &Remove &Eliminar - Remove &All Eliminar &todas @@ -828,216 +653,150 @@ Do you want to reload all pages? DownloadDialog - Downloads Descargas - Clean up Vaciar - 0 Items 0 elementos + + &OK + C&onforme + DownloadItem - Form Formulario - Ico - Ico + Icono - Filename Nombre de archivo - Try Again Volver a intentarlo - Stop Detener - Open Abrir - Save File Guardar archivo - Download canceled: %1 Descarga cancelada: %1 - - Error opening save file: %1 - Error al abrir el archivo guardado: %1 + Error opening output file: %1 + Error al abrir el archivo de salida: %1 - Error saving: %1 Error al guardar: %1 - Network Error: %1 Error de red: %1 - seconds segundos - - minutes - minutos - - - - - %4 %5 remaining - - %4 %5 restantes - - - %1 of %2 (%3/sec) %4 %1 de %2 (%3/seg) %4 - ? ? - %1 of %2 - Stopped %1 de %2 - Detenida - bytes bytes - kB kB - MB MB - - - - %n minutes remaining - - - - - - - - - %n seconds remaining - - - - - - DownloadManager + HistoryDialog - - 1 Download - 1 descarga + History + Historial - - %1 Downloads - %1 descargas + &Remove + &Eliminar - - - %n Download(s) - - - - + + Remove &All + Eliminar &todo - - - HistoryDialog - Open Abrir - Copy Copiar - Delete Borrar - - - History - Historial - - - - &Remove - &Eliminar - - - - Remove &All - Eliminar &todo - HistoryMenu - Show All History Mostrar todo el historial - + Clear History... + Limpiar historial... + + Clear History Limpiar historial + + Do you want to clear the history? + 驴Desea limpiar el historial? + HistoryModel - Title T铆tulo - Address Direcci贸n @@ -1045,38 +804,21 @@ Do you want to reload all pages? HistoryTreeModel - Earlier Today Hace un rato - - - %1 items - %1 elementos - - - - %n item(s) - - - - - NetworkAccessManager - <qt>Enter username and password for "%1" at %2</qt> <qt>Introduzca el nombre de usuario y la contrase帽a para "%1" en %2</qt> - <qt>Connect to proxy "%1" using:</qt> <qt>Conectar al proxy "%1" usando:</qt> - SSL Errors: %1 @@ -1093,7 +835,6 @@ Do you want to ignore these errors? 驴Quiere omitir estos errores? - Do you want to accept all these certificates? 驴Desea aceptar todos estos certificados? @@ -1101,27 +842,22 @@ Do you want to ignore these errors? PasswordDialog - Authentication Required - Autenticaci贸n necesaria + Se necesita autenticaci贸n - DUMMY ICON - + ICONO SIMULADO - INTRO TEXT DUMMY - + INTRODUCIR TEXTO SIMULADO - Username: Nombre de usuario: - Password: Contrase帽a: @@ -1129,27 +865,22 @@ Do you want to ignore these errors? ProxyDialog - Proxy Authentication Autenticaci贸n con el proxy - ICON - + ICONO - Connect to proxy Conectar al proxy - Username: Nombre de usuario: - Password: Contrase帽a: @@ -1157,12 +888,10 @@ Do you want to ignore these errors? QObject - The file is not an XBEL version 1.0 file. El archivo no es un archivo XBEL versi贸n 1.0. - Unknown title T铆tulo desconocido @@ -1170,27 +899,22 @@ Do you want to ignore these errors? SearchBanner - Form Formulario - TextLabel - + Texto de etiqueta - < < - > > - Done Hecho @@ -1198,7 +922,6 @@ Do you want to ignore these errors? SearchLineEdit - Search Buscar @@ -1206,404 +929,323 @@ Do you want to ignore these errors? Settings - - Settings - Opciones + Preferences + Preferencias - General General - - Home: + On startup: + Al inicio: + + + Show my home page + Mostrar mi p谩gina de inicio + + + Show a blank page + Mostrar p谩gina en blanco + + + Restore windows and tabs from last time + Recuperar ventanas y pesta帽as de la 煤ltima sesi贸n + + + Home Page: P谩gina de inicio: - Set to current page P谩gina actual - Remove history items: Eliminar p谩ginas del historial: - After one day Al cabo de un d铆a - After one week Al cabo de una semana - After two weeks Al cabo de dos semanas - After one month Al cabo de un mes - After one year Al cabo de un a帽o - Manually Manualmente - + On application exit + Al cerrar la aplicaci贸n + + Open links from applications: Abrir enlaces desde aplicaciones: - In a tab in the current window En una pesta帽a en la ventana actual - In a new window En una ventana nueva - Downloads Descargas - Ask for a destination each time - Preguntar d贸nde guardar las descargas cada vez + Preguntar en cada caso d贸nde se quieren guardar - Use this destination: Usar este destino: - Appearance Apariencia - Standard font: Fuente est谩ndar: - Times 16 Times 16 - Select... Seleccionar... - Fixed-width font: Fuente de anchura fija: - Courier 13 Courier 13 - Privacy Privacidad - Web Content Contenido web - Enable Plugins Activar plugins - Enable Javascript Activar javascript - + View Images + Ver imagenes + + Cookies Cookies - Accept Cookies: Aceptar cookies: - Always Siempre - Never Nunca - Only from sites you navigate to S贸lo desde los sitios que visite - Exceptions... Excepciones... - - Keep until: - Mantener: + Keep Cookies Until: + Mantener las cookies: - They expire Hasta que caduquen - I exit the application Hasta que cierre la aplicaci贸n - At most 90 days 90 d铆as como m谩ximo - Cookies... Cookies... - + Tabs + Pesta帽as + + + Select tabs and windows as they are created + Seleccionar pesta帽as y ventanas al ser creadas + + + Confirm when closing multiple tabs + Pedir confirmaci贸n cuando se vayan a cerrar varias pesta帽as + + Proxy Proxy - - Enable proxy - Usar un proxy + Use proxy server + Usar un sevidor proxy - Type: Tipo: - Socks5 Socks5 - Http Http - - Host: - Direcci贸n: + Host name: + Nombre de la m谩quina: - Port: Puerto: - User Name: Nombre de usuario: - Password: Contrase帽a: - Advanced Avanzado - Style Sheet: Hoja de estilos: + + + TabBar - - On startup: - - - - - Show my home page - - - - - Show a blank page - - - - - Restore windows and tabs from last time - - - - - On application exit - - - - - Enable Images - - - - - Tabs - - - - - Select tabs and windows as they are created - + Show Tab Bar + Mostrar barra de pesta帽as - - Confirm when closing multiple tabs - + Hide Tab Bar + Ocultar barra de pesta帽as - - - TabBar - New &Tab &Nueva pesta帽a - Duplicate Tab Duplicar pesta帽a - &Close Tab &Cerrar pesta帽a - Close &Other Tabs - Cerrar &otras pesta帽as + Cerrar las &otras pesta帽as - Reload Tab Recargar pesta帽a - Reload All Tabs Recargar todas las pesta帽as - - - Show Tab Bar - - - - - Hide Tab Bar - - TabWidget - New &Tab Nueva &pesta帽a - &Close Tab &Cerrar pesta帽a - Show Next Tab Mostrar pesta帽a siguiente - Show Previous Tab Mostrar pesta帽a anterior - Recently Closed Tabs Pesta帽as cerradas recientemente - - (Untitled) - (Sin t铆tulo) + Untitled + Sin t铆tulo - Do you really want to close this page? 驴Est谩 seguro de que quiere cerrar esta p谩gina? - You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Ha modificado esta p谩gina y si la cierre perder谩 los cambios. -驴Est谩 seguro de que quiere cerrar esta p谩gina? +驴Est谩 seguro de que quiere cerrar esta p谩gina? + ToolbarSearch - - Google - Google - - - No Recent Searches No hay b煤squedas recientes - Recent Searches B煤squedas recientes - Clear Recent Searches Limpiar b煤squedas recientes @@ -1611,7 +1253,6 @@ Do you really want to close this page? WebPage - Error loading page: %1 Error al cargar la p谩gina: %1 @@ -1619,65 +1260,53 @@ Do you really want to close this page? WebView - Open in New &Window Abrir en una &ventana nueva - Open in New &Tab Abrir en una &pesta帽a nueva - Save Lin&k &Guardar enlace - &Bookmark This Link &A帽adir esta p谩gina a marcadores - &Copy Link Location &Copiar direcci贸n del enlace - Open Image in New &Window Abrir &imagen en una ventana nueva - Open Image in New &Tab Abrir i&magen en una pesta帽a nueva - &Save Image G&uardar imagen - &Copy Image Co&piar imagen - C&opy Image Location Copiar &direcci贸n de la imagen - Loading... - + Cargando... WebViewSearch - Not Found No encontrado From 2360c18804470dfd9b4487e7eb343879bd810f1a Mon Sep 17 00:00:00 2001 From: ABuus Date: Mon, 8 Sep 2008 21:31:38 +0200 Subject: [PATCH 0176/1254] Double left click locationbar calls QLineEdit::selectAll() modified: src/locationbar.cpp modified: src/locationbar.h --- src/locationbar.cpp | 12 ++++++++++++ src/locationbar.h | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 9cf81d64..71402df5 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -188,3 +188,15 @@ void LocationBar::focusOutEvent(QFocusEvent *event) webViewUrlChanged(m_webView->url()); QLineEdit::focusOutEvent(event); } + +void LocationBar::mouseDoubleClickEvent(QMouseEvent *event) +{ + if(event->button() == Qt::LeftButton) + { + selectAll(); + } + else + { + QLineEdit::mouseDoubleClickEvent(event); + } +} diff --git a/src/locationbar.h b/src/locationbar.h index 5db5d633..d84be48a 100644 --- a/src/locationbar.h +++ b/src/locationbar.h @@ -38,7 +38,7 @@ class LocationBar : public LineEdit protected: void paintEvent(QPaintEvent *event); void focusOutEvent(QFocusEvent *event); - + void mouseDoubleClickEvent(QMouseEvent *event); private slots: void webViewUrlChanged(const QUrl &url); From 08004108123f6107e67f0a8812e901536410fa58 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 12 Sep 2008 20:07:08 -0400 Subject: [PATCH 0177/1254] Tweak to follow the project code style --- src/locationbar.cpp | 7 ++----- src/locationbar.h | 1 + 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 71402df5..9c917ce7 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -191,12 +191,9 @@ void LocationBar::focusOutEvent(QFocusEvent *event) void LocationBar::mouseDoubleClickEvent(QMouseEvent *event) { - if(event->button() == Qt::LeftButton) - { + if (event->button() == Qt::LeftButton) selectAll(); - } else - { QLineEdit::mouseDoubleClickEvent(event); - } } + diff --git a/src/locationbar.h b/src/locationbar.h index d84be48a..c6ee0de4 100644 --- a/src/locationbar.h +++ b/src/locationbar.h @@ -39,6 +39,7 @@ class LocationBar : public LineEdit void paintEvent(QPaintEvent *event); void focusOutEvent(QFocusEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); + private slots: void webViewUrlChanged(const QUrl &url); From df7d4a90d8c62deb335af18c15765d370592b0d7 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 16 Sep 2008 00:22:04 -0400 Subject: [PATCH 0178/1254] Tweak HistoryManager API to be easier to read. HistoryItem => HistoryEntry historyLimit => daysToExpire --- autotests/history/tst_history.cpp | 114 +++++++++--------- .../tst_historyfiltermodel.cpp | 8 +- src/history.cpp | 58 ++++----- src/history.h | 37 +++--- src/tabwidget.cpp | 2 +- 5 files changed, 109 insertions(+), 110 deletions(-) diff --git a/autotests/history/tst_history.cpp b/autotests/history/tst_history.cpp index 5be8cd48..539930ac 100644 --- a/autotests/history/tst_history.cpp +++ b/autotests/history/tst_history.cpp @@ -35,12 +35,12 @@ public slots: private slots: void history_data(); void history(); - void addHistoryItem_data(); - void addHistoryItem(); - void updateHistoryItem_data(); - void updateHistoryItem(); - void historyLimit_data(); - void historyLimit(); + void addHistoryEntry_data(); + void addHistoryEntry(); + void updateHistoryEntry_data(); + void updateHistoryEntry(); + void daysToExpire_data(); + void daysToExpire(); void clear_data(); void clear(); void setHistory_data(); @@ -54,7 +54,7 @@ private slots: void historyDialog(); private: - QList bigHistory; + QList bigHistory; }; // Subclass that exposes the protected functions. @@ -71,11 +71,11 @@ class SubHistory : public HistoryManager } ~SubHistory() { - setHistoryLimit(30); + setDaysToExpire(30); } - void addHistoryItem(const HistoryItem &item) - { HistoryManager::addHistoryItem(item); } + void addHistoryEntry(const HistoryEntry &item) + { HistoryManager::addHistoryEntry(item); } }; // This will be called before the first test function is executed. @@ -91,14 +91,14 @@ void tst_History::initTestCase() } QTextStream stream(&file); - QList list; + QList list; do { QString url = stream.readLine(); QString title = stream.readLine(); QString date = stream.readLine(); QDateTime dateTime = QDateTime::fromString(date); QCOMPARE(dateTime.toString(), date); - HistoryItem item(url, dateTime, title); + HistoryEntry item(url, dateTime, title); list.prepend(item); } while (!stream.atEnd()); bigHistory = list; @@ -128,23 +128,23 @@ void tst_History::history_data() void tst_History::history() { SubHistory history; - history.addHistoryItem(HistoryItem()); + history.addHistoryEntry(HistoryEntry()); history.clear(); - QCOMPARE(history.historyLimit(), 30); - history.setHistoryLimit(-1); - history.updateHistoryItem(QUrl(), QString()); + QCOMPARE(history.daysToExpire(), 30); + history.setDaysToExpire(-1); + history.updateHistoryEntry(QUrl(), QString()); } -typedef QList HistoryList; +typedef QList HistoryList; Q_DECLARE_METATYPE(HistoryList) -Q_DECLARE_METATYPE(HistoryItem) -void tst_History::addHistoryItem_data() +Q_DECLARE_METATYPE(HistoryEntry) +void tst_History::addHistoryEntry_data() { QTest::addColumn("initial"); QTest::addColumn("items"); QTest::addColumn("expected"); HistoryList empty; - HistoryItem item1("http://foo.com", QDateTime::currentDateTime().addDays(-3)); + HistoryEntry item1("http://foo.com", QDateTime::currentDateTime().addDays(-3)); HistoryList one; one << item1; HistoryList one2; @@ -154,8 +154,8 @@ void tst_History::addHistoryItem_data() QTest::newRow("1-0") << one << HistoryList() << one; QTest::newRow("1-1") << one << (HistoryList() << item1) << one2; - HistoryItem item2("http://bar.com", QDateTime::currentDateTime().addDays(-2)); - HistoryItem item2n("http://bar.com", QDateTime::currentDateTime()); + HistoryEntry item2("http://bar.com", QDateTime::currentDateTime().addDays(-2)); + HistoryEntry item2n("http://bar.com", QDateTime::currentDateTime()); HistoryList two = one; two.prepend(item2); @@ -170,8 +170,8 @@ void tst_History::addHistoryItem_data() QTest::newRow("2-2,1") << one << (HistoryList() << item2) << swap; /* // move to test for the historyFilterModel - HistoryItem item3("http://baz.com", QDateTime::currentDateTime().addDays(-1)); - HistoryItem item3n("http://baz.com", QDateTime::currentDateTime()); + HistoryEntry item3("http://baz.com", QDateTime::currentDateTime().addDays(-1)); + HistoryEntry item3n("http://baz.com", QDateTime::currentDateTime()); QTest::newRow("move-1") << (HistoryList() << item3 << item2 << item1) << (HistoryList() << item3) << (HistoryList() << item3 << item2 << item1); @@ -186,8 +186,8 @@ void tst_History::addHistoryItem_data() */ } -// public void addHistoryItem(HistoryItem* item) -void tst_History::addHistoryItem() +// public void addHistoryEntry(HistoryEntry* item) +void tst_History::addHistoryEntry() { QFETCH(HistoryList, initial); QFETCH(HistoryList, items); @@ -196,24 +196,24 @@ void tst_History::addHistoryItem() SubHistory history; history.setHistory(initial); for (int i = 0; i < items.count(); ++i) - history.addHistoryItem(items[i]); + history.addHistoryEntry(items[i]); QCOMPARE(history.history().count(), expected.count()); QCOMPARE(history.history(), expected); } -void tst_History::updateHistoryItem_data() +void tst_History::updateHistoryEntry_data() { QTest::addColumn("list"); QTest::addColumn("url"); QTest::addColumn("title"); QTest::newRow("null") << HistoryList() << QUrl() << QString(); - QTest::newRow("one") << (HistoryList() << HistoryItem()) << QUrl() << QString("foo"); - QTest::newRow("two") << (HistoryList() << HistoryItem() << HistoryItem("http://foo.com")) << QUrl() << QString("foo"); + QTest::newRow("one") << (HistoryList() << HistoryEntry()) << QUrl() << QString("foo"); + QTest::newRow("two") << (HistoryList() << HistoryEntry() << HistoryEntry("http://foo.com")) << QUrl() << QString("foo"); } -// public void updateHistoryItem(QUrl const& url, QString const title) -void tst_History::updateHistoryItem() +// public void updateHistoryEntry(QUrl const& url, QString const title) +void tst_History::updateHistoryEntry() { QFETCH(HistoryList, list); QFETCH(QUrl, url); @@ -221,17 +221,17 @@ void tst_History::updateHistoryItem() SubHistory history; history.setHistory(list); - history.updateHistoryItem(url, title); + history.updateHistoryEntry(url, title); if (list.isEmpty()) QVERIFY(history.history().isEmpty()); else QVERIFY(history.history() != list); } -void tst_History::historyLimit_data() +void tst_History::daysToExpire_data() { QTest::addColumn("list"); - QTest::addColumn("historyLimit"); + QTest::addColumn("daysToExpire"); QTest::addColumn("wait_seconds"); QTest::addColumn("post"); @@ -240,21 +240,21 @@ void tst_History::historyLimit_data() yesterday.setDate(yesterday.date().addDays(-1)); yesterday.setTime(yesterday.time().addSecs(2)); - HistoryItem fooNow("http://foo.com", now); - HistoryItem barYesterday("http://bar.com", yesterday); + HistoryEntry fooNow("http://foo.com", now); + HistoryEntry barYesterday("http://bar.com", yesterday); QTest::newRow("two") << (HistoryList() << fooNow << barYesterday) << 1 << 3 << (HistoryList() << fooNow); yesterday.setTime(yesterday.time().addSecs(3)); barYesterday.dateTime = yesterday; - HistoryItem barYesterday2("http://bar2.com", yesterday); + HistoryEntry barYesterday2("http://bar2.com", yesterday); QTest::newRow("three") << (HistoryList() << fooNow << barYesterday << barYesterday2) << 1 << 3 << (HistoryList() << fooNow); } -// public int historyLimit() const -void tst_History::historyLimit() +// public int daysToExpire() const +void tst_History::daysToExpire() { QFETCH(HistoryList, list); - QFETCH(int, historyLimit); + QFETCH(int, daysToExpire); QFETCH(int, wait_seconds); QFETCH(HistoryList, post); @@ -264,17 +264,17 @@ void tst_History::historyLimit() qSort(list.begin(), list.end()); QCOMPARE(history.history(), list); - history.setHistoryLimit(historyLimit); - QCOMPARE(history.historyLimit(), historyLimit); + history.setDaysToExpire(daysToExpire); + QCOMPARE(history.daysToExpire(), daysToExpire); QTest::qWait(wait_seconds * 1000); QCOMPARE(history.history(), post); // re-add the items that have probably expired to catch any cache issues for (int i = 0; i < list.count(); ++i) { - HistoryItem item = list.at(i); + HistoryEntry item = list.at(i); item.dateTime = QDateTime::currentDateTime(); - history.addHistoryItem(item); + history.addHistoryEntry(item); } } @@ -283,8 +283,8 @@ void tst_History::clear_data() QTest::addColumn("list"); QTest::newRow("null") << HistoryList(); - QTest::newRow("one") << (HistoryList() << HistoryItem()); - QTest::newRow("two") << (HistoryList() << HistoryItem() << HistoryItem("http://foo.com")); + QTest::newRow("one") << (HistoryList() << HistoryEntry()); + QTest::newRow("two") << (HistoryList() << HistoryEntry() << HistoryEntry("http://foo.com")); } // public void clear() @@ -316,8 +316,8 @@ void tst_History::setHistory_data() QTest::newRow("empty") << HistoryList() << HistoryList(); - HistoryItem foo("http://foo.com", now); - HistoryItem bar("http://bar.com", yesterday); + HistoryEntry foo("http://foo.com", now); + HistoryEntry bar("http://bar.com", yesterday); QTest::newRow("sort") << (HistoryList() << bar << foo) << (HistoryList() << foo << bar); // QTest::newRow("dupe-1") << (HistoryList() << bar << bar) << (HistoryList() << bar); @@ -325,7 +325,7 @@ void tst_History::setHistory_data() QDateTime longAgo = now; longAgo.setDate(longAgo.date().addYears(-1)); - HistoryItem expired("http://junk.com", longAgo); + HistoryEntry expired("http://junk.com", longAgo); QTest::newRow("removeExpired-1") << (HistoryList() << expired) << HistoryList(); QTest::newRow("removeExpired-2") << (HistoryList() << foo << expired) << (HistoryList() << foo); } @@ -352,10 +352,10 @@ void tst_History::saveload_data() QTest::newRow("empty") << HistoryList() << HistoryList(); - HistoryItem foo("http://foo.com", now); + HistoryEntry foo("http://foo.com", now); QTest::newRow("one item") << (HistoryList() << foo) << (HistoryList() << foo); - HistoryItem bar("http://bar.com", yesterday); + HistoryEntry bar("http://bar.com", yesterday); QTest::newRow("two items") << (HistoryList() << bar << foo) << (HistoryList() << foo << bar); QTest::newRow("dupe-1") << (HistoryList() << bar << bar) << (HistoryList() << bar); @@ -363,7 +363,7 @@ void tst_History::saveload_data() QDateTime longAgo = now; longAgo.setDate(longAgo.date().addYears(-1)); - HistoryItem expired("http://junk.com", longAgo); + HistoryEntry expired("http://junk.com", longAgo); QTest::newRow("removeExpired-1") << (HistoryList() << expired) << HistoryList(); QTest::newRow("removeExpired-2") << (HistoryList() << foo << expired) << (HistoryList() << foo); } @@ -381,9 +381,9 @@ void tst_History::saveload() SubHistory history; QCOMPARE(history.history(), post); // add url - HistoryItem foo("http://new.com", QDateTime::currentDateTime().addDays(1)); + HistoryEntry foo("http://new.com", QDateTime::currentDateTime().addDays(1)); post.prepend(foo); - history.addHistoryItem(foo); + history.addHistoryEntry(foo); } { @@ -395,7 +395,7 @@ void tst_History::saveload() void tst_History::big() { SubHistory history; - history.setHistoryLimit(-1); + history.setDaysToExpire(-1); history.setHistory(bigHistory); qDebug() << "removed dups:" << history.history().count(); @@ -480,7 +480,7 @@ void tst_History::historyDialog() QFETCH(int, parentRowsDiff); SubHistory history; - history.setHistoryLimit(-1); + history.setDaysToExpire(-1); history.setHistory(bigHistory); HistoryDialog dialog(0, &history); dialog.show(); diff --git a/autotests/historyfiltermodel/tst_historyfiltermodel.cpp b/autotests/historyfiltermodel/tst_historyfiltermodel.cpp index 26775e2e..760f17f0 100644 --- a/autotests/historyfiltermodel/tst_historyfiltermodel.cpp +++ b/autotests/historyfiltermodel/tst_historyfiltermodel.cpp @@ -59,7 +59,7 @@ class SubHistoryFilterModel : public HistoryFilterModel history = new HistoryManager(this); historyModel = new HistoryModel(history, this); setSourceModel(historyModel); - history->setHistoryLimit(-1); + history->setDaysToExpire(-1); } HistoryModel *historyModel; @@ -100,16 +100,16 @@ void tst_HistoryFilterModel::historyfiltermodel() model.historyLocation(QString()); } -typedef QList HistoryList; +typedef QList HistoryList; Q_DECLARE_METATYPE(HistoryList) -Q_DECLARE_METATYPE(HistoryItem) +Q_DECLARE_METATYPE(HistoryEntry) HistoryList makeHistoryList(int count) { HistoryList list; QDateTime dateTime = QDateTime::currentDateTime(); for (int i = 0; i < count; ++i) { - HistoryItem item; + HistoryEntry item; QString url = QString("http://%1host-%2.com/") .arg(qrand() % 2 ? "www." : "") .arg(QString::number(i)); diff --git a/src/history.cpp b/src/history.cpp index 825e3c02..09617698 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -88,7 +88,7 @@ static const unsigned int HISTORY_VERSION = 23; HistoryManager::HistoryManager(QObject *parent) : QWebHistoryInterface(parent) , m_saveTimer(new AutoSaver(this)) - , m_historyLimit(30) + , m_daysToExpire(30) , m_historyModel(0) , m_historyFilterModel(0) , m_historyTreeModel(0) @@ -96,9 +96,9 @@ HistoryManager::HistoryManager(QObject *parent) m_expiredTimer.setSingleShot(true); connect(&m_expiredTimer, SIGNAL(timeout()), this, SLOT(checkForExpired())); - connect(this, SIGNAL(entryAdded(const HistoryItem &)), + connect(this, SIGNAL(entryAdded(const HistoryEntry &)), m_saveTimer, SLOT(changeOccurred())); - connect(this, SIGNAL(entryRemoved(const HistoryItem &)), + connect(this, SIGNAL(entryRemoved(const HistoryEntry &)), m_saveTimer, SLOT(changeOccurred())); load(); @@ -113,12 +113,12 @@ HistoryManager::HistoryManager(QObject *parent) HistoryManager::~HistoryManager() { // remove history items on application exit - if (m_historyLimit == -2) + if (m_daysToExpire == -2) clear(); m_saveTimer->saveIfNeccessary(); } -QList HistoryManager::history() const +QList HistoryManager::history() const { return m_history; } @@ -133,11 +133,11 @@ void HistoryManager::addHistoryEntry(const QString &url) QUrl cleanUrl(url); cleanUrl.setPassword(QString()); cleanUrl.setHost(cleanUrl.host().toLower()); - HistoryItem item(cleanUrl.toString(), QDateTime::currentDateTime()); - addHistoryItem(item); + HistoryEntry item(cleanUrl.toString(), QDateTime::currentDateTime()); + addHistoryEntry(item); } -void HistoryManager::setHistory(const QList &history, bool loadedAndSorted) +void HistoryManager::setHistory(const QList &history, bool loadedAndSorted) { m_history = history; @@ -173,7 +173,7 @@ HistoryTreeModel *HistoryManager::historyTreeModel() const void HistoryManager::checkForExpired() { - if (m_historyLimit < 0 || m_history.isEmpty()) + if (m_daysToExpire < 0 || m_history.isEmpty()) return; QDateTime now = QDateTime::currentDateTime(); @@ -181,7 +181,7 @@ void HistoryManager::checkForExpired() while (!m_history.isEmpty()) { QDateTime checkForExpired = m_history.last().dateTime; - checkForExpired.setDate(checkForExpired.date().addDays(m_historyLimit)); + checkForExpired.setDate(checkForExpired.date().addDays(m_daysToExpire)); if (now.daysTo(checkForExpired) > 7) { // check at most in a week to prevent int overflows on the timer nextTimeout = 7 * 86400; @@ -190,7 +190,7 @@ void HistoryManager::checkForExpired() } if (nextTimeout > 0) break; - HistoryItem item = m_history.takeLast(); + HistoryEntry item = m_history.takeLast(); // remove from saved file also m_lastSavedUrl = QString(); emit entryRemoved(item); @@ -200,7 +200,7 @@ void HistoryManager::checkForExpired() m_expiredTimer.start(nextTimeout * 1000); } -void HistoryManager::addHistoryItem(const HistoryItem &item) +void HistoryManager::addHistoryEntry(const HistoryEntry &item) { QWebSettings *globalSettings = QWebSettings::globalSettings(); if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) @@ -212,7 +212,7 @@ void HistoryManager::addHistoryItem(const HistoryItem &item) checkForExpired(); } -void HistoryManager::updateHistoryItem(const QUrl &url, const QString &title) +void HistoryManager::updateHistoryEntry(const QUrl &url, const QString &title) { for (int i = 0; i < m_history.count(); ++i) { if (url == m_history.at(i).url) { @@ -226,16 +226,16 @@ void HistoryManager::updateHistoryItem(const QUrl &url, const QString &title) } } -int HistoryManager::historyLimit() const +int HistoryManager::daysToExpire() const { - return m_historyLimit; + return m_daysToExpire; } -void HistoryManager::setHistoryLimit(int limit) +void HistoryManager::setDaysToExpire(int limit) { - if (m_historyLimit == limit) + if (m_daysToExpire == limit) return; - m_historyLimit = limit; + m_daysToExpire = limit; checkForExpired(); m_saveTimer->changeOccurred(); } @@ -255,7 +255,7 @@ void HistoryManager::loadSettings() // load settings QSettings settings; settings.beginGroup(QLatin1String("history")); - m_historyLimit = settings.value(QLatin1String("historyLimit"), 30).toInt(); + m_daysToExpire = settings.value(QLatin1String("historyLimit"), 30).toInt(); } void HistoryManager::load() @@ -271,11 +271,11 @@ void HistoryManager::load() return; } - QList list; + QList list; QDataStream in(&historyFile); // Double check that the history file is sorted as it is read in bool needToSort = false; - HistoryItem lastInsertedItem; + HistoryEntry lastInsertedItem; QByteArray data; QDataStream stream; QBuffer buffer; @@ -289,7 +289,7 @@ void HistoryManager::load() stream >> ver; if (ver != HISTORY_VERSION) continue; - HistoryItem item; + HistoryEntry item; stream >> item.url; stream >> item.dateTime; stream >> item.title; @@ -325,7 +325,7 @@ void HistoryManager::save() { QSettings settings; settings.beginGroup(QLatin1String("history")); - settings.setValue(QLatin1String("historyLimit"), m_historyLimit); + settings.setValue(QLatin1String("historyLimit"), m_daysToExpire); bool saveAll = m_lastSavedUrl.isEmpty(); int first = m_history.count() - 1; @@ -370,7 +370,7 @@ void HistoryManager::save() for (int i = first; i >= 0; --i) { QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); - HistoryItem item = m_history.at(i); + HistoryEntry item = m_history.at(i); stream << HISTORY_VERSION << item.url << item.dateTime << item.title; out << data; } @@ -392,10 +392,10 @@ HistoryModel::HistoryModel(HistoryManager *history, QObject *parent) Q_ASSERT(m_history); connect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset())); - connect(m_history, SIGNAL(entryRemoved(const HistoryItem &)), + connect(m_history, SIGNAL(entryRemoved(const HistoryEntry &)), this, SLOT(historyReset())); - connect(m_history, SIGNAL(entryAdded(const HistoryItem &)), + connect(m_history, SIGNAL(entryAdded(const HistoryEntry &)), this, SLOT(entryAdded())); connect(m_history, SIGNAL(entryUpdated(int)), this, SLOT(entryUpdated(int))); @@ -432,11 +432,11 @@ QVariant HistoryModel::headerData(int section, Qt::Orientation orientation, int QVariant HistoryModel::data(const QModelIndex &index, int role) const { - QList lst = m_history->history(); + QList lst = m_history->history(); if (index.row() < 0 || index.row() >= lst.size()) return QVariant(); - const HistoryItem &item = lst.at(index.row()); + const HistoryEntry &item = lst.at(index.row()); switch (role) { case DateTimeRole: return item.dateTime; @@ -486,7 +486,7 @@ bool HistoryModel::removeRows(int row, int count, const QModelIndex &parent) return false; int lastRow = row + count - 1; beginRemoveRows(parent, row, lastRow); - QList lst = m_history->history(); + QList lst = m_history->history(); for (int i = lastRow; i >= row; --i) lst.removeAt(i); disconnect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset())); diff --git a/src/history.h b/src/history.h index 74f4ca1f..f6d1be49 100644 --- a/src/history.h +++ b/src/history.h @@ -74,25 +74,25 @@ #include -class HistoryItem +class HistoryEntry { public: - HistoryItem() {} - HistoryItem(const QString &u, + HistoryEntry() {} + HistoryEntry(const QString &u, const QDateTime &d = QDateTime(), const QString &t = QString()) - : title(t), url(u), dateTime(d) {} + : url(u), title(t), dateTime(d) {} - inline bool operator==(const HistoryItem &other) const { + inline bool operator==(const HistoryEntry &other) const { return other.title == title && other.url == url && other.dateTime == dateTime; } // history is sorted in reverse - inline bool operator <(const HistoryItem &other) const + inline bool operator <(const HistoryEntry &other) const { return dateTime > other.dateTime; } - QString title; QString url; + QString title; QDateTime dateTime; }; @@ -103,13 +103,13 @@ class HistoryTreeModel; class HistoryManager : public QWebHistoryInterface { Q_OBJECT - Q_PROPERTY(int historyLimit READ historyLimit WRITE setHistoryLimit) + Q_PROPERTY(int daysToExpire READ daysToExpire WRITE setDaysToExpire) signals: void historyCleared(); void historyReset(); - void entryAdded(const HistoryItem &item); - void entryRemoved(const HistoryItem &item); + void entryAdded(const HistoryEntry &item); + void entryRemoved(const HistoryEntry &item); void entryUpdated(int offset); public: @@ -118,14 +118,13 @@ class HistoryManager : public QWebHistoryInterface bool historyContains(const QString &url) const; void addHistoryEntry(const QString &url); + void updateHistoryEntry(const QUrl &url, const QString &title); - void updateHistoryItem(const QUrl &url, const QString &title); - - int historyLimit() const; - void setHistoryLimit(int limit); + int daysToExpire() const; + void setDaysToExpire(int limit); - QList history() const; - void setHistory(const QList &history, bool loadedAndSorted = false); + QList history() const; + void setHistory(const QList &history, bool loadedAndSorted = false); // History manager keeps around these models for use by the completer and other classes HistoryModel *historyModel() const; @@ -141,15 +140,15 @@ private slots: void checkForExpired(); protected: - void addHistoryItem(const HistoryItem &item); + void addHistoryEntry(const HistoryEntry &item); private: void load(); AutoSaver *m_saveTimer; - int m_historyLimit; + int m_daysToExpire; QTimer m_expiredTimer; - QList m_history; + QList m_history; QString m_lastSavedUrl; HistoryModel *m_historyModel; diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 2f7920f0..ffee3ce5 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -719,7 +719,7 @@ void TabWidget::webViewTitleChanged(const QString &title) } if (currentIndex() == index) emit setCurrentTitle(title); - BrowserApplication::historyManager()->updateHistoryItem(webView->url(), title); + BrowserApplication::historyManager()->updateHistoryEntry(webView->url(), title); } void TabWidget::webViewUrlChanged(const QUrl &url) From c2b8a959b3fc0b7def7e6d00d4fcd6357f3246ed Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 24 Sep 2008 00:23:51 -0400 Subject: [PATCH 0179/1254] No longer the demo browser, now Arora --- src/Info_mac.plist | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Info_mac.plist b/src/Info_mac.plist index 16b350cd..da02e8a0 100644 --- a/src/Info_mac.plist +++ b/src/Info_mac.plist @@ -2,19 +2,19 @@ - CFBundleIconFile - @ICON@ - CFBundlePackageType - APPL + CFBundleIconFile + @ICON@ + CFBundlePackageType + APPL CFBundleGetInfoString - Created by Qt/QMake - CFBundleIdentifier - com.trolltech.DemoBrowser - CFBundleSignature - ttxt - CFBundleExecutable - @EXECUTABLE@ - CFBundleDocumentTypes + Created by Qt/QMake + CFBundleIdentifier + com.Arora.Arora + CFBundleSignature + ttxt + CFBundleExecutable + @EXECUTABLE@ + CFBundleDocumentTypes CFBundleTypeExtensions @@ -25,8 +25,8 @@ xht xhtml - CFBundleTypeIconFile - @ICON@ + CFBundleTypeIconFile + @ICON@ CFBundleTypeName HTML Document CFBundleTypeOSTypes @@ -37,7 +37,7 @@ Viewer - NOTE - DemoBrowser by Trolltech ASA + NOTE + Arora Brower by the Arora team From 48995a008657e2473e5c6b11d383f50131700c55 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 24 Sep 2008 00:24:11 -0400 Subject: [PATCH 0180/1254] Remove was tabs that snuck in there and whitespace at the end of the line --- src/aboutdialog.cpp | 2 +- src/browserapplication.cpp | 10 ++++------ src/browsermainwindow.cpp | 23 +++++++++++------------ src/explorerstyle.h | 2 +- src/explorerstyle.pri | 4 ++-- src/locationbar.cpp | 8 ++++---- 6 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/aboutdialog.cpp b/src/aboutdialog.cpp index eb7f90e8..495351f3 100644 --- a/src/aboutdialog.cpp +++ b/src/aboutdialog.cpp @@ -53,7 +53,7 @@ void AboutDialog::displayFile(const QString &fileName, const QString &title) QFile file(fileName); if (file.open(QIODevice::ReadOnly)) { QString text = QTextStream(&file).readAll(); - // this is done to force the content of the text editor to be LTR, and monospaced. + // this is done to force the content of the text editor to be LTR, and monospaced. textEdit->setHtml( QString(QLatin1String("
%1
")).arg(text) ); } diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index ccee322b..428dfcb6 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -157,13 +157,13 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QString translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName; QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); bool loaded = translator->load(translatorFileName, resourceDir); - + translatorFileName = QLatin1String("qt_"); translatorFileName += localSysName; loaded &= qtTranslator->load(translatorFileName, resourceDir); if (loaded) { installTranslator(translator); - installTranslator(qtTranslator); + installTranslator(qtTranslator); } // Until QtWebkit defaults to 16 @@ -505,9 +505,8 @@ CookieJar *BrowserApplication::cookieJar() DownloadManager *BrowserApplication::downloadManager() { - if (!s_downloadManager) { + if (!s_downloadManager) s_downloadManager = new DownloadManager(); - } return s_downloadManager; } @@ -529,9 +528,8 @@ HistoryManager *BrowserApplication::historyManager() BookmarksManager *BrowserApplication::bookmarksManager() { - if (!s_bookmarksManager) { + if (!s_bookmarksManager) s_bookmarksManager = new BookmarksManager; - } return s_bookmarksManager; } diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 84895b4e..17c235a7 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -876,18 +876,17 @@ void BrowserMainWindow::closeEvent(QCloseEvent *event) void BrowserMainWindow::mousePressEvent(QMouseEvent *event) { - switch(event->button()) - { - case Qt::XButton1: - m_historyBack->activate(QAction::Trigger); - break; - case Qt::XButton2: - m_historyForward->activate(QAction::Trigger); - break; - default: - QMainWindow::mousePressEvent(event); - break; - } + switch(event->button()) { + case Qt::XButton1: + m_historyBack->activate(QAction::Trigger); + break; + case Qt::XButton2: + m_historyForward->activate(QAction::Trigger); + break; + default: + QMainWindow::mousePressEvent(event); + break; + } } void BrowserMainWindow::slotEditFind() diff --git a/src/explorerstyle.h b/src/explorerstyle.h index d437736d..25b39bd6 100644 --- a/src/explorerstyle.h +++ b/src/explorerstyle.h @@ -29,7 +29,7 @@ class ExplorerStyle : public QWindowsVistaStyle QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const; SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, - const QPoint &pos, const QWidget *widget = 0) const; + const QPoint &pos, const QWidget *widget = 0) const; QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = 0) const; int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const; diff --git a/src/explorerstyle.pri b/src/explorerstyle.pri index 6e1cd588..02e8ec83 100644 --- a/src/explorerstyle.pri +++ b/src/explorerstyle.pri @@ -1,3 +1,3 @@ -HEADERS += explorerstyle.h -SOURCES += explorerstyle.cpp +HEADERS += explorerstyle.h +SOURCES += explorerstyle.cpp LIBS += -lgdi32 diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 9c917ce7..d5a015a6 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -191,9 +191,9 @@ void LocationBar::focusOutEvent(QFocusEvent *event) void LocationBar::mouseDoubleClickEvent(QMouseEvent *event) { - if (event->button() == Qt::LeftButton) - selectAll(); - else - QLineEdit::mouseDoubleClickEvent(event); + if (event->button() == Qt::LeftButton) + selectAll(); + else + QLineEdit::mouseDoubleClickEvent(event); } From a9351a058dc2523ee88f0b68f8420c23110cdab7 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Thu, 25 Sep 2008 23:48:01 +0200 Subject: [PATCH 0181/1254] Added SourceViewer and SourceHighlighter --- src/browsermainwindow.cpp | 9 ++- src/sourcehighlighter.cpp | 133 ++++++++++++++++++++++++++++++++++++++ src/sourcehighlighter.h | 56 ++++++++++++++++ src/sourceviewer.cpp | 45 +++++++++++++ src/sourceviewer.h | 38 +++++++++++ src/src.pri | 6 +- 6 files changed, 281 insertions(+), 6 deletions(-) create mode 100644 src/sourcehighlighter.cpp create mode 100644 src/sourcehighlighter.h create mode 100644 src/sourceviewer.cpp create mode 100644 src/sourceviewer.h diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 17c235a7..23eb7d00 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -72,6 +72,7 @@ #include "downloadmanager.h" #include "history.h" #include "settings.h" +#include "sourceviewer.h" #include "tabbar.h" #include "tabwidget.h" #include "toolbarsearch.h" @@ -939,12 +940,10 @@ void BrowserMainWindow::slotViewPageSource() if (!currentTab()) return; + QString title = currentTab()->title(); QString markup = currentTab()->page()->mainFrame()->toHtml(); - QPlainTextEdit *view = new QPlainTextEdit(markup); - view->setWindowTitle(tr("Page Source of %1").arg(currentTab()->title())); - view->setMinimumWidth(640); - view->setAttribute(Qt::WA_DeleteOnClose); - view->show(); + SourceViewer *viewer = new SourceViewer(markup,title); + viewer->setAttribute(Qt::WA_DeleteOnClose); } void BrowserMainWindow::slotHome() diff --git a/src/sourcehighlighter.cpp b/src/sourcehighlighter.cpp new file mode 100644 index 00000000..0bb62f05 --- /dev/null +++ b/src/sourcehighlighter.cpp @@ -0,0 +1,133 @@ +/* + * Copyright 2008 Christian Franke + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "sourcehighlighter.h" + +SourceHighlighter::SourceHighlighter(QTextDocument *document) + : QSyntaxHighlighter(document) +{ + QTextCharFormat entityFormat; + entityFormat.setForeground(QColor(30,180,30)); + entityFormat.setFontWeight(QFont::Normal); + setFormatFor(Entity, entityFormat); + + QTextCharFormat tagFormat; + tagFormat.setForeground(QColor(30,30,60)); + tagFormat.setFontWeight(QFont::Bold); + setFormatFor(Tag, tagFormat); + + QTextCharFormat commentFormat; + commentFormat.setForeground(QColor(120,120,160)); + commentFormat.setFontWeight(QFont::Normal); + setFormatFor(Comment, commentFormat); + + QTextCharFormat attributeFormat; + attributeFormat.setForeground(QColor(200,30,30)); + attributeFormat.setFontWeight(QFont::Normal); + setFormatFor(Attribute, attributeFormat); +} + +QTextCharFormat SourceHighlighter::getFormatFor(Construct construct) +{ + return formats[construct]; +} + +void SourceHighlighter::setFormatFor(Construct construct, + QTextCharFormat &format) +{ + formats[construct] = format; +} + +void SourceHighlighter::highlightBlock(const QString &text) +{ + int state = previousBlockState(); + int len = text.length(); + int start = 0; + int pos = 0; + QRegExp regex; + + while (pos >= 0 && pos < len && len>0) { + switch (state) { + default: + case Normal: + regex.setPattern(QLatin1String("[<&]")); + pos = regex.indexIn(text,pos); + if (pos>=0) { + if (text.at(pos) == QLatin1Char('<')) { + start = pos; + if (text.mid(pos,4) == QLatin1String("")); + pos = regex.indexIn(text,pos); + if (pos>=0) { + state = Normal; + pos+=3; + setFormat(start,pos-start,formats[Comment]); + pos++; + } else { + setFormat(start,len-start,formats[Comment]); + } + break; + case InTag: + regex.setPattern(QLatin1String("[>\"]")); + pos = regex.indexIn(text,pos); + if (pos>=0) { + if (text.at(pos) == QLatin1Char('>')) { + state = Normal; + pos++; + setFormat(start,pos-start,formats[Tag]); + } else if (text.at(pos)== QLatin1Char('"')) { + setFormat(start,pos-start,formats[Tag]); + start = pos; + state = InAttribute; + pos++; + } + } else { + setFormat(start,len-start,formats[Tag]); + } + break; + case InAttribute: + regex.setPattern(QLatin1String("\"")); + pos = regex.indexIn(text,pos); + if (pos>=0) { + setFormat(start,pos-start,formats[Attribute]); + state = InTag; + start = ++pos; + } else { + setFormat(start,len-start,formats[Attribute]); + } + break; + } + } + setCurrentBlockState(state); +} diff --git a/src/sourcehighlighter.h b/src/sourcehighlighter.h new file mode 100644 index 00000000..6612094a --- /dev/null +++ b/src/sourcehighlighter.h @@ -0,0 +1,56 @@ +/* + * Copyright 2008 Christian Franke + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef SOURCEHIGHLIGHTER_H +#define SOURCEHIGHLIGHTER_H + +#include +#include +#include +#include + +class SourceHighlighter : public QSyntaxHighlighter +{ + Q_OBJECT + +public: + enum Construct { + Entity, + Tag, + Comment, + Attribute, + LastConstruct = Attribute + }; + SourceHighlighter(QTextDocument *document); + QTextCharFormat getFormatFor(Construct construct); + void setFormatFor(Construct construct, QTextCharFormat &format); + +protected: + enum State { + Normal = -1, + InComment, + InTag, + InAttribute + }; + void highlightBlock(const QString &text); +private: + QTextCharFormat formats[LastConstruct+1]; +}; + +#endif diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp new file mode 100644 index 00000000..8097dc70 --- /dev/null +++ b/src/sourceviewer.cpp @@ -0,0 +1,45 @@ +/* + * Copyright 2008 Christian Franke + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "sourceviewer.h" + +SourceViewer::SourceViewer(QString &source, QString &title) + : QWidget() +{ + setWindowTitle(QString(QLatin1String("Source of Page ")).append(title)); + setMinimumWidth(640); setMinimumHeight(480); + + edit = new QPlainTextEdit(source); + edit->setLineWrapMode(QPlainTextEdit::NoWrap); + edit->setReadOnly(true); + edit->setFont(QFont(QLatin1String("Monospace"),9,QFont::Normal)); + highlighter = new SourceHighlighter(edit->document()); + + layout = new QVBoxLayout; + layout->addWidget(edit); + setLayout(layout); + show(); +} + +SourceViewer::~SourceViewer() +{ + delete layout; + delete highlighter; + delete edit; +} diff --git a/src/sourceviewer.h b/src/sourceviewer.h new file mode 100644 index 00000000..c4b36d2a --- /dev/null +++ b/src/sourceviewer.h @@ -0,0 +1,38 @@ +/* + * Copyright 2008 Christian Franke + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef SOURCEVIEWER_H +#define SOURCEVIEWER_H + +#include +#include +#include "sourcehighlighter.h" + +class SourceViewer : public QWidget +{ +public: + SourceViewer(QString &source, QString &title); + ~SourceViewer(); +private: + QVBoxLayout *layout; + QPlainTextEdit *edit; + SourceHighlighter *highlighter; +}; + +#endif diff --git a/src/src.pri b/src/src.pri index 01b061de..dabbb281 100644 --- a/src/src.pri +++ b/src/src.pri @@ -56,6 +56,8 @@ HEADERS += \ networkaccessmanager.h \ searchlineedit.h \ settings.h \ + sourcehighlighter.h \ + sourceviewer.h \ tabbar.h \ tabwidget.h \ toolbarsearch.h \ @@ -80,6 +82,8 @@ SOURCES += \ networkaccessmanager.cpp \ searchlineedit.cpp \ settings.cpp \ + sourcehighlighter.cpp \ + sourceviewer.cpp \ tabbar.cpp \ tabwidget.cpp \ toolbarsearch.cpp \ @@ -124,4 +128,4 @@ include(webkittrunk.pri) win32 { include(explorerstyle.pri) -} \ No newline at end of file +} From c7b8a2d17078d5263fcfc1b7da18747cbb7a9f9c Mon Sep 17 00:00:00 2001 From: cfchris6 Date: Fri, 26 Sep 2008 14:23:53 +0200 Subject: [PATCH 0182/1254] Moved base of WebViewSearch to class ViewSearch to make it reusable --- src/src.pri | 2 + src/viewsearch.cpp | 115 ++++++++++++++++++++++++++++++++++++++++++ src/viewsearch.h | 56 ++++++++++++++++++++ src/webviewsearch.cpp | 82 ++---------------------------- src/webviewsearch.h | 21 +------- 5 files changed, 180 insertions(+), 96 deletions(-) create mode 100644 src/viewsearch.cpp create mode 100644 src/viewsearch.h diff --git a/src/src.pri b/src/src.pri index dabbb281..b66c95a1 100644 --- a/src/src.pri +++ b/src/src.pri @@ -61,6 +61,7 @@ HEADERS += \ tabbar.h \ tabwidget.h \ toolbarsearch.h \ + viewsearch.h \ webactionmapper.h \ webview.h \ webviewsearch.h \ @@ -87,6 +88,7 @@ SOURCES += \ tabbar.cpp \ tabwidget.cpp \ toolbarsearch.cpp \ + viewsearch.cpp \ webactionmapper.cpp \ webview.cpp \ webviewsearch.cpp \ diff --git a/src/viewsearch.cpp b/src/viewsearch.cpp new file mode 100644 index 00000000..c3370f03 --- /dev/null +++ b/src/viewsearch.cpp @@ -0,0 +1,115 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "viewsearch.h" + +#include +#include +#include + +#include + +ViewSearch::ViewSearch(QWidget *parent) + : QWidget(parent) + , m_widget(0) + , m_view(0) + , m_timeLine(new QTimeLine(150, this)) +{ + initializeSearchWidget(); + + // we start off hidden + setMaximumHeight(0); + m_widget->setGeometry(0, -1 * m_widget->height(), + m_widget->width(), m_widget->height()); + hide(); + + connect(m_timeLine, SIGNAL(frameChanged(int)), + this, SLOT(frameChanged(int))); + + new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(animateHide())); +} + +void ViewSearch::initializeSearchWidget() +{ + m_widget = new QWidget(this); + m_widget->setContentsMargins(0, 0, 0, 0); + ui.setupUi(m_widget); + ui.previousButton-> + setText(m_widget->layoutDirection() + == Qt::LeftToRight? QChar(9664): QChar(9654) ); + ui.nextButton->setText(m_widget->layoutDirection() + == Qt::LeftToRight? QChar(9654): QChar(9664)); + ui.searchInfo->setText(QString()); + setMinimumWidth(m_widget->minimumWidth()); + setMaximumWidth(m_widget->maximumWidth()); + setMinimumHeight(m_widget->minimumHeight()); +} + +void ViewSearch::setView(QWidget *view) +{ + m_view = view; +} + +QWidget *ViewSearch::getView() const +{ + return m_view; +} + +void ViewSearch::clear() +{ + ui.searchLineEdit->setText(QString()); +} + +void ViewSearch::showFind() +{ + if (!isVisible()) { + show(); + m_timeLine->setFrameRange(-1 * m_widget->height(), 0); + m_timeLine->setDirection(QTimeLine::Forward); + disconnect(m_timeLine, SIGNAL(finished()), + this, SLOT(hide())); + m_timeLine->start(); + } + ui.searchLineEdit->setFocus(); + ui.searchLineEdit->selectAll(); +} + +void ViewSearch::resizeEvent(QResizeEvent *event) +{ + if (event->size().width() != m_widget->width()) + m_widget->resize(event->size().width(), m_widget->height()); + QWidget::resizeEvent(event); +} + +void ViewSearch::animateHide() +{ + m_timeLine->setDirection(QTimeLine::Backward); + m_timeLine->start(); + connect(m_timeLine, SIGNAL(finished()), this, SLOT(hide())); +} + +void ViewSearch::frameChanged(int frame) +{ + if (!m_widget) + return; + m_widget->move(0, frame); + int height = qMax(0, m_widget->y() + m_widget->height()); + setMinimumHeight(height); + setMaximumHeight(height); +} diff --git a/src/viewsearch.h b/src/viewsearch.h new file mode 100644 index 00000000..ee4ed576 --- /dev/null +++ b/src/viewsearch.h @@ -0,0 +1,56 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef VIEWSEARCH_H +#define VIEWSEARCH_H + +#include + +#include "ui_searchbanner.h" + +QT_BEGIN_NAMESPACE +class QTimeLine; +QT_END_NAMESPACE + +class ViewSearch : public QWidget +{ + Q_OBJECT + +public: + ViewSearch(QWidget *parent = 0); + void setView(QWidget *view); + QWidget *getView() const; +public slots: + void animateHide(); + void clear(); + void showFind(); +protected: + void resizeEvent(QResizeEvent *event); + QWidget *m_view; + Ui_SearchBanner ui; +private slots: + void frameChanged(int frame); +private: + void initializeSearchWidget(); + QWidget *m_widget; + QTimeLine *m_timeLine; +}; + +#endif // VIEWSEARCH_H + diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index 5c73428c..17d53d47 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -29,33 +29,8 @@ #include WebViewSearch::WebViewSearch(QWidget *parent) - : QWidget(parent) - , m_widget(0) - , m_webView(0) - , m_timeLine(new QTimeLine(150, this)) -{ - initializeSearchWidget(); - - // we start off hidden - setMaximumHeight(0); - m_widget->setGeometry(0, -1 * m_widget->height(), - m_widget->width(), m_widget->height()); - hide(); - - connect(m_timeLine, SIGNAL(frameChanged(int)), - this, SLOT(frameChanged(int))); - - new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(animateHide())); -} - -void WebViewSearch::initializeSearchWidget() + : ViewSearch(parent) { - m_widget = new QWidget(this); - m_widget->setContentsMargins(0, 0, 0, 0); - ui.setupUi(m_widget); - ui.previousButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9664): QChar(9654) ); - ui.nextButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9654): QChar(9664)); - ui.searchInfo->setText(QString()); connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(findNext())); connect(ui.previousButton, SIGNAL(clicked()), @@ -64,39 +39,16 @@ void WebViewSearch::initializeSearchWidget() this, SLOT(findNext())); connect(ui.doneButton, SIGNAL(clicked()), this, SLOT(animateHide())); - - setMinimumWidth(m_widget->minimumWidth()); - setMaximumWidth(m_widget->maximumWidth()); - setMinimumHeight(m_widget->minimumHeight()); } void WebViewSearch::setWebView(QWebView *webView) { - m_webView = webView; + setView(webView); } QWebView *WebViewSearch::webView() const { - return m_webView; -} - -void WebViewSearch::clear() -{ - ui.searchLineEdit->setText(QString()); -} - -void WebViewSearch::showFind() -{ - if (!isVisible()) { - show(); - m_timeLine->setFrameRange(-1 * m_widget->height(), 0); - m_timeLine->setDirection(QTimeLine::Forward); - disconnect(m_timeLine, SIGNAL(finished()), - this, SLOT(hide())); - m_timeLine->start(); - } - ui.searchLineEdit->setFocus(); - ui.searchLineEdit->selectAll(); + return (QWebView*)getView(); } void WebViewSearch::findNext() @@ -112,38 +64,14 @@ void WebViewSearch::findPrevious() void WebViewSearch::find(QWebPage::FindFlags flags) { QString searchString = ui.searchLineEdit->text(); - if (!m_webView || searchString.isEmpty()) + if (!m_view || searchString.isEmpty()) return; QString infoString; - if (!m_webView->findText(searchString, flags)) + if (!((QWebView*)m_view)->findText(searchString, flags)) infoString = tr("Not Found"); ui.searchInfo->setText(infoString); } -void WebViewSearch::resizeEvent(QResizeEvent *event) -{ - if (event->size().width() != m_widget->width()) - m_widget->resize(event->size().width(), m_widget->height()); - QWidget::resizeEvent(event); -} - -void WebViewSearch::animateHide() -{ - m_timeLine->setDirection(QTimeLine::Backward); - m_timeLine->start(); - connect(m_timeLine, SIGNAL(finished()), this, SLOT(hide())); -} - -void WebViewSearch::frameChanged(int frame) -{ - if (!m_widget) - return; - m_widget->move(0, frame); - int height = qMax(0, m_widget->y() + m_widget->height()); - setMinimumHeight(height); - setMaximumHeight(height); -} - WebViewWithSearch::WebViewWithSearch(WebView *webView, QWidget *parent) : QWidget(parent) , m_webView(webView) diff --git a/src/webviewsearch.h b/src/webviewsearch.h index ae854000..3d7e424f 100644 --- a/src/webviewsearch.h +++ b/src/webviewsearch.h @@ -25,44 +25,27 @@ #include #include "ui_searchbanner.h" +#include "viewsearch.h" QT_BEGIN_NAMESPACE -class QTimeLine; class QWebView; QT_END_NAMESPACE -class WebViewSearch : public QWidget +class WebViewSearch : public ViewSearch { Q_OBJECT public: WebViewSearch(QWidget *parent = 0); - void setWebView(QWebView *webView); QWebView *webView() const; public slots: - void animateHide(); - void clear(); - void showFind(); void findNext(); void findPrevious(); -protected: - void resizeEvent(QResizeEvent *event); - private slots: - void frameChanged(int frame); void find(QWebPage::FindFlags flags); - -private: - void initializeSearchWidget(); - - Ui_SearchBanner ui; - QWidget *m_widget; - - QWebView *m_webView; - QTimeLine *m_timeLine; }; #include "webview.h" From 3fd647c1f91696e9cf4bc590189c42002b4ba81f Mon Sep 17 00:00:00 2001 From: cfchris6 Date: Fri, 26 Sep 2008 17:53:17 +0200 Subject: [PATCH 0183/1254] ViewSearch became SearchBar. Declaration for PlainTextEditSearch added --- src/plaintexteditsearch.cpp | 71 +++++++++++++++++++++++++++ src/plaintexteditsearch.h | 48 ++++++++++++++++++ src/{viewsearch.cpp => searchbar.cpp} | 26 +++++----- src/{viewsearch.h => searchbar.h} | 14 +++--- src/sourceviewer.cpp | 22 ++++++--- src/sourceviewer.h | 7 ++- src/src.pri | 6 ++- src/webviewsearch.cpp | 10 ++-- src/webviewsearch.h | 4 +- 9 files changed, 169 insertions(+), 39 deletions(-) create mode 100644 src/plaintexteditsearch.cpp create mode 100644 src/plaintexteditsearch.h rename src/{viewsearch.cpp => searchbar.cpp} (87%) rename src/{viewsearch.h => searchbar.h} (86%) diff --git a/src/plaintexteditsearch.cpp b/src/plaintexteditsearch.cpp new file mode 100644 index 00000000..8227073d --- /dev/null +++ b/src/plaintexteditsearch.cpp @@ -0,0 +1,71 @@ +/* + * Copyright 2008 Christian Franke + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "plaintexteditsearch.h" + +#include +#include +#include + +#include + + +PlainTextEditSearch::PlainTextEditSearch(QWidget *parent) + : SearchBar(parent) +{ +/* connect(ui.nextButton, SIGNAL(clicked()), + this, SLOT(findNext())); + connect(ui.previousButton, SIGNAL(clicked()), + this, SLOT(findPrevious())); + connect(ui.searchLineEdit, SIGNAL(returnPressed()), + this, SLOT(findNext())); + connect(ui.doneButton, SIGNAL(clicked()), + this, SLOT(animateHide()));*/ +} + +void PlainTextEditSearch::setPlainTextEdit(QPlainTextEdit *plainTextEdit) +{ + setObject(plainTextEdit); +} + +QPlainTextEdit *PlainTextEditSearch::plainTextEdit() const +{ + return (QPlainTextEdit*)getObject(); +} + +void PlainTextEditSearch::findNext() +{ +/* find(QWebPage::FindWrapsAroundDocument);*/ +} + +void PlainTextEditSearch::findPrevious() +{ +/* find(QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument);*/ +} + +void PlainTextEditSearch::find(QTextDocument::FindFlags flags) +{ +/* QString searchString = ui.searchLineEdit->text(); + if (!m_view || searchString.isEmpty()) + return; + QString infoString; + if (!((QWebView*)m_view)->findText(searchString, flags)) + infoString = tr("Not Found"); + ui.searchInfo->setText(infoString);*/ +} diff --git a/src/plaintexteditsearch.h b/src/plaintexteditsearch.h new file mode 100644 index 00000000..7d64f21b --- /dev/null +++ b/src/plaintexteditsearch.h @@ -0,0 +1,48 @@ +/* + * Copyright 2008 ChriChristian Franke > + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef PLAINTEXTEDITSEARCH_H +#define PLAINTEXTEDITSEARCH_H + +#include +#include +#include + +#include "ui_searchbanner.h" +#include "searchbar.h" + +class PlainTextEditSearch : public SearchBar +{ + Q_OBJECT + +public: + PlainTextEditSearch(QWidget *parent = 0); + void setPlainTextEdit(QPlainTextEdit *plainTextEdit); + QPlainTextEdit *plainTextEdit() const; + +public slots: + void findNext(); + void findPrevious(); + +private slots: + void find(QTextDocument::FindFlags flags); +}; + +#endif // PLAINTEXTEDITSEARCH_H + diff --git a/src/viewsearch.cpp b/src/searchbar.cpp similarity index 87% rename from src/viewsearch.cpp rename to src/searchbar.cpp index c3370f03..53bc1bba 100644 --- a/src/viewsearch.cpp +++ b/src/searchbar.cpp @@ -17,7 +17,7 @@ * Boston, MA 02110-1301 USA */ -#include "viewsearch.h" +#include "searchbar.h" #include #include @@ -25,10 +25,10 @@ #include -ViewSearch::ViewSearch(QWidget *parent) +SearchBar::SearchBar(QWidget *parent) : QWidget(parent) , m_widget(0) - , m_view(0) + , m_object(0) , m_timeLine(new QTimeLine(150, this)) { initializeSearchWidget(); @@ -45,7 +45,7 @@ ViewSearch::ViewSearch(QWidget *parent) new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(animateHide())); } -void ViewSearch::initializeSearchWidget() +void SearchBar::initializeSearchWidget() { m_widget = new QWidget(this); m_widget->setContentsMargins(0, 0, 0, 0); @@ -61,22 +61,22 @@ void ViewSearch::initializeSearchWidget() setMinimumHeight(m_widget->minimumHeight()); } -void ViewSearch::setView(QWidget *view) +void SearchBar::setObject(QObject *object) { - m_view = view; + m_object = object; } -QWidget *ViewSearch::getView() const +QObject *SearchBar::getObject() const { - return m_view; + return m_object; } -void ViewSearch::clear() +void SearchBar::clear() { ui.searchLineEdit->setText(QString()); } -void ViewSearch::showFind() +void SearchBar::showFind() { if (!isVisible()) { show(); @@ -90,21 +90,21 @@ void ViewSearch::showFind() ui.searchLineEdit->selectAll(); } -void ViewSearch::resizeEvent(QResizeEvent *event) +void SearchBar::resizeEvent(QResizeEvent *event) { if (event->size().width() != m_widget->width()) m_widget->resize(event->size().width(), m_widget->height()); QWidget::resizeEvent(event); } -void ViewSearch::animateHide() +void SearchBar::animateHide() { m_timeLine->setDirection(QTimeLine::Backward); m_timeLine->start(); connect(m_timeLine, SIGNAL(finished()), this, SLOT(hide())); } -void ViewSearch::frameChanged(int frame) +void SearchBar::frameChanged(int frame) { if (!m_widget) return; diff --git a/src/viewsearch.h b/src/searchbar.h similarity index 86% rename from src/viewsearch.h rename to src/searchbar.h index ee4ed576..ddc8e5f9 100644 --- a/src/viewsearch.h +++ b/src/searchbar.h @@ -17,8 +17,8 @@ * Boston, MA 02110-1301 USA */ -#ifndef VIEWSEARCH_H -#define VIEWSEARCH_H +#ifndef SEARCHBAR_H +#define SEARCHBAR_H #include @@ -28,21 +28,21 @@ QT_BEGIN_NAMESPACE class QTimeLine; QT_END_NAMESPACE -class ViewSearch : public QWidget +class SearchBar : public QWidget { Q_OBJECT public: - ViewSearch(QWidget *parent = 0); - void setView(QWidget *view); - QWidget *getView() const; + SearchBar(QWidget *parent = 0); + void setObject(QObject *object); + QObject *getObject() const; public slots: void animateHide(); void clear(); void showFind(); protected: void resizeEvent(QResizeEvent *event); - QWidget *m_view; + QObject *m_object; Ui_SearchBanner ui; private slots: void frameChanged(int frame); diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index 8097dc70..c1a02455 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -25,21 +25,27 @@ SourceViewer::SourceViewer(QString &source, QString &title) setWindowTitle(QString(QLatin1String("Source of Page ")).append(title)); setMinimumWidth(640); setMinimumHeight(480); - edit = new QPlainTextEdit(source); - edit->setLineWrapMode(QPlainTextEdit::NoWrap); - edit->setReadOnly(true); - edit->setFont(QFont(QLatin1String("Monospace"),9,QFont::Normal)); - highlighter = new SourceHighlighter(edit->document()); + m_edit = new QPlainTextEdit(source); + m_edit->setLineWrapMode(QPlainTextEdit::NoWrap); + m_edit->setReadOnly(true); + m_edit->setFont(QFont(QLatin1String("Monospace"),9,QFont::Normal)); + m_highlighter = new SourceHighlighter(m_edit->document()); layout = new QVBoxLayout; - layout->addWidget(edit); + layout->setSpacing(0); + layout->setContentsMargins(0, 0, 0, 0); + m_plainTextEditSearch = new PlainTextEditSearch(this); + layout->addWidget(m_plainTextEditSearch); + layout->addWidget(m_edit); setLayout(layout); show(); + m_plainTextEditSearch->showFind(); } SourceViewer::~SourceViewer() { delete layout; - delete highlighter; - delete edit; + delete m_highlighter; + delete m_edit; + delete m_plainTextEditSearch; } diff --git a/src/sourceviewer.h b/src/sourceviewer.h index c4b36d2a..317c4713 100644 --- a/src/sourceviewer.h +++ b/src/sourceviewer.h @@ -22,17 +22,20 @@ #include #include +#include "plaintexteditsearch.h" #include "sourcehighlighter.h" + class SourceViewer : public QWidget { public: SourceViewer(QString &source, QString &title); ~SourceViewer(); private: + PlainTextEditSearch *m_plainTextEditSearch; QVBoxLayout *layout; - QPlainTextEdit *edit; - SourceHighlighter *highlighter; + QPlainTextEdit *m_edit; + SourceHighlighter *m_highlighter; }; #endif diff --git a/src/src.pri b/src/src.pri index b66c95a1..56b559a9 100644 --- a/src/src.pri +++ b/src/src.pri @@ -54,6 +54,8 @@ HEADERS += \ locationbar_p.h \ modelmenu.h \ networkaccessmanager.h \ + plaintexteditsearch.h \ + searchbar.h \ searchlineedit.h \ settings.h \ sourcehighlighter.h \ @@ -61,7 +63,6 @@ HEADERS += \ tabbar.h \ tabwidget.h \ toolbarsearch.h \ - viewsearch.h \ webactionmapper.h \ webview.h \ webviewsearch.h \ @@ -81,6 +82,8 @@ SOURCES += \ locationbar.cpp \ modelmenu.cpp \ networkaccessmanager.cpp \ + plaintexteditsearch.cpp \ + searchbar.cpp \ searchlineedit.cpp \ settings.cpp \ sourcehighlighter.cpp \ @@ -88,7 +91,6 @@ SOURCES += \ tabbar.cpp \ tabwidget.cpp \ toolbarsearch.cpp \ - viewsearch.cpp \ webactionmapper.cpp \ webview.cpp \ webviewsearch.cpp \ diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index 17d53d47..e1d7b50d 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -29,7 +29,7 @@ #include WebViewSearch::WebViewSearch(QWidget *parent) - : ViewSearch(parent) + : SearchBar(parent) { connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(findNext())); @@ -43,12 +43,12 @@ WebViewSearch::WebViewSearch(QWidget *parent) void WebViewSearch::setWebView(QWebView *webView) { - setView(webView); + setObject(webView); } QWebView *WebViewSearch::webView() const { - return (QWebView*)getView(); + return (QWebView*)getObject(); } void WebViewSearch::findNext() @@ -64,10 +64,10 @@ void WebViewSearch::findPrevious() void WebViewSearch::find(QWebPage::FindFlags flags) { QString searchString = ui.searchLineEdit->text(); - if (!m_view || searchString.isEmpty()) + if (!m_object || searchString.isEmpty()) return; QString infoString; - if (!((QWebView*)m_view)->findText(searchString, flags)) + if (!((QWebView*)m_object)->findText(searchString, flags)) infoString = tr("Not Found"); ui.searchInfo->setText(infoString); } diff --git a/src/webviewsearch.h b/src/webviewsearch.h index 3d7e424f..23dad4bf 100644 --- a/src/webviewsearch.h +++ b/src/webviewsearch.h @@ -25,13 +25,13 @@ #include #include "ui_searchbanner.h" -#include "viewsearch.h" +#include "searchbar.h" QT_BEGIN_NAMESPACE class QWebView; QT_END_NAMESPACE -class WebViewSearch : public ViewSearch +class WebViewSearch : public SearchBar { Q_OBJECT From f3089f8fd71a95f789c67c605bc6bd92db364567 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 26 Sep 2008 19:00:43 +0200 Subject: [PATCH 0184/1254] Implemented PlainTextEditSearch, search in source is now possible --- src/plaintexteditsearch.cpp | 18 ++++++++++-------- src/sourceviewer.cpp | 1 + src/webviewsearch.cpp | 2 ++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/plaintexteditsearch.cpp b/src/plaintexteditsearch.cpp index 8227073d..e56f7b98 100644 --- a/src/plaintexteditsearch.cpp +++ b/src/plaintexteditsearch.cpp @@ -29,14 +29,16 @@ PlainTextEditSearch::PlainTextEditSearch(QWidget *parent) : SearchBar(parent) { -/* connect(ui.nextButton, SIGNAL(clicked()), + connect(ui.nextButton, SIGNAL(clicked()), this, SLOT(findNext())); connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(findPrevious())); connect(ui.searchLineEdit, SIGNAL(returnPressed()), this, SLOT(findNext())); + connect(ui.searchLineEdit, SIGNAL(textChanged(QString&)), + this, SLOT(findNext())); connect(ui.doneButton, SIGNAL(clicked()), - this, SLOT(animateHide()));*/ + this, SLOT(animateHide())); } void PlainTextEditSearch::setPlainTextEdit(QPlainTextEdit *plainTextEdit) @@ -51,21 +53,21 @@ QPlainTextEdit *PlainTextEditSearch::plainTextEdit() const void PlainTextEditSearch::findNext() { -/* find(QWebPage::FindWrapsAroundDocument);*/ + find(0); } void PlainTextEditSearch::findPrevious() { -/* find(QWebPage::FindBackward | QWebPage::FindWrapsAroundDocument);*/ + find(QTextDocument::FindBackward); } void PlainTextEditSearch::find(QTextDocument::FindFlags flags) { -/* QString searchString = ui.searchLineEdit->text(); - if (!m_view || searchString.isEmpty()) + QString searchString = ui.searchLineEdit->text(); + if (!m_object || searchString.isEmpty()) return; QString infoString; - if (!((QWebView*)m_view)->findText(searchString, flags)) + if (!((QPlainTextEdit*)m_object)->find(searchString, flags)) infoString = tr("Not Found"); - ui.searchInfo->setText(infoString);*/ + ui.searchInfo->setText(infoString); } diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index c1a02455..e04a3e20 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -35,6 +35,7 @@ SourceViewer::SourceViewer(QString &source, QString &title) layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); m_plainTextEditSearch = new PlainTextEditSearch(this); + m_plainTextEditSearch->setPlainTextEdit(m_edit); layout->addWidget(m_plainTextEditSearch); layout->addWidget(m_edit); setLayout(layout); diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index e1d7b50d..830557d2 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -37,6 +37,8 @@ WebViewSearch::WebViewSearch(QWidget *parent) this, SLOT(findPrevious())); connect(ui.searchLineEdit, SIGNAL(returnPressed()), this, SLOT(findNext())); + connect(ui.searchLineEdit, SIGNAL(textChanged(QString&)), + this, SLOT(findNext())); connect(ui.doneButton, SIGNAL(clicked()), this, SLOT(animateHide())); } From e2354e1a61d018e3052c3607817fcad11fc84791 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 26 Sep 2008 21:46:53 +0200 Subject: [PATCH 0185/1254] true polymorphism on findNext/Previous() - searchbar complete for now --- src/plaintexteditsearch.cpp | 13 +------------ src/searchbar.cpp | 10 ++++++++++ src/searchbar.h | 2 ++ src/webviewsearch.cpp | 13 +------------ 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/plaintexteditsearch.cpp b/src/plaintexteditsearch.cpp index e56f7b98..f406b9f6 100644 --- a/src/plaintexteditsearch.cpp +++ b/src/plaintexteditsearch.cpp @@ -28,18 +28,7 @@ PlainTextEditSearch::PlainTextEditSearch(QWidget *parent) : SearchBar(parent) -{ - connect(ui.nextButton, SIGNAL(clicked()), - this, SLOT(findNext())); - connect(ui.previousButton, SIGNAL(clicked()), - this, SLOT(findPrevious())); - connect(ui.searchLineEdit, SIGNAL(returnPressed()), - this, SLOT(findNext())); - connect(ui.searchLineEdit, SIGNAL(textChanged(QString&)), - this, SLOT(findNext())); - connect(ui.doneButton, SIGNAL(clicked()), - this, SLOT(animateHide())); -} +{ } void PlainTextEditSearch::setPlainTextEdit(QPlainTextEdit *plainTextEdit) { diff --git a/src/searchbar.cpp b/src/searchbar.cpp index 53bc1bba..87f5d432 100644 --- a/src/searchbar.cpp +++ b/src/searchbar.cpp @@ -39,6 +39,16 @@ SearchBar::SearchBar(QWidget *parent) m_widget->width(), m_widget->height()); hide(); + connect(ui.nextButton, SIGNAL(clicked()), + this, SLOT(findNext())); + connect(ui.previousButton, SIGNAL(clicked()), + this, SLOT(findPrevious())); + connect(ui.searchLineEdit, SIGNAL(returnPressed()), + this, SLOT(findNext())); + connect(ui.searchLineEdit, SIGNAL(textEdited(const QString &)), + this, SLOT(findNext())); + connect(ui.doneButton, SIGNAL(clicked()), + this, SLOT(animateHide())); connect(m_timeLine, SIGNAL(frameChanged(int)), this, SLOT(frameChanged(int))); diff --git a/src/searchbar.h b/src/searchbar.h index ddc8e5f9..0f169574 100644 --- a/src/searchbar.h +++ b/src/searchbar.h @@ -40,6 +40,8 @@ public slots: void animateHide(); void clear(); void showFind(); + virtual void findNext() = 0; + virtual void findPrevious() = 0; protected: void resizeEvent(QResizeEvent *event); QObject *m_object; diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index 830557d2..ba0fcf2b 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -30,18 +30,7 @@ WebViewSearch::WebViewSearch(QWidget *parent) : SearchBar(parent) -{ - connect(ui.nextButton, SIGNAL(clicked()), - this, SLOT(findNext())); - connect(ui.previousButton, SIGNAL(clicked()), - this, SLOT(findPrevious())); - connect(ui.searchLineEdit, SIGNAL(returnPressed()), - this, SLOT(findNext())); - connect(ui.searchLineEdit, SIGNAL(textChanged(QString&)), - this, SLOT(findNext())); - connect(ui.doneButton, SIGNAL(clicked()), - this, SLOT(animateHide())); -} +{ } void WebViewSearch::setWebView(QWebView *webView) { From 4ba84eed7cade15a89b22970301290f35a41d692 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 26 Sep 2008 23:08:54 +0200 Subject: [PATCH 0186/1254] PlainTextEditSearch's behaviour improved --- src/plaintexteditsearch.cpp | 28 +++++++++++++++++++++------- src/plaintexteditsearch.h | 3 ++- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/plaintexteditsearch.cpp b/src/plaintexteditsearch.cpp index f406b9f6..0304c745 100644 --- a/src/plaintexteditsearch.cpp +++ b/src/plaintexteditsearch.cpp @@ -19,12 +19,9 @@ #include "plaintexteditsearch.h" -#include -#include -#include - -#include +#include "qtextcursor.h" +#define m_edit ((QPlainTextEdit*)m_object) PlainTextEditSearch::PlainTextEditSearch(QWidget *parent) : SearchBar(parent) @@ -55,8 +52,25 @@ void PlainTextEditSearch::find(QTextDocument::FindFlags flags) QString searchString = ui.searchLineEdit->text(); if (!m_object || searchString.isEmpty()) return; + if (searchString != lastSearchTerm) { + QTextCursor cursor = m_edit->textCursor(); + cursor.setPosition(cursor.selectionStart()); + cursor.clearSelection(); + m_edit->setTextCursor(cursor); + lastSearchTerm = searchString; + } QString infoString; - if (!((QPlainTextEdit*)m_object)->find(searchString, flags)) - infoString = tr("Not Found"); + if (!m_edit->find(searchString, flags)) { + /* no support for wrapping so we set the cursor to start */ + QTextCursor cursor = m_edit->textCursor(); + m_edit->moveCursor(QTextCursor::Start); + /* ...search again from the beginning */ + if (!m_edit->find(searchString,flags)) { + /* and if there's still nothing, we revert the cursor */ + infoString = tr("Not Found"); + cursor.clearSelection(); + m_edit->setTextCursor(cursor); + } + } ui.searchInfo->setText(infoString); } diff --git a/src/plaintexteditsearch.h b/src/plaintexteditsearch.h index 7d64f21b..79f4bacf 100644 --- a/src/plaintexteditsearch.h +++ b/src/plaintexteditsearch.h @@ -23,7 +23,6 @@ #include #include #include - #include "ui_searchbanner.h" #include "searchbar.h" @@ -42,6 +41,8 @@ public slots: private slots: void find(QTextDocument::FindFlags flags); +private: + QString lastSearchTerm; }; #endif // PLAINTEXTEDITSEARCH_H From 80b132edb92f7a8d91ebd6fa54593966e29e0cf4 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Sat, 27 Sep 2008 00:42:19 +0200 Subject: [PATCH 0187/1254] Added menu to sourceviewer, cleanups --- src/sourceviewer.cpp | 48 ++++++++++++++++++++++++++------------------ src/sourceviewer.h | 17 +++++++++++----- 2 files changed, 40 insertions(+), 25 deletions(-) diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index e04a3e20..9bdfb914 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -18,35 +18,43 @@ */ #include "sourceviewer.h" +#include "qaction.h" +#include "qshortcut.h" SourceViewer::SourceViewer(QString &source, QString &title) : QWidget() + , m_edit(source) + , m_highlighter(m_edit.document()) + , m_plainTextEditSearch(this) + , m_menuBar(this) + , m_editMenu(tr("&Edit"),&m_menuBar) + , m_findAction(tr("&Find"),&m_editMenu) + , layout(this) { - setWindowTitle(QString(QLatin1String("Source of Page ")).append(title)); + setWindowTitle(QString(tr("Source of Page ")).append(title)); setMinimumWidth(640); setMinimumHeight(480); - m_edit = new QPlainTextEdit(source); - m_edit->setLineWrapMode(QPlainTextEdit::NoWrap); - m_edit->setReadOnly(true); - m_edit->setFont(QFont(QLatin1String("Monospace"),9,QFont::Normal)); - m_highlighter = new SourceHighlighter(m_edit->document()); + m_edit.setLineWrapMode(QPlainTextEdit::NoWrap); + m_edit.setReadOnly(true); + m_edit.setFont(QFont(QLatin1String("Monospace"),9,QFont::Normal)); - layout = new QVBoxLayout; - layout->setSpacing(0); - layout->setContentsMargins(0, 0, 0, 0); - m_plainTextEditSearch = new PlainTextEditSearch(this); - m_plainTextEditSearch->setPlainTextEdit(m_edit); - layout->addWidget(m_plainTextEditSearch); - layout->addWidget(m_edit); - setLayout(layout); + m_plainTextEditSearch.setPlainTextEdit(&m_edit); + + m_menuBar.addMenu(&m_editMenu); + m_editMenu.addAction(&m_findAction); + m_findAction.setShortcuts(QKeySequence::Find); + connect(&m_findAction, SIGNAL(triggered()), this, SLOT(slotEditFind())); + + layout.setSpacing(0); + layout.setContentsMargins(0, 0, 0, 0); + layout.addWidget(&m_menuBar); + layout.addWidget(&m_plainTextEditSearch); + layout.addWidget(&m_edit); + setLayout(&layout); show(); - m_plainTextEditSearch->showFind(); } -SourceViewer::~SourceViewer() +void SourceViewer::slotEditFind() { - delete layout; - delete m_highlighter; - delete m_edit; - delete m_plainTextEditSearch; + m_plainTextEditSearch.showFind(); } diff --git a/src/sourceviewer.h b/src/sourceviewer.h index 317c4713..7f05ff8c 100644 --- a/src/sourceviewer.h +++ b/src/sourceviewer.h @@ -22,20 +22,27 @@ #include #include +#include +#include #include "plaintexteditsearch.h" #include "sourcehighlighter.h" class SourceViewer : public QWidget { + Q_OBJECT public: SourceViewer(QString &source, QString &title); - ~SourceViewer(); +public slots: + void slotEditFind(); private: - PlainTextEditSearch *m_plainTextEditSearch; - QVBoxLayout *layout; - QPlainTextEdit *m_edit; - SourceHighlighter *m_highlighter; + QPlainTextEdit m_edit; + SourceHighlighter m_highlighter; + PlainTextEditSearch m_plainTextEditSearch; + QMenuBar m_menuBar; + QMenu m_editMenu; + QAction m_findAction; + QVBoxLayout layout; }; #endif From 22d932cd3a28375e38828eba4d76f4c64fd3ad1f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 15:15:38 -0400 Subject: [PATCH 0188/1254] workaround for whne Vincenzo was not using his name --- generateAuthors | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generateAuthors b/generateAuthors index 738b8205..396b1d74 100755 --- a/generateAuthors +++ b/generateAuthors @@ -1 +1 @@ -git log --pretty="format:%an %ae" | sort | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' +git log --pretty="format:%an %ae" | sort | sed -e s/smart2128\ /Vincenzo\ Reale\ /g | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' From ce4fb25ca614e88c77fdf6a341102b709fafb021 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 15:16:36 -0400 Subject: [PATCH 0189/1254] Update AUTHORS file --- AUTHORS | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/AUTHORS b/AUTHORS index a1caee8b..3f9722ff 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,17 +2,18 @@ Benjamin C Meyer ben@meyerhome.net Jason A. Donenfeld Jason@zx2c4.com Jakub Lu啪n媒 limoto94@gmail.com Matvey Kozhev sikon@ubuntu.com +Diego Iastrubni elcuco@kde.org Ariya Hidayat ariya.hidayat@trolltech.com Josef Kufner jk@myserver.cz -Daniel Albuschat d.albuschat@gmail.com Adam Treat treat@kde.org +Daniel Albuschat d.albuschat@gmail.com +Vincenzo Reale smart2128@baslug.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org -smart2128 smart2128@baslug.org -Vincenzo Reale smart2128@baslug.org +ABuus amb@lafnet.dk Simon Hausmann simon@lst.de Marius Bugge Monsen mariusbu@pvv.org Gergely Nagy gergely.nagy@interware.co.hu Chris Hills chaz@chaz6.com -ABuus amb@lafnet.dk +Carlos J煤nior carlos@milk-it.net From 35d1b78d4f36829d754f456adbf42f2a64b33666 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 15:26:46 -0400 Subject: [PATCH 0190/1254] code style fixes --- .../addbookmarkdialog/tst_addbookmarkdialog.cpp | 2 +- autotests/autosaver/tst_autosaver.cpp | 2 +- autotests/lineedit/tst_lineedit.cpp | 2 +- autotests/tabwidget/tst_tabwidget.cpp | 2 +- autotests/webactionmapper/tst_webactionmapper.cpp | 2 +- autotests/xbel/all.xbel | 4 ++-- autotests/xbel/bad.xbel | 4 ++-- git_hooks/findstyleerrors.sh | 15 +++++++++++++++ src/browserapplication.cpp | 2 +- src/modelmenu.cpp | 2 +- src/utils/proxystyle.h | 4 ++-- src/webview.cpp | 2 +- 12 files changed, 29 insertions(+), 14 deletions(-) create mode 100755 git_hooks/findstyleerrors.sh diff --git a/autotests/addbookmarkdialog/tst_addbookmarkdialog.cpp b/autotests/addbookmarkdialog/tst_addbookmarkdialog.cpp index 9242fd4a..c0b67f9f 100644 --- a/autotests/addbookmarkdialog/tst_addbookmarkdialog.cpp +++ b/autotests/addbookmarkdialog/tst_addbookmarkdialog.cpp @@ -44,7 +44,7 @@ class SubAddBookmarkDialog : public AddBookmarkDialog public: SubAddBookmarkDialog(const QString &url, const QString &title, QWidget *parent, BookmarksManager *manager) - : AddBookmarkDialog(url, title, parent, manager){} + : AddBookmarkDialog(url, title, parent, manager) {} }; diff --git a/autotests/autosaver/tst_autosaver.cpp b/autotests/autosaver/tst_autosaver.cpp index 9a6b6fb3..934bc854 100644 --- a/autotests/autosaver/tst_autosaver.cpp +++ b/autotests/autosaver/tst_autosaver.cpp @@ -43,7 +43,7 @@ private slots: class SubAutoSaver : public AutoSaver { public: - SubAutoSaver(QObject *parent = 0) : AutoSaver(parent){} + SubAutoSaver(QObject *parent = 0) : AutoSaver(parent) {} void call_timerEvent(QTimerEvent* event) { return SubAutoSaver::timerEvent(event); } }; diff --git a/autotests/lineedit/tst_lineedit.cpp b/autotests/lineedit/tst_lineedit.cpp index b8ed9f21..481f028e 100644 --- a/autotests/lineedit/tst_lineedit.cpp +++ b/autotests/lineedit/tst_lineedit.cpp @@ -101,7 +101,7 @@ void tst_LineEdit::addWidget_data() } } -// public void addWidget(QWidget* widget, LineEdit::WidgetPosition position) +// public void addWidget(QWidget *widget, LineEdit::WidgetPosition position) void tst_LineEdit::addWidget() { QFETCH(LineEdit::WidgetPosition, position); diff --git a/autotests/tabwidget/tst_tabwidget.cpp b/autotests/tabwidget/tst_tabwidget.cpp index b2b62b6a..38a44781 100644 --- a/autotests/tabwidget/tst_tabwidget.cpp +++ b/autotests/tabwidget/tst_tabwidget.cpp @@ -148,7 +148,7 @@ void tst_TabWidget::addWebAction_data() QTest::newRow("back") << QWebPage::Back; } -// public void addWebAction(QAction* action, QWebPage::WebAction webAction) +// public void addWebAction(QAction *action, QWebPage::WebAction webAction) void tst_TabWidget::addWebAction() { QFETCH(QWebPage::WebAction, webAction); diff --git a/autotests/webactionmapper/tst_webactionmapper.cpp b/autotests/webactionmapper/tst_webactionmapper.cpp index cae62bd1..a64afe19 100644 --- a/autotests/webactionmapper/tst_webactionmapper.cpp +++ b/autotests/webactionmapper/tst_webactionmapper.cpp @@ -54,7 +54,7 @@ class SubWebActionMapper : public WebActionMapper { public: SubWebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent) - : WebActionMapper(root, webAction, parent){} + : WebActionMapper(root, webAction, parent) {} }; diff --git a/autotests/xbel/all.xbel b/autotests/xbel/all.xbel index ca6227f0..07576a3b 100644 --- a/autotests/xbel/all.xbel +++ b/autotests/xbel/all.xbel @@ -19,7 +19,7 @@ Has SubFolder - + SubFolder @@ -30,6 +30,6 @@ Title3 - + diff --git a/autotests/xbel/bad.xbel b/autotests/xbel/bad.xbel index d81ace82..0fa652d2 100644 --- a/autotests/xbel/bad.xbel +++ b/autotests/xbel/bad.xbel @@ -19,7 +19,7 @@ Has SubFolder - + SubFolder @@ -30,6 +30,6 @@ Title3 - + diff --git a/git_hooks/findstyleerrors.sh b/git_hooks/findstyleerrors.sh new file mode 100755 index 00000000..caa07d2d --- /dev/null +++ b/git_hooks/findstyleerrors.sh @@ -0,0 +1,15 @@ +#!/bin/sh +# +# Hack of a script to find some common style errors +# +# Coding style: http://code.google.com/p/arora/wiki/CodingStyle +# + +grep 'if(' * | grep -v Makefile | grep -v Binary +grep 'for(' * | grep -v Makefile | grep -v Binary +grep 'while(' * | grep -v Makefile | grep -v Binary +grep ' $' * | grep -v Makefile | grep -v Binary +grep '^{ }*{' * | grep -v Makefile | grep -v Binary +grep '){' * | grep -v Makefile | grep -v Binary +grep ' ' * | grep -v Makefile | grep -v Binary +egrep '\(.*\* .*\)' * | grep -v Makefile | grep -v Binary | grep '::' diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 428dfcb6..8a79ee7b 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -427,7 +427,7 @@ bool BrowserApplication::isTheOnlyBrowser() const } #if defined(Q_WS_MAC) -bool BrowserApplication::event(QEvent* event) +bool BrowserApplication::event(QEvent *event) { switch (event->type()) { case QEvent::ApplicationActivate: { diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index e256667f..35a2cf74 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -66,7 +66,7 @@ #include -ModelMenu::ModelMenu(QWidget * parent) +ModelMenu::ModelMenu(QWidget *parent) : QMenu(parent) , m_maxRows(7) , m_firstSeparator(-1) diff --git a/src/utils/proxystyle.h b/src/utils/proxystyle.h index 18ed0d3f..3f2ded25 100644 --- a/src/utils/proxystyle.h +++ b/src/utils/proxystyle.h @@ -98,10 +98,10 @@ class ProxyStyle : public QStyle { return style->eventFilter(o, e); } protected slots: - int layoutSpacingImplementation ( QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption * option = 0, const QWidget * widget = 0 ) const + int layoutSpacingImplementation(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = 0, const QWidget *widget = 0) const { return style->layoutSpacing(control1, control2, orientation, option, widget); } - QIcon standardIconImplementation ( StandardPixmap standardIcon, const QStyleOption * option = 0, const QWidget * widget = 0 ) const + QIcon standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *option = 0, const QWidget *widget = 0) const { return style->standardIcon(standardIcon, option, widget); } private: diff --git a/src/webview.cpp b/src/webview.cpp index 7f1d42cc..c9f2af99 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -226,7 +226,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) } -WebView::WebView(QWidget* parent) +WebView::WebView(QWidget *parent) : QWebView(parent) , m_progress(0) , m_currentZoom(100) From 17caa467e708151934eae4bc8b57615d52446489 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 23 Aug 2008 01:59:47 +0300 Subject: [PATCH 0191/1254] Start of a language chooser: A basic class is defined, it's wrapped up to the main window and the help menu. Still an idea. --- src/browsermainwindow.cpp | 12 ++++ src/browsermainwindow.h | 4 ++ src/languagechooser.cpp | 113 ++++++++++++++++++++++++++++++++++++++ src/languagechooser.h | 21 +++++++ src/src.pri | 2 + 5 files changed, 152 insertions(+) create mode 100644 src/languagechooser.cpp create mode 100644 src/languagechooser.h diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 17c235a7..fc49c078 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -71,6 +71,7 @@ #include "clearprivatedata.h" #include "downloadmanager.h" #include "history.h" +#include "languagechooser.h" #include "settings.h" #include "tabbar.h" #include "tabwidget.h" @@ -114,6 +115,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) setupMenu(); setupToolBar(); + m_languageChooser = new LanguageChooser(); QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this); @@ -539,6 +541,8 @@ void BrowserMainWindow::setupMenu() // Help QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); + helpMenu->addAction(tr("Switch application language "), this, SLOT(slotChooseApplicationLanguage())); + helpMenu->addSeparator(); helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt())); helpMenu->addAction(tr("About &Arora"), this, SLOT(slotAboutApplication())); } @@ -773,6 +777,14 @@ void BrowserMainWindow::slotAboutApplication() aboutDialog->show(); } +void BrowserMainWindow::slotChooseApplicationLanguage() +{ + if (!m_languageChooser) + return; + if (!m_languageChooser->getLanguageFromUser()) + return; +} + void BrowserMainWindow::slotFileNew() { BrowserApplication::instance()->newMainWindow(); diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 5ca590c9..d9e2af48 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -70,6 +70,7 @@ class AutoSaver; class BookmarksToolBar; class ChaseWidget; +class LanguageChooser; class QWebFrame; class TabWidget; class ToolbarSearch; @@ -141,6 +142,7 @@ private slots: void slotClearPrivateData(); void slotToggleInspector(bool enable); void slotAboutApplication(); + void slotChooseApplicationLanguage(); void slotDownloadManager(); void slotSelectLineEdit(); @@ -172,6 +174,8 @@ private slots: BookmarksToolBar *m_bookmarksToolbar; TabWidget *m_tabWidget; AutoSaver *m_autoSaver; + LanguageChooser *m_languageChooser; + QAction *m_showMenuBarAction; QAction *m_historyBack; diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp new file mode 100644 index 00000000..b35cfad3 --- /dev/null +++ b/src/languagechooser.cpp @@ -0,0 +1,113 @@ +#include "languagechooser.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// private class definition +class LanguageChooser::Private +{ +public: + Private( LanguageChooser *parent ); + ~Private(); + + void loadUpAvailableLangs(); + QString dataDirectory() const; + + LanguageChooser *m_parent; + QHash m_langs; + QString currentLang; +}; + +// private class implementation + +// TODO do we really need *parent +LanguageChooser::Private::Private( LanguageChooser *parent ) +{ + m_parent = parent; + + loadUpAvailableLangs(); +} + +// TODO is it needed? +LanguageChooser::Private::~Private() +{ +} + +/// Used to initialize the internal language list +/// Will look for all *.qm files in the data directory of Arora, and will try to +/// see if a translation for Qt exists. +/// The only languages that are "valid" are those who exists on both dirs. If +/// only a Qt translation exist - we cannot use it. If only Arora translation +/// exists - we cannot use it. +void LanguageChooser::Private::loadUpAvailableLangs() +{ + QString appLangsDirName = dataDirectory() + QDir::separator() + QLatin1String("locale"); + QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); + + QDir appLangsDir( appLangsDirName ); + QFileInfoList list; + QStringList filters; + + filters << QLatin1String("*.qm"); + appLangsDir.setNameFilters( filters ); + list = appLangsDir.entryInfoList(); + + for (int i = 0; i < list.size(); ++i) + { + QFileInfo appFileInfo = list.at(i); + QString lang = appFileInfo.baseName(); + QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); + + if (!sysFileInfo.exists()) + continue; + + qDebug() << "Language [" << lang << "] is available"; + m_langs[lang] = QLocale(lang); + } +} + +/// Get the directory to read the applications borrowed from +/// BrowserApplication::dataDirectory() +// TODO how should we refactor this? +QString LanguageChooser::Private::dataDirectory() const +{ + #if defined(Q_WS_X11) + return QLatin1String(PKGDATADIR); + #else + return qApp->applicationDirPath(); + #endif +} + +// public class +LanguageChooser::LanguageChooser() + :d( new LanguageChooser::Private(this) ) +{ + // what else is needed? +} + +LanguageChooser::~LanguageChooser() +{ +} + +bool LanguageChooser::getLanguageFromUser() +{ +} + +void LanguageChooser::setCurrentLanguage( const QString &name ) +{ + // TODO is this a valid language...? + d->currentLang = name; +} + +QString LanguageChooser::getCurrentLanguage() +{ + return d->currentLang; +} diff --git a/src/languagechooser.h b/src/languagechooser.h new file mode 100644 index 00000000..18e7c687 --- /dev/null +++ b/src/languagechooser.h @@ -0,0 +1,21 @@ +#ifndef __LANGUAGE_CHOOSER_H_ +#define __LANGUAGE_CHOOSER_H_ + +#include + +class LanguageChooser +{ +public: + LanguageChooser(); + ~LanguageChooser(); + + bool getLanguageFromUser(); + void setCurrentLanguage( const QString &name ); + QString getCurrentLanguage(); + +private: + class Private; + Private /*const */*d; +}; + +#endif //__LANGUAGE_CHOOSER_H_ diff --git a/src/src.pri b/src/src.pri index 01b061de..bfaa85d3 100644 --- a/src/src.pri +++ b/src/src.pri @@ -52,6 +52,7 @@ HEADERS += \ history.h \ locationbar.h \ locationbar_p.h \ + languagechooser.h \ modelmenu.h \ networkaccessmanager.h \ searchlineedit.h \ @@ -76,6 +77,7 @@ SOURCES += \ edittreeview.cpp \ history.cpp \ locationbar.cpp \ + languagechooser.cpp \ modelmenu.cpp \ networkaccessmanager.cpp \ searchlineedit.cpp \ From b7076d3129a2d055f4327294a958584e57517226 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sun, 24 Aug 2008 14:48:58 +0300 Subject: [PATCH 0192/1254] * finish a hackish version of the applicatino chooser dialog * move the translation loading from the application to the mainwindow * when the user clicks the corresponding item in the help menu, invoke the language chooser dialog and update the language TODO: - In theory, we can change the application translation in runtime, we just need to rework the code a little. Is it needed? or should we just mark the new language in the configuration...? - I still need to add support for "current locale on your system" - I still need to save and restore the language value, but that should be trivial. --- src/browserapplication.cpp | 24 -------- src/browserapplication.h | 2 - src/browsermainwindow.cpp | 54 ++++++++++++++++- src/browsermainwindow.h | 4 ++ src/languagechooser.cpp | 116 ++++++++++++++++++++++++++++++++----- src/languagechooser.h | 3 +- 6 files changed, 158 insertions(+), 45 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 8a79ee7b..12311809 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -150,21 +150,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #endif QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl"); - const QString localSysName = QLocale::system().name(); - - QTranslator *translator = new QTranslator(this); - QTranslator *qtTranslator = new QTranslator(this); - QString translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale") + QDir::separator() + localSysName; - QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - bool loaded = translator->load(translatorFileName, resourceDir); - - translatorFileName = QLatin1String("qt_"); - translatorFileName += localSysName; - loaded &= qtTranslator->load(translatorFileName, resourceDir); - if (loaded) { - installTranslator(translator); - installTranslator(qtTranslator); - } // Until QtWebkit defaults to 16 QWebSettings::globalSettings()->setFontSize(QWebSettings::DefaultFontSize, 16); @@ -548,12 +533,3 @@ QIcon BrowserApplication::icon(const QUrl &url) } return icon; } - -QString BrowserApplication::dataDirectory() const -{ -#if defined(Q_WS_X11) - return QLatin1String(PKGDATADIR); -#else - return applicationDirPath(); -#endif -} diff --git a/src/browserapplication.h b/src/browserapplication.h index bf4b08e4..1bd6163c 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -103,8 +103,6 @@ class BrowserApplication : public QApplication static NetworkAccessManager *networkAccessManager(); static BookmarksManager *bookmarksManager(); - QString dataDirectory() const; - #if defined(Q_WS_MAC) bool event(QEvent *event); #endif diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index fc49c078..d81831b1 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -93,6 +93,10 @@ #include #include +// lets use the corrent headers... +#include +#include + #include #include @@ -106,7 +110,12 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) , m_historyForward(0) , m_stop(0) , m_reload(0) + , m_languageChooser( new LanguageChooser ) + , m_sysTranslator(NULL) + , m_appTranslator(NULL) { + updateTranslators(); + setAttribute(Qt::WA_DeleteOnClose, true); statusBar()->setSizeGripEnabled(true); // fixes https://bugzilla.mozilla.org/show_bug.cgi?id=219070 @@ -114,8 +123,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) statusBar()->setLayoutDirection(Qt::LeftToRight); setupMenu(); setupToolBar(); - - m_languageChooser = new LanguageChooser(); + QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this); @@ -651,6 +659,47 @@ void BrowserMainWindow::updateStatusbarActionText(bool visible) m_viewStatusbar->setText(!visible ? tr("Show Status Bar") : tr("Hide Status Bar")); } +void BrowserMainWindow::updateTranslators() +{ + QTranslator *newSysTranslator = new QTranslator(this); + QTranslator *newAppTranslator = new QTranslator(this); + + QString definedLocale = m_languageChooser->currentLanguage(); + if (!definedLocale.isEmpty()) + { + bool loaded = true; + QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + QString translatorFileName; + + translatorFileName = m_languageChooser->dataDirectory() + QDir::separator() + QLatin1String("locale"); + loaded &= newAppTranslator->load(definedLocale, translatorFileName); + + translatorFileName = QLatin1String("qt_"); + translatorFileName += definedLocale; + loaded &= newSysTranslator->load(translatorFileName, resourceDir); + + if (loaded) + { + if (m_appTranslator!=NULL) + { + qApp->removeTranslator(m_appTranslator); + delete m_appTranslator; + } + + if (m_sysTranslator!=NULL) + { + qApp->removeTranslator(m_sysTranslator); + delete m_sysTranslator; + } + + qApp->installTranslator(newAppTranslator); + qApp->installTranslator(newSysTranslator); + m_appTranslator = newAppTranslator; + m_sysTranslator = newSysTranslator; + } + } +} + void BrowserMainWindow::updateToolbarActionText(bool visible) { m_viewToolbar->setText(!visible ? tr("Show Toolbar") : tr("Hide Toolbar")); @@ -783,6 +832,7 @@ void BrowserMainWindow::slotChooseApplicationLanguage() return; if (!m_languageChooser->getLanguageFromUser()) return; + updateTranslators(); } void BrowserMainWindow::slotFileNew() diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index d9e2af48..abb5fa09 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -77,6 +77,7 @@ class ToolbarSearch; class WebView; class QSplitter; class QFrame; +class QTranslator; /*! The MainWindow of the Browser Application. @@ -163,6 +164,7 @@ private slots: void setupMenu(); void setupToolBar(); void updateStatusbarActionText(bool visible); + void updateTranslators(); private: QToolBar *m_navigationBar; @@ -175,6 +177,8 @@ private slots: TabWidget *m_tabWidget; AutoSaver *m_autoSaver; LanguageChooser *m_languageChooser; + QTranslator *m_sysTranslator; + QTranslator *m_appTranslator; QAction *m_showMenuBarAction; diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index b35cfad3..f83a1c34 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include // private class definition @@ -19,11 +21,11 @@ class LanguageChooser::Private ~Private(); void loadUpAvailableLangs(); - QString dataDirectory() const; + bool isLanguageAvailable( const QString &lang ) const; LanguageChooser *m_parent; QHash m_langs; - QString currentLang; + QString m_currentLang; }; // private class implementation @@ -49,7 +51,7 @@ LanguageChooser::Private::~Private() /// exists - we cannot use it. void LanguageChooser::Private::loadUpAvailableLangs() { - QString appLangsDirName = dataDirectory() + QDir::separator() + QLatin1String("locale"); + QString appLangsDirName = m_parent->dataDirectory() + QDir::separator() + QLatin1String("locale"); QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); QDir appLangsDir( appLangsDirName ); @@ -69,21 +71,26 @@ void LanguageChooser::Private::loadUpAvailableLangs() if (!sysFileInfo.exists()) continue; - qDebug() << "Language [" << lang << "] is available"; +// qDebug() << "Language [" << lang << "] is available"; m_langs[lang] = QLocale(lang); } } -/// Get the directory to read the applications borrowed from -/// BrowserApplication::dataDirectory() -// TODO how should we refactor this? -QString LanguageChooser::Private::dataDirectory() const +/// Checks if a language is available for Arora to load +bool LanguageChooser::Private::isLanguageAvailable( const QString &lang ) const { - #if defined(Q_WS_X11) - return QLatin1String(PKGDATADIR); - #else - return qApp->applicationDirPath(); - #endif + bool found = false; + QLocale l1(lang); + foreach(QLocale l2, m_langs) + { + if (l1 == l2) + { + found = true; + break; + } + } + + return found; } // public class @@ -95,19 +102,96 @@ LanguageChooser::LanguageChooser() LanguageChooser::~LanguageChooser() { + delete d; } bool LanguageChooser::getLanguageFromUser() { + QStringList items; + QLatin1String("Winter"); + QLatin1String message( + "

You can run Arora with a different language
" + "then the operating system default.

" + "

Please choose the language which should be used for Arora

"); + + bool ok; + + foreach(QLocale l, d->m_langs) + { + QString s; + s = QString( QLatin1String("%1 (%2) %3") ) + .arg(QLocale::languageToString(l.language())) + .arg(l.name()) + // this is for pretty RTL support, don't ask + .arg(QChar(0x200E) // LRM = 0x200E + ); + items << s; + } + + QString item = QInputDialog::getItem(0, + QLatin1String("Choose language"), message, + items, 0, false, &ok + ); + + if (!ok) + return false; + + // now, lets see which item has been choosen + QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); + if (regExp.indexIn(item) == -1) + { + // this is BAD, the string did not match! + qDebug() + << __FILE__ << ":" << __LINE__ + << "Something bad happed, the language was not chosen from the combobox"; + return false; + } + + QString newLang = regExp.cap(1); + + if (!d->isLanguageAvailable(newLang)) + { + qDebug() + << __FILE__ << ":" << __LINE__ + << "Something bad happed, choosen a non exising language: " + << newLang; + return false; + } + QLocale l3(newLang); + newLang = d->m_langs.key(l3); +// qDebug() << "Choosen " << newLang; + + d->m_currentLang = newLang; + return true; } void LanguageChooser::setCurrentLanguage( const QString &name ) { // TODO is this a valid language...? - d->currentLang = name; + d->m_currentLang = name; } -QString LanguageChooser::getCurrentLanguage() +QString LanguageChooser::currentLanguage() { - return d->currentLang; + if (!d->m_currentLang.isEmpty()) + return d->m_currentLang; + + const QString sysLanguage = QLocale::system().name(); + if (d->isLanguageAvailable(sysLanguage)) + return sysLanguage; + else + return QString(); } + +/// Get the directory to read the applications borrowed from +/// BrowserApplication::dataDirectory() +// TODO how should we refactor this? +QString LanguageChooser::dataDirectory() const +{ + #if defined(Q_WS_X11) + return QLatin1String(PKGDATADIR); + #else + return qApp->applicationDirPath(); + #endif +} + diff --git a/src/languagechooser.h b/src/languagechooser.h index 18e7c687..17909a0a 100644 --- a/src/languagechooser.h +++ b/src/languagechooser.h @@ -11,7 +11,8 @@ class LanguageChooser bool getLanguageFromUser(); void setCurrentLanguage( const QString &name ); - QString getCurrentLanguage(); + QString currentLanguage(); + QString dataDirectory() const; private: class Private; From 25696e743eb8f3dba10b5d53b2f2bfb8a22ee11f Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sun, 24 Aug 2008 15:43:12 +0300 Subject: [PATCH 0193/1254] ok, now it's really working and you can change the application translation on run-time. --- src/browsermainwindow.cpp | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index d81831b1..7b797273 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -113,6 +113,12 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) , m_languageChooser( new LanguageChooser ) , m_sysTranslator(NULL) , m_appTranslator(NULL) + , m_navigationBar(NULL) + , m_historyBackMenu(NULL) + , m_historyForwardMenu(NULL) + , m_stopReload(NULL) + , m_navigationSplitter(NULL) + , m_toolbarSearch(NULL) { updateTranslators(); @@ -121,8 +127,8 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) // fixes https://bugzilla.mozilla.org/show_bug.cgi?id=219070 // yes, that's a Firefox bug! statusBar()->setLayoutDirection(Qt::LeftToRight); - setupMenu(); - setupToolBar(); +// setupMenu(); +// setupToolBar(); QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); @@ -352,6 +358,7 @@ QAction *BrowserMainWindow::showMenuBarAction() const void BrowserMainWindow::setupMenu() { + menuBar()->clear(); new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(slotSwapFocus())); // File @@ -460,6 +467,8 @@ void BrowserMainWindow::setupMenu() m_stop->setShortcuts(shortcuts); m_tabWidget->addWebAction(m_stop, QWebPage::Stop); + if (m_reload) + delete m_reload; m_reload = viewMenu->addAction(tr("&Reload Page")); m_reload->setShortcuts(QKeySequence::Refresh); m_tabWidget->addWebAction(m_reload, QWebPage::Reload); @@ -558,11 +567,16 @@ void BrowserMainWindow::setupMenu() void BrowserMainWindow::setupToolBar() { setUnifiedTitleAndToolBarOnMac(true); + if (m_navigationBar) + removeToolBar(m_navigationBar); +// delete m_navigationBar; <-- Why does it kil the application? m_navigationBar = addToolBar(tr("Navigation")); connect(m_navigationBar->toggleViewAction(), SIGNAL(toggled(bool)), this, SLOT(updateToolbarActionText(bool))); m_historyBack->setIcon(style()->standardIcon(QStyle::SP_ArrowBack, 0, this)); + if (m_historyBackMenu) + delete m_historyBackMenu; m_historyBackMenu = new QMenu(this); m_historyBack->setMenu(m_historyBackMenu); connect(m_historyBackMenu, SIGNAL(aboutToShow()), @@ -572,6 +586,8 @@ void BrowserMainWindow::setupToolBar() m_navigationBar->addAction(m_historyBack); m_historyForward->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this)); + if (m_historyForwardMenu) + delete m_historyForwardMenu; m_historyForwardMenu = new QMenu(this); connect(m_historyForwardMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShowForwardMenu())); @@ -580,14 +596,20 @@ void BrowserMainWindow::setupToolBar() m_historyForward->setMenu(m_historyForwardMenu); m_navigationBar->addAction(m_historyForward); + if (m_stopReload) + delete m_stopReload; m_stopReload = new QAction(this); m_reloadIcon = style()->standardIcon(QStyle::SP_BrowserReload); m_stopReload->setIcon(m_reloadIcon); - m_navigationBar->addAction(m_stopReload); +// if (m_navigationSplitter) +// delete m_navigationSplitter; <-- Why does it kil the application? m_navigationSplitter = new QSplitter(m_navigationBar); m_navigationSplitter->addWidget(m_tabWidget->lineEditStack()); + + if (m_toolbarSearch) + delete m_toolbarSearch; m_toolbarSearch = new ToolbarSearch(m_navigationBar); m_navigationSplitter->addWidget(m_toolbarSearch); connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), @@ -696,6 +718,10 @@ void BrowserMainWindow::updateTranslators() qApp->installTranslator(newSysTranslator); m_appTranslator = newAppTranslator; m_sysTranslator = newSysTranslator; + + // lets re-translate the whole application + setupMenu(); + setupToolBar(); } } } From cfbb4b89b78b366bb6019bfaafb19b8f3a97231b Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sun, 24 Aug 2008 22:53:24 +0300 Subject: [PATCH 0194/1254] another shot at the re-translate issue: now instead of re-creating the toolbar, we just re-translate some items. Still, I need to re-create the menus, as there is no other way of doing this (... maybe using the Ui designer...?) --- src/browsermainwindow.cpp | 51 ++++++++++++++++++--------------------- src/browsermainwindow.h | 1 + 2 files changed, 25 insertions(+), 27 deletions(-) mode change 100644 => 100755 src/browsermainwindow.cpp diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp old mode 100644 new mode 100755 index 7b797273..b5177fd3 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -110,26 +110,24 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) , m_historyForward(0) , m_stop(0) , m_reload(0) - , m_languageChooser( new LanguageChooser ) - , m_sysTranslator(NULL) - , m_appTranslator(NULL) - , m_navigationBar(NULL) - , m_historyBackMenu(NULL) - , m_historyForwardMenu(NULL) - , m_stopReload(NULL) - , m_navigationSplitter(NULL) - , m_toolbarSearch(NULL) +// , m_appTranslator(0) +// , m_sysTranslator(0) +// , m_languageChooser( new LanguageChooser ) { + m_languageChooser = new LanguageChooser; + m_appTranslator = NULL; + m_sysTranslator = NULL; + updateTranslators(); + setupMenu(); + setupToolBar(); setAttribute(Qt::WA_DeleteOnClose, true); statusBar()->setSizeGripEnabled(true); // fixes https://bugzilla.mozilla.org/show_bug.cgi?id=219070 // yes, that's a Firefox bug! statusBar()->setLayoutDirection(Qt::LeftToRight); -// setupMenu(); -// setupToolBar(); - + QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this); @@ -567,16 +565,11 @@ void BrowserMainWindow::setupMenu() void BrowserMainWindow::setupToolBar() { setUnifiedTitleAndToolBarOnMac(true); - if (m_navigationBar) - removeToolBar(m_navigationBar); -// delete m_navigationBar; <-- Why does it kil the application? m_navigationBar = addToolBar(tr("Navigation")); connect(m_navigationBar->toggleViewAction(), SIGNAL(toggled(bool)), this, SLOT(updateToolbarActionText(bool))); m_historyBack->setIcon(style()->standardIcon(QStyle::SP_ArrowBack, 0, this)); - if (m_historyBackMenu) - delete m_historyBackMenu; m_historyBackMenu = new QMenu(this); m_historyBack->setMenu(m_historyBackMenu); connect(m_historyBackMenu, SIGNAL(aboutToShow()), @@ -586,8 +579,6 @@ void BrowserMainWindow::setupToolBar() m_navigationBar->addAction(m_historyBack); m_historyForward->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this)); - if (m_historyForwardMenu) - delete m_historyForwardMenu; m_historyForwardMenu = new QMenu(this); connect(m_historyForwardMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShowForwardMenu())); @@ -596,20 +587,14 @@ void BrowserMainWindow::setupToolBar() m_historyForward->setMenu(m_historyForwardMenu); m_navigationBar->addAction(m_historyForward); - if (m_stopReload) - delete m_stopReload; m_stopReload = new QAction(this); m_reloadIcon = style()->standardIcon(QStyle::SP_BrowserReload); m_stopReload->setIcon(m_reloadIcon); m_navigationBar->addAction(m_stopReload); -// if (m_navigationSplitter) -// delete m_navigationSplitter; <-- Why does it kil the application? m_navigationSplitter = new QSplitter(m_navigationBar); m_navigationSplitter->addWidget(m_tabWidget->lineEditStack()); - if (m_toolbarSearch) - delete m_toolbarSearch; m_toolbarSearch = new ToolbarSearch(m_navigationBar); m_navigationSplitter->addWidget(m_toolbarSearch); connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), @@ -702,14 +687,17 @@ void BrowserMainWindow::updateTranslators() if (loaded) { + bool reTranslationNeeded = false; if (m_appTranslator!=NULL) { + reTranslationNeeded = true; qApp->removeTranslator(m_appTranslator); delete m_appTranslator; } if (m_sysTranslator!=NULL) { + reTranslationNeeded = true; qApp->removeTranslator(m_sysTranslator); delete m_sysTranslator; } @@ -720,12 +708,21 @@ void BrowserMainWindow::updateTranslators() m_sysTranslator = newSysTranslator; // lets re-translate the whole application - setupMenu(); - setupToolBar(); + if (reTranslationNeeded) + retranslate(); } } } +void BrowserMainWindow::retranslate() +{ + // to re-translate the menus, the only doable thing it to re-create it + setupMenu(); + + // however, for toolbars, we can just do it smartly + m_navigationBar->setWindowTitle (tr("Navigation")); +} + void BrowserMainWindow::updateToolbarActionText(bool visible) { m_viewToolbar->setText(!visible ? tr("Show Toolbar") : tr("Hide Toolbar")); diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index abb5fa09..0301ef08 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -165,6 +165,7 @@ private slots: void setupToolBar(); void updateStatusbarActionText(bool visible); void updateTranslators(); + void retranslate(); private: QToolBar *m_navigationBar; From a263ca917b607a9ef9eb822992477d187b6bea0e Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Mon, 25 Aug 2008 00:00:33 +0300 Subject: [PATCH 0195/1254] * allow translations which have no valid Qt translation (otherwise too much translations are lost) * in the language dialog, show the name of the file which will get loaded, and not the locale name --- src/languagechooser.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index f83a1c34..82332953 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -68,10 +68,8 @@ void LanguageChooser::Private::loadUpAvailableLangs() QString lang = appFileInfo.baseName(); QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); - if (!sysFileInfo.exists()) - continue; - -// qDebug() << "Language [" << lang << "] is available"; +// if (!sysFileInfo.exists()) +// continue; m_langs[lang] = QLocale(lang); } } @@ -121,7 +119,7 @@ bool LanguageChooser::getLanguageFromUser() QString s; s = QString( QLatin1String("%1 (%2) %3") ) .arg(QLocale::languageToString(l.language())) - .arg(l.name()) + .arg(d->m_langs.key(l)) // this is for pretty RTL support, don't ask .arg(QChar(0x200E) // LRM = 0x200E ); From 525d03ddca596a57089d569ab0cd74b9d13d5fd5 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Mon, 25 Aug 2008 00:05:37 +0300 Subject: [PATCH 0196/1254] change the logic of installTranslation: only if the application translation has been loaded, regardless of the system translation --- src/browsermainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index b5177fd3..2d641885 100755 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -679,11 +679,11 @@ void BrowserMainWindow::updateTranslators() QString translatorFileName; translatorFileName = m_languageChooser->dataDirectory() + QDir::separator() + QLatin1String("locale"); - loaded &= newAppTranslator->load(definedLocale, translatorFileName); + loaded = newAppTranslator->load(definedLocale, translatorFileName); translatorFileName = QLatin1String("qt_"); translatorFileName += definedLocale; - loaded &= newSysTranslator->load(translatorFileName, resourceDir); + /*loaded |= */newSysTranslator->load(translatorFileName, resourceDir); if (loaded) { From c5289adb3895b960ae209f42450de006d85fc4f6 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Mon, 25 Aug 2008 00:10:43 +0300 Subject: [PATCH 0197/1254] choose the currently active language from the combo when opening the language choosing dialog --- src/languagechooser.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index 82332953..5e2f5867 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -113,22 +113,27 @@ bool LanguageChooser::getLanguageFromUser() "

Please choose the language which should be used for Arora

"); bool ok; + int defaultItem = 0; + int counter = 0; foreach(QLocale l, d->m_langs) { - QString s; + QString s = d->m_langs.key(l); + if (s == d->m_currentLang) + defaultItem = items.count(); s = QString( QLatin1String("%1 (%2) %3") ) .arg(QLocale::languageToString(l.language())) - .arg(d->m_langs.key(l)) + .arg(s) // this is for pretty RTL support, don't ask .arg(QChar(0x200E) // LRM = 0x200E ); + items << s; } QString item = QInputDialog::getItem(0, QLatin1String("Choose language"), message, - items, 0, false, &ok + items, defaultItem, false, &ok ); if (!ok) From 68991ae3e66f70f16b324930b340b48126c37e01 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Mon, 25 Aug 2008 14:12:55 +0300 Subject: [PATCH 0198/1254] fix compilation --- src/languagechooser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index 5e2f5867..f1353b2b 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -121,8 +121,9 @@ bool LanguageChooser::getLanguageFromUser() QString s = d->m_langs.key(l); if (s == d->m_currentLang) defaultItem = items.count(); - s = QString( QLatin1String("%1 (%2) %3") ) + s = QString( QLatin1String("%1, %2 (%3) %4") ) .arg(QLocale::languageToString(l.language())) + .arg(QLocale::countryToString(l.country())) .arg(s) // this is for pretty RTL support, don't ask .arg(QChar(0x200E) // LRM = 0x200E @@ -140,7 +141,7 @@ bool LanguageChooser::getLanguageFromUser() return false; // now, lets see which item has been choosen - QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); + QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); if (regExp.indexIn(item) == -1) { // this is BAD, the string did not match! From 25b2409b2fcd297f345e93f51ed673ba15154c88 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Tue, 2 Sep 2008 23:53:16 +0300 Subject: [PATCH 0199/1254] 1) add support for "system locale" in the language chooser (this is when the language is null) 2) store and restore the language setting in the browser, this was way too easy!!!!!1 --- src/browsermainwindow.cpp | 8 +++++ src/languagechooser.cpp | 61 +++++++++++++++++++++++++-------------- 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 2d641885..c74dddb3 100755 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -118,6 +118,10 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) m_appTranslator = NULL; m_sysTranslator = NULL; + QSettings settings; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + m_languageChooser->setCurrentLanguage( settings.value(QLatin1String("lang")).toString()); + updateTranslators(); setupMenu(); setupToolBar(); @@ -856,6 +860,10 @@ void BrowserMainWindow::slotChooseApplicationLanguage() if (!m_languageChooser->getLanguageFromUser()) return; updateTranslators(); + + QSettings settings; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + settings.setValue( QLatin1String("lang"), m_languageChooser->currentLanguage() ); } void BrowserMainWindow::slotFileNew() diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index f1353b2b..a2683b87 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -116,6 +116,13 @@ bool LanguageChooser::getLanguageFromUser() int defaultItem = 0; int counter = 0; + QString systemLocaleString = QLocale::system().name(); + systemLocaleString = qApp->tr("System locale (%1) %2") + .arg(systemLocaleString) + // this is for pretty RTL support, don't ask + .arg(QChar(0x200E)); // LRM = 0x200E; + items << systemLocaleString; + foreach(QLocale l, d->m_langs) { QString s = d->m_langs.key(l); @@ -140,32 +147,42 @@ bool LanguageChooser::getLanguageFromUser() if (!ok) return false; - // now, lets see which item has been choosen - QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); - if (regExp.indexIn(item) == -1) - { - // this is BAD, the string did not match! - qDebug() - << __FILE__ << ":" << __LINE__ - << "Something bad happed, the language was not chosen from the combobox"; - return false; + + + if (item == systemLocaleString) + { // user choose to use the system locale + d->m_currentLang.clear(); } + else + { // the user specified a specific locale + // lets see which item has been choosen + QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); + if (regExp.indexIn(item) == -1) + { + // this is BAD, the string did not match! + qDebug() + << __FILE__ << ":" << __LINE__ + << "Something bad happed, the language was not chosen from the combobox"; + return false; + } - QString newLang = regExp.cap(1); + QString newLang = regExp.cap(1); - if (!d->isLanguageAvailable(newLang)) - { - qDebug() - << __FILE__ << ":" << __LINE__ - << "Something bad happed, choosen a non exising language: " - << newLang; - return false; + if (!d->isLanguageAvailable(newLang)) + { + qDebug() + << __FILE__ << ":" << __LINE__ + << "Something bad happed, choosen a non exising language: " + << newLang; + return false; + } + QLocale l3(newLang); + newLang = d->m_langs.key(l3); + // qDebug() << "Choosen " << newLang; + + d->m_currentLang = newLang; } - QLocale l3(newLang); - newLang = d->m_langs.key(l3); -// qDebug() << "Choosen " << newLang; - - d->m_currentLang = newLang; + return true; } From f316a8d25b2160b2482b120dac2fc74d226d579c Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 13 Sep 2008 20:26:08 +0300 Subject: [PATCH 0200/1254] remove the private implementation, it just compilcates the code and since this is not a library, no stable abi is needed so no need to d-pointers --- src/languagechooser.cpp | 156 +++++++++++++++------------------------- src/languagechooser.h | 16 +++-- 2 files changed, 69 insertions(+), 103 deletions(-) diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index a2683b87..b59c67a2 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include @@ -13,94 +12,14 @@ #include #include -// private class definition -class LanguageChooser::Private -{ -public: - Private( LanguageChooser *parent ); - ~Private(); - - void loadUpAvailableLangs(); - bool isLanguageAvailable( const QString &lang ) const; - - LanguageChooser *m_parent; - QHash m_langs; - QString m_currentLang; -}; - -// private class implementation - -// TODO do we really need *parent -LanguageChooser::Private::Private( LanguageChooser *parent ) -{ - m_parent = parent; - - loadUpAvailableLangs(); -} - -// TODO is it needed? -LanguageChooser::Private::~Private() -{ -} - -/// Used to initialize the internal language list -/// Will look for all *.qm files in the data directory of Arora, and will try to -/// see if a translation for Qt exists. -/// The only languages that are "valid" are those who exists on both dirs. If -/// only a Qt translation exist - we cannot use it. If only Arora translation -/// exists - we cannot use it. -void LanguageChooser::Private::loadUpAvailableLangs() -{ - QString appLangsDirName = m_parent->dataDirectory() + QDir::separator() + QLatin1String("locale"); - QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); - - QDir appLangsDir( appLangsDirName ); - QFileInfoList list; - QStringList filters; - - filters << QLatin1String("*.qm"); - appLangsDir.setNameFilters( filters ); - list = appLangsDir.entryInfoList(); - - for (int i = 0; i < list.size(); ++i) - { - QFileInfo appFileInfo = list.at(i); - QString lang = appFileInfo.baseName(); - QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); - -// if (!sysFileInfo.exists()) -// continue; - m_langs[lang] = QLocale(lang); - } -} - -/// Checks if a language is available for Arora to load -bool LanguageChooser::Private::isLanguageAvailable( const QString &lang ) const -{ - bool found = false; - QLocale l1(lang); - foreach(QLocale l2, m_langs) - { - if (l1 == l2) - { - found = true; - break; - } - } - - return found; -} - // public class LanguageChooser::LanguageChooser() - :d( new LanguageChooser::Private(this) ) { - // what else is needed? + loadUpAvailableLangs(); } LanguageChooser::~LanguageChooser() { - delete d; } bool LanguageChooser::getLanguageFromUser() @@ -114,7 +33,6 @@ bool LanguageChooser::getLanguageFromUser() bool ok; int defaultItem = 0; - int counter = 0; QString systemLocaleString = QLocale::system().name(); systemLocaleString = qApp->tr("System locale (%1) %2") @@ -123,10 +41,10 @@ bool LanguageChooser::getLanguageFromUser() .arg(QChar(0x200E)); // LRM = 0x200E; items << systemLocaleString; - foreach(QLocale l, d->m_langs) + foreach(QLocale l, m_langs) { - QString s = d->m_langs.key(l); - if (s == d->m_currentLang) + QString s = m_langs.key(l); + if (s == m_currentLang) defaultItem = items.count(); s = QString( QLatin1String("%1, %2 (%3) %4") ) .arg(QLocale::languageToString(l.language())) @@ -146,12 +64,10 @@ bool LanguageChooser::getLanguageFromUser() if (!ok) return false; - - if (item == systemLocaleString) { // user choose to use the system locale - d->m_currentLang.clear(); + m_currentLang.clear(); } else { // the user specified a specific locale @@ -168,7 +84,7 @@ bool LanguageChooser::getLanguageFromUser() QString newLang = regExp.cap(1); - if (!d->isLanguageAvailable(newLang)) + if (!isLanguageAvailable(newLang)) { qDebug() << __FILE__ << ":" << __LINE__ @@ -177,10 +93,10 @@ bool LanguageChooser::getLanguageFromUser() return false; } QLocale l3(newLang); - newLang = d->m_langs.key(l3); + newLang = m_langs.key(l3); // qDebug() << "Choosen " << newLang; - - d->m_currentLang = newLang; + + m_currentLang = newLang; } return true; @@ -189,16 +105,16 @@ bool LanguageChooser::getLanguageFromUser() void LanguageChooser::setCurrentLanguage( const QString &name ) { // TODO is this a valid language...? - d->m_currentLang = name; + m_currentLang = name; } QString LanguageChooser::currentLanguage() { - if (!d->m_currentLang.isEmpty()) - return d->m_currentLang; + if (!m_currentLang.isEmpty()) + return m_currentLang; const QString sysLanguage = QLocale::system().name(); - if (d->isLanguageAvailable(sysLanguage)) + if (isLanguageAvailable(sysLanguage)) return sysLanguage; else return QString(); @@ -216,3 +132,49 @@ QString LanguageChooser::dataDirectory() const #endif } +/// Used to initialize the internal language list +/// Will look for all *.qm files in the data directory of Arora, and will try to +/// see if a translation for Qt exists. +/// The only languages that are "valid" are those who exists on both dirs. If +/// only a Qt translation exist - we cannot use it. If only Arora translation +/// exists - we cannot use it. +void LanguageChooser::loadUpAvailableLangs() +{ + QString appLangsDirName = dataDirectory() + QDir::separator() + QLatin1String("locale"); + QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); + + QDir appLangsDir( appLangsDirName ); + QFileInfoList list; + QStringList filters; + + filters << QLatin1String("*.qm"); + appLangsDir.setNameFilters( filters ); + list = appLangsDir.entryInfoList(); + + for (int i = 0; i < list.size(); ++i) + { + QFileInfo appFileInfo = list.at(i); + QString lang = appFileInfo.baseName(); + QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); + +// if (!sysFileInfo.exists()) +// continue; + m_langs[lang] = QLocale(lang); + } +} + +/// Checks if a language is available for Arora to load +bool LanguageChooser::isLanguageAvailable( const QString &lang ) const +{ + bool found = false; + QLocale l1(lang); + foreach(QLocale l2, m_langs) + { + if (l1 == l2) + { + found = true; + break; + } + } + return found; +} diff --git a/src/languagechooser.h b/src/languagechooser.h index 17909a0a..64880d51 100644 --- a/src/languagechooser.h +++ b/src/languagechooser.h @@ -2,6 +2,8 @@ #define __LANGUAGE_CHOOSER_H_ #include +#include +#include class LanguageChooser { @@ -9,14 +11,16 @@ class LanguageChooser LanguageChooser(); ~LanguageChooser(); - bool getLanguageFromUser(); - void setCurrentLanguage( const QString &name ); - QString currentLanguage(); + bool getLanguageFromUser(); + void setCurrentLanguage( const QString &name ); + QString currentLanguage(); QString dataDirectory() const; - + void loadUpAvailableLangs(); + bool isLanguageAvailable( const QString &lang ) const; + private: - class Private; - Private /*const */*d; + QHash m_langs; + QString m_currentLang; }; #endif //__LANGUAGE_CHOOSER_H_ From 84e79e27fa4c05c76e537c4f69b53c855851d56c Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 13 Sep 2008 20:34:02 +0300 Subject: [PATCH 0201/1254] move headers to lower case, and just for fun, re-order them in aphanumberic order :) --- src/languagechooser.cpp | 19 ++++++++----------- src/languagechooser.h | 12 ++++++------ 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index b59c67a2..ed6ae9e4 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -1,16 +1,13 @@ #include "languagechooser.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include // public class LanguageChooser::LanguageChooser() diff --git a/src/languagechooser.h b/src/languagechooser.h index 64880d51..ecf3ebbb 100644 --- a/src/languagechooser.h +++ b/src/languagechooser.h @@ -1,9 +1,9 @@ -#ifndef __LANGUAGE_CHOOSER_H_ -#define __LANGUAGE_CHOOSER_H_ +#ifndef LANGUAGE_CHOOSER_H +#define LANGUAGE_CHOOSER_H -#include -#include -#include +#include +#include +#include class LanguageChooser { @@ -23,4 +23,4 @@ class LanguageChooser QString m_currentLang; }; -#endif //__LANGUAGE_CHOOSER_H_ +#endif //LANGUAGE_CHOOSER_H From f9c53f3efb53e926879067eb77cbcfb28824aa30 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 20 Sep 2008 11:43:21 +0300 Subject: [PATCH 0202/1254] * LanguageChooser renamed to Language Manager * LanguageManager now inherits QObject, now it will not leak memory (oh crap, I forgot to pass the parent on the constructor... next commit...) * LanguageManager is now on the BrowserApplication, moved from the BrowserMainWindow * BrowserApplication now as accessor for it's LanguageManager * BrowserMainWindow now handles language changes: when you have several windows and in one you change the language all windows in your application change the translation --- src/browserapplication.cpp | 80 ++++++++++++++++++++++++++++ src/browserapplication.h | 9 ++++ src/browsermainwindow.cpp | 104 ++++++++++--------------------------- src/browsermainwindow.h | 8 +-- src/languagechooser.cpp | 29 ++++------- src/languagechooser.h | 16 +++--- 6 files changed, 136 insertions(+), 110 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 12311809..e31d2e23 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -70,6 +70,7 @@ #include "networkaccessmanager.h" #include "tabwidget.h" #include "webview.h" +#include "languagechooser.h" #include #include @@ -93,11 +94,14 @@ DownloadManager *BrowserApplication::s_downloadManager = 0; HistoryManager *BrowserApplication::s_historyManager = 0; NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0; BookmarksManager *BrowserApplication::s_bookmarksManager = 0; +LanguageManager *BrowserApplication::s_languageManager = 0; BrowserApplication::BrowserApplication(int &argc, char **argv) : QApplication(argc, argv) , m_localServer(0) , quiting(false) + , m_sysTranslator(0) + , m_appTranslator(0) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); @@ -159,6 +163,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) settings.beginGroup(QLatin1String("sessions")); m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); settings.endGroup(); + #if defined(Q_WS_MAC) connect(this, SIGNAL(lastWindowClosed()), @@ -168,6 +173,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #ifndef AUTOTESTS QTimer::singleShot(0, this, SLOT(postLaunch())); #endif // AUTOTESTS + updateTranslators(); } BrowserApplication::~BrowserApplication() @@ -518,6 +524,80 @@ BookmarksManager *BrowserApplication::bookmarksManager() return s_bookmarksManager; } +LanguageManager* BrowserApplication::languageManager() +{ + if (!s_languageManager) { + QSettings settings; + s_languageManager = new LanguageManager; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + s_languageManager->setCurrentLanguage( settings.value(QLatin1String("lang")).toString() ); + } + return s_languageManager; +} + +void BrowserApplication::updateTranslators() +{ + QTranslator *newSysTranslator = new QTranslator(this); + QTranslator *newAppTranslator = new QTranslator(this); + LanguageManager * l_manager = languageManager(); + + QString definedLocale = l_manager->currentLanguage(); + if (!definedLocale.isEmpty()) + { + bool loaded = true; + QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + QString translatorFileName; + + translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale"); + loaded = newAppTranslator->load(definedLocale, translatorFileName); + + translatorFileName = QLatin1String("qt_"); + translatorFileName += definedLocale; + /*loaded |= */newSysTranslator->load(translatorFileName, resourceDir); + + if (loaded) + { + bool reTranslationNeeded = false; + if (m_appTranslator!=NULL) + { + reTranslationNeeded = true; + qApp->removeTranslator(m_appTranslator); + delete m_appTranslator; + } + + if (m_sysTranslator!=NULL) + { + reTranslationNeeded = true; + qApp->removeTranslator(m_sysTranslator); + delete m_sysTranslator; + } + + qApp->installTranslator(newAppTranslator); + qApp->installTranslator(newSysTranslator); + m_appTranslator = newAppTranslator; + m_sysTranslator = newSysTranslator; + + // lets re-translate the whole application + // TODO emit signal? +// if (reTranslationNeeded) +// retranslate(); + } + } + + QSettings settings; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + settings.setValue( QLatin1String("lang"), l_manager->currentLanguage() ); +} + +QString BrowserApplication::dataDirectory() +{ + #if defined(Q_WS_X11) + return QLatin1String(PKGDATADIR); + #else + return qApp->applicationDirPath(); + #endif +} + QIcon BrowserApplication::icon(const QUrl &url) { QIcon icon = QWebSettings::iconForUrl(url); diff --git a/src/browserapplication.h b/src/browserapplication.h index 1bd6163c..3ef14a0a 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -79,6 +79,8 @@ class CookieJar; class DownloadManager; class HistoryManager; class NetworkAccessManager; +class LanguageManager; +class QTranslator; class BrowserApplication : public QApplication { Q_OBJECT @@ -102,6 +104,10 @@ class BrowserApplication : public QApplication static DownloadManager *downloadManager(); static NetworkAccessManager *networkAccessManager(); static BookmarksManager *bookmarksManager(); + static LanguageManager *languageManager(); + static QString dataDirectory(); + + void updateTranslators(); #if defined(Q_WS_MAC) bool event(QEvent *event); @@ -127,7 +133,10 @@ private slots: static DownloadManager *s_downloadManager; static NetworkAccessManager *s_networkAccessManager; static BookmarksManager *s_bookmarksManager; + static LanguageManager *s_languageManager; + QTranslator *m_sysTranslator; + QTranslator *m_appTranslator; QList > m_mainWindows; QLocalServer *m_localServer; QByteArray m_lastSession; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index c74dddb3..c8b254e9 100755 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -110,19 +110,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) , m_historyForward(0) , m_stop(0) , m_reload(0) -// , m_appTranslator(0) -// , m_sysTranslator(0) -// , m_languageChooser( new LanguageChooser ) { - m_languageChooser = new LanguageChooser; - m_appTranslator = NULL; - m_sysTranslator = NULL; - - QSettings settings; - settings.beginGroup(QLatin1String("BrowserMainWindow")); - m_languageChooser->setCurrentLanguage( settings.value(QLatin1String("lang")).toString()); - - updateTranslators(); setupMenu(); setupToolBar(); @@ -670,63 +658,6 @@ void BrowserMainWindow::updateStatusbarActionText(bool visible) m_viewStatusbar->setText(!visible ? tr("Show Status Bar") : tr("Hide Status Bar")); } -void BrowserMainWindow::updateTranslators() -{ - QTranslator *newSysTranslator = new QTranslator(this); - QTranslator *newAppTranslator = new QTranslator(this); - - QString definedLocale = m_languageChooser->currentLanguage(); - if (!definedLocale.isEmpty()) - { - bool loaded = true; - QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - QString translatorFileName; - - translatorFileName = m_languageChooser->dataDirectory() + QDir::separator() + QLatin1String("locale"); - loaded = newAppTranslator->load(definedLocale, translatorFileName); - - translatorFileName = QLatin1String("qt_"); - translatorFileName += definedLocale; - /*loaded |= */newSysTranslator->load(translatorFileName, resourceDir); - - if (loaded) - { - bool reTranslationNeeded = false; - if (m_appTranslator!=NULL) - { - reTranslationNeeded = true; - qApp->removeTranslator(m_appTranslator); - delete m_appTranslator; - } - - if (m_sysTranslator!=NULL) - { - reTranslationNeeded = true; - qApp->removeTranslator(m_sysTranslator); - delete m_sysTranslator; - } - - qApp->installTranslator(newAppTranslator); - qApp->installTranslator(newSysTranslator); - m_appTranslator = newAppTranslator; - m_sysTranslator = newSysTranslator; - - // lets re-translate the whole application - if (reTranslationNeeded) - retranslate(); - } - } -} - -void BrowserMainWindow::retranslate() -{ - // to re-translate the menus, the only doable thing it to re-create it - setupMenu(); - - // however, for toolbars, we can just do it smartly - m_navigationBar->setWindowTitle (tr("Navigation")); -} - void BrowserMainWindow::updateToolbarActionText(bool visible) { m_viewToolbar->setText(!visible ? tr("Show Toolbar") : tr("Hide Toolbar")); @@ -855,15 +786,11 @@ void BrowserMainWindow::slotAboutApplication() void BrowserMainWindow::slotChooseApplicationLanguage() { - if (!m_languageChooser) - return; - if (!m_languageChooser->getLanguageFromUser()) + if (!BrowserApplication::languageManager()->getLanguageFromUser()) return; - updateTranslators(); - - QSettings settings; - settings.beginGroup(QLatin1String("BrowserMainWindow")); - settings.setValue( QLatin1String("lang"), m_languageChooser->currentLanguage() ); + + BrowserApplication::instance()->updateTranslators(); + slotRetranslate(); } void BrowserMainWindow::slotFileNew() @@ -982,6 +909,17 @@ void BrowserMainWindow::mousePressEvent(QMouseEvent *event) } } +void BrowserMainWindow::changeEvent(QEvent* event) +{ + if (event->type() == QEvent::LanguageChange) + { + slotRetranslate(); + } + + // remember to call base class implementation + QMainWindow::changeEvent(event); +} + void BrowserMainWindow::slotEditFind() { tabWidget()->webViewSearch(m_tabWidget->currentIndex())->showFind(); @@ -1048,6 +986,18 @@ void BrowserMainWindow::slotHome() loadPage(home); } +// TODO should it be a normal method, not a slot...? +// TODO we really need to regenerate the main toolbar +void BrowserMainWindow::slotRetranslate() +{ + // to re-translate the menus, the only doable thing it to re-create it + setupMenu(); + + // however, for toolbars, we can just do it smartly + m_navigationBar->setWindowTitle (tr("Navigation")); + +} + void BrowserMainWindow::slotWebSearch() { m_toolbarSearch->selectAll(); diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 0301ef08..1d516f33 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -105,10 +105,12 @@ class BrowserMainWindow : public QMainWindow public slots: void loadPage(const QString &url); void slotHome(); + void slotRetranslate(); protected: void closeEvent(QCloseEvent *event); void mousePressEvent(QMouseEvent *event); + void changeEvent(QEvent* event); private slots: void save(); @@ -164,8 +166,6 @@ private slots: void setupMenu(); void setupToolBar(); void updateStatusbarActionText(bool visible); - void updateTranslators(); - void retranslate(); private: QToolBar *m_navigationBar; @@ -177,10 +177,6 @@ private slots: BookmarksToolBar *m_bookmarksToolbar; TabWidget *m_tabWidget; AutoSaver *m_autoSaver; - LanguageChooser *m_languageChooser; - QTranslator *m_sysTranslator; - QTranslator *m_appTranslator; - QAction *m_showMenuBarAction; QAction *m_historyBack; diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index ed6ae9e4..dccd18ba 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -1,4 +1,5 @@ #include "languagechooser.h" +#include "browserapplication.h" // needed only for dataDirectory, maybe we can workaround? #include #include @@ -10,16 +11,16 @@ #include // public class -LanguageChooser::LanguageChooser() +LanguageManager::LanguageManager() { loadUpAvailableLangs(); } -LanguageChooser::~LanguageChooser() +LanguageManager::~LanguageManager() { } -bool LanguageChooser::getLanguageFromUser() +bool LanguageManager::getLanguageFromUser() { QStringList items; QLatin1String("Winter"); @@ -99,13 +100,13 @@ bool LanguageChooser::getLanguageFromUser() return true; } -void LanguageChooser::setCurrentLanguage( const QString &name ) +void LanguageManager::setCurrentLanguage( const QString &name ) { // TODO is this a valid language...? m_currentLang = name; } -QString LanguageChooser::currentLanguage() +QString LanguageManager::currentLanguage() { if (!m_currentLang.isEmpty()) return m_currentLang; @@ -117,27 +118,15 @@ QString LanguageChooser::currentLanguage() return QString(); } -/// Get the directory to read the applications borrowed from -/// BrowserApplication::dataDirectory() -// TODO how should we refactor this? -QString LanguageChooser::dataDirectory() const -{ - #if defined(Q_WS_X11) - return QLatin1String(PKGDATADIR); - #else - return qApp->applicationDirPath(); - #endif -} - /// Used to initialize the internal language list /// Will look for all *.qm files in the data directory of Arora, and will try to /// see if a translation for Qt exists. /// The only languages that are "valid" are those who exists on both dirs. If /// only a Qt translation exist - we cannot use it. If only Arora translation /// exists - we cannot use it. -void LanguageChooser::loadUpAvailableLangs() +void LanguageManager::loadUpAvailableLangs() { - QString appLangsDirName = dataDirectory() + QDir::separator() + QLatin1String("locale"); + QString appLangsDirName = BrowserApplication::dataDirectory() + QDir::separator() + QLatin1String("locale"); QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); QDir appLangsDir( appLangsDirName ); @@ -161,7 +150,7 @@ void LanguageChooser::loadUpAvailableLangs() } /// Checks if a language is available for Arora to load -bool LanguageChooser::isLanguageAvailable( const QString &lang ) const +bool LanguageManager::isLanguageAvailable( const QString &lang ) const { bool found = false; QLocale l1(lang); diff --git a/src/languagechooser.h b/src/languagechooser.h index ecf3ebbb..0ca49736 100644 --- a/src/languagechooser.h +++ b/src/languagechooser.h @@ -1,20 +1,22 @@ -#ifndef LANGUAGE_CHOOSER_H -#define LANGUAGE_CHOOSER_H +#ifndef LANGUAGE_MANAGER_H +#define LANGUAGE_MANAGER_H #include #include #include +#include -class LanguageChooser +// this class inherits QObject for "garbage collector" reasons +// no need to define it as a Q_OBJECT :) +class LanguageManager: public QObject { public: - LanguageChooser(); - ~LanguageChooser(); + LanguageManager(); + ~LanguageManager(); bool getLanguageFromUser(); void setCurrentLanguage( const QString &name ); QString currentLanguage(); - QString dataDirectory() const; void loadUpAvailableLangs(); bool isLanguageAvailable( const QString &lang ) const; @@ -23,4 +25,4 @@ class LanguageChooser QString m_currentLang; }; -#endif //LANGUAGE_CHOOSER_H +#endif //LANGUAGE_MANAGER_H From aa731fd9e4e713c3a5e0fff8480f098d9df740ca Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 20 Sep 2008 12:16:19 +0300 Subject: [PATCH 0203/1254] * added BSD license to the source, might change in the near future * added kate modelines added for the language manager (chooser) * spaces cleanups --- src/browserapplication.cpp | 1 - src/languagechooser.cpp | 57 +++++++++++++++++++++++++++++--------- src/languagechooser.h | 33 +++++++++++++++++++++- 3 files changed, 76 insertions(+), 15 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index e31d2e23..2ecd6bfc 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -163,7 +163,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) settings.beginGroup(QLatin1String("sessions")); m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); settings.endGroup(); - #if defined(Q_WS_MAC) connect(this, SIGNAL(lastWindowClosed()), diff --git a/src/languagechooser.cpp b/src/languagechooser.cpp index dccd18ba..eb6cee5c 100644 --- a/src/languagechooser.cpp +++ b/src/languagechooser.cpp @@ -1,3 +1,31 @@ +/* + * Copyright (c) 2008, Diego Iastrubni, elcuco, at, kde.org + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + #include "languagechooser.h" #include "browserapplication.h" // needed only for dataDirectory, maybe we can workaround? @@ -11,7 +39,8 @@ #include // public class -LanguageManager::LanguageManager() +LanguageManager::LanguageManager(QObject *parent) + :QObject(parent) { loadUpAvailableLangs(); } @@ -54,9 +83,9 @@ bool LanguageManager::getLanguageFromUser() items << s; } - + QString item = QInputDialog::getItem(0, - QLatin1String("Choose language"), message, + QLatin1String("Choose language"), message, items, defaultItem, false, &ok ); @@ -76,27 +105,26 @@ bool LanguageManager::getLanguageFromUser() // this is BAD, the string did not match! qDebug() << __FILE__ << ":" << __LINE__ - << "Something bad happed, the language was not chosen from the combobox"; + << "Something bad happed, the language was not chosen from the combobox"; return false; } - + QString newLang = regExp.cap(1); if (!isLanguageAvailable(newLang)) { qDebug() << __FILE__ << ":" << __LINE__ - << "Something bad happed, choosen a non exising language: " + << "Something bad happed, choosen a non exising language: " << newLang; return false; } QLocale l3(newLang); newLang = m_langs.key(l3); - // qDebug() << "Choosen " << newLang; m_currentLang = newLang; } - + return true; } @@ -119,10 +147,10 @@ QString LanguageManager::currentLanguage() } /// Used to initialize the internal language list -/// Will look for all *.qm files in the data directory of Arora, and will try to +/// Will look for all *.qm files in the data directory of Arora, and will try to /// see if a translation for Qt exists. -/// The only languages that are "valid" are those who exists on both dirs. If -/// only a Qt translation exist - we cannot use it. If only Arora translation +/// The only languages that are "valid" are those who exists on both dirs. If +/// only a Qt translation exist - we cannot use it. If only Arora translation /// exists - we cannot use it. void LanguageManager::loadUpAvailableLangs() { @@ -132,12 +160,12 @@ void LanguageManager::loadUpAvailableLangs() QDir appLangsDir( appLangsDirName ); QFileInfoList list; QStringList filters; - + filters << QLatin1String("*.qm"); appLangsDir.setNameFilters( filters ); list = appLangsDir.entryInfoList(); - for (int i = 0; i < list.size(); ++i) + for (int i = 0; i < list.size(); ++i) { QFileInfo appFileInfo = list.at(i); QString lang = appFileInfo.baseName(); @@ -164,3 +192,6 @@ bool LanguageManager::isLanguageAvailable( const QString &lang ) const } return found; } + +// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; +// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; diff --git a/src/languagechooser.h b/src/languagechooser.h index 0ca49736..8920aa88 100644 --- a/src/languagechooser.h +++ b/src/languagechooser.h @@ -1,3 +1,31 @@ +/* + * Copyright (c) 2008, Diego Iastrubni, elcuco, at, kde.org + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + #ifndef LANGUAGE_MANAGER_H #define LANGUAGE_MANAGER_H @@ -11,7 +39,7 @@ class LanguageManager: public QObject { public: - LanguageManager(); + LanguageManager(QObject *parent = 0); ~LanguageManager(); bool getLanguageFromUser(); @@ -26,3 +54,6 @@ class LanguageManager: public QObject }; #endif //LANGUAGE_MANAGER_H + +// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; +// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; From c857a20fd048a9a3169ebf38c6f90862e340f3b0 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 20 Sep 2008 12:24:19 +0300 Subject: [PATCH 0204/1254] * rename files as I was supposed to to it... 4 commits ago * fixed files to work with the new file names * fixes stupid warnings of gcc about initialization in members --- src/{languagechooser.cpp => languagemanager.cpp} | 0 src/{languagechooser.h => languagemanager.h} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/{languagechooser.cpp => languagemanager.cpp} (100%) rename src/{languagechooser.h => languagemanager.h} (100%) diff --git a/src/languagechooser.cpp b/src/languagemanager.cpp similarity index 100% rename from src/languagechooser.cpp rename to src/languagemanager.cpp diff --git a/src/languagechooser.h b/src/languagemanager.h similarity index 100% rename from src/languagechooser.h rename to src/languagemanager.h From b4d756cd77d05fd56767abb136764b50ade761f7 Mon Sep 17 00:00:00 2001 From: Diego Iastrubni Date: Sat, 20 Sep 2008 12:45:28 +0300 Subject: [PATCH 0205/1254] * fix code to reflect the file name changes * make the LanguageManager::getLanguageFromUser() a slot, and connect it from the main window --- src/browserapplication.cpp | 116 +++++++++--------- src/browsermainwindow.cpp | 15 +-- src/browsermainwindow.h | 1 - src/languagemanager.cpp | 240 ++++++++++++++++++------------------- src/languagemanager.h | 23 ++-- src/src.pri | 4 +- 6 files changed, 195 insertions(+), 204 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 2ecd6bfc..e3ef7740 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -67,10 +67,10 @@ #include "cookiejar.h" #include "downloadmanager.h" #include "history.h" +#include "languagemanager.h" #include "networkaccessmanager.h" #include "tabwidget.h" #include "webview.h" -#include "languagechooser.h" #include #include @@ -98,10 +98,10 @@ LanguageManager *BrowserApplication::s_languageManager = 0; BrowserApplication::BrowserApplication(int &argc, char **argv) : QApplication(argc, argv) - , m_localServer(0) - , quiting(false) , m_sysTranslator(0) , m_appTranslator(0) + , m_localServer(0) + , quiting(false) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); QCoreApplication::setApplicationName(QLatin1String("Arora")); @@ -536,65 +536,62 @@ LanguageManager* BrowserApplication::languageManager() void BrowserApplication::updateTranslators() { - QTranslator *newSysTranslator = new QTranslator(this); - QTranslator *newAppTranslator = new QTranslator(this); - LanguageManager * l_manager = languageManager(); - - QString definedLocale = l_manager->currentLanguage(); - if (!definedLocale.isEmpty()) - { - bool loaded = true; - QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - QString translatorFileName; - - translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale"); - loaded = newAppTranslator->load(definedLocale, translatorFileName); - - translatorFileName = QLatin1String("qt_"); - translatorFileName += definedLocale; - /*loaded |= */newSysTranslator->load(translatorFileName, resourceDir); - - if (loaded) - { - bool reTranslationNeeded = false; - if (m_appTranslator!=NULL) - { - reTranslationNeeded = true; - qApp->removeTranslator(m_appTranslator); - delete m_appTranslator; - } - - if (m_sysTranslator!=NULL) - { - reTranslationNeeded = true; - qApp->removeTranslator(m_sysTranslator); - delete m_sysTranslator; - } - - qApp->installTranslator(newAppTranslator); - qApp->installTranslator(newSysTranslator); - m_appTranslator = newAppTranslator; - m_sysTranslator = newSysTranslator; - - // lets re-translate the whole application - // TODO emit signal? -// if (reTranslationNeeded) -// retranslate(); - } - } - - QSettings settings; - settings.beginGroup(QLatin1String("BrowserMainWindow")); - settings.setValue( QLatin1String("lang"), l_manager->currentLanguage() ); + QTranslator *newSysTranslator = new QTranslator(this); + QTranslator *newAppTranslator = new QTranslator(this); + LanguageManager * l_manager = languageManager(); + + QString definedLocale = l_manager->currentLanguage(); + if (!definedLocale.isEmpty()) + { + bool loaded = true; + QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + QString translatorFileName; + + translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale"); + loaded = newAppTranslator->load(definedLocale, translatorFileName); + + translatorFileName = QLatin1String("qt_"); + translatorFileName += definedLocale; + /*loaded |= */newSysTranslator->load(translatorFileName, resourceDir); + + if (loaded) + { + bool reTranslationNeeded = false; + if (m_appTranslator!=NULL) + { + reTranslationNeeded = true; + qApp->removeTranslator(m_appTranslator); + delete m_appTranslator; + } + + if (m_sysTranslator!=NULL) + { + reTranslationNeeded = true; + qApp->removeTranslator(m_sysTranslator); + delete m_sysTranslator; + } + + // now remember that events are sent to the whole application widgets + // about the new lanague, so they *do* need to catch this and re-translate + qApp->installTranslator(newAppTranslator); + qApp->installTranslator(newSysTranslator); + m_appTranslator = newAppTranslator; + m_sysTranslator = newSysTranslator; + } + } + + QSettings settings; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + settings.setValue( QLatin1String("lang"), l_manager->currentLanguage() ); } QString BrowserApplication::dataDirectory() { - #if defined(Q_WS_X11) - return QLatin1String(PKGDATADIR); - #else - return qApp->applicationDirPath(); - #endif + #if defined(Q_WS_X11) + return QLatin1String(PKGDATADIR); + #else + return qApp->applicationDirPath(); + #endif } QIcon BrowserApplication::icon(const QUrl &url) @@ -612,3 +609,6 @@ QIcon BrowserApplication::icon(const QUrl &url) } return icon; } + +// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; +// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index c8b254e9..f1dc2139 100755 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -71,7 +71,7 @@ #include "clearprivatedata.h" #include "downloadmanager.h" #include "history.h" -#include "languagechooser.h" +#include "languagemanager.h" #include "settings.h" #include "tabbar.h" #include "tabwidget.h" @@ -548,7 +548,7 @@ void BrowserMainWindow::setupMenu() // Help QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); - helpMenu->addAction(tr("Switch application language "), this, SLOT(slotChooseApplicationLanguage())); + helpMenu->addAction(tr("Switch application language "), BrowserApplication::languageManager(), SLOT(getLanguageFromUser())); helpMenu->addSeparator(); helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt())); helpMenu->addAction(tr("About &Arora"), this, SLOT(slotAboutApplication())); @@ -784,15 +784,6 @@ void BrowserMainWindow::slotAboutApplication() aboutDialog->show(); } -void BrowserMainWindow::slotChooseApplicationLanguage() -{ - if (!BrowserApplication::languageManager()->getLanguageFromUser()) - return; - - BrowserApplication::instance()->updateTranslators(); - slotRetranslate(); -} - void BrowserMainWindow::slotFileNew() { BrowserApplication::instance()->newMainWindow(); @@ -1163,3 +1154,5 @@ void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) setGeometry(geometry); } +// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; +// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 1d516f33..5aefa9de 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -145,7 +145,6 @@ private slots: void slotClearPrivateData(); void slotToggleInspector(bool enable); void slotAboutApplication(); - void slotChooseApplicationLanguage(); void slotDownloadManager(); void slotSelectLineEdit(); diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index eb6cee5c..b09757f9 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -26,8 +26,9 @@ * SUCH DAMAGE. */ -#include "languagechooser.h" -#include "browserapplication.h" // needed only for dataDirectory, maybe we can workaround? +#include "languagemanager.h" +// needed only for dataDirectory, maybe we can workaround? +#include "browserapplication.h" #include #include @@ -40,9 +41,9 @@ // public class LanguageManager::LanguageManager(QObject *parent) - :QObject(parent) + :QObject(parent) { - loadUpAvailableLangs(); + loadUpAvailableLangs(); } LanguageManager::~LanguageManager() @@ -51,99 +52,94 @@ LanguageManager::~LanguageManager() bool LanguageManager::getLanguageFromUser() { - QStringList items; - QLatin1String("Winter"); - QLatin1String message( - "

You can run Arora with a different language
" - "then the operating system default.

" - "

Please choose the language which should be used for Arora

"); - - bool ok; - int defaultItem = 0; - - QString systemLocaleString = QLocale::system().name(); - systemLocaleString = qApp->tr("System locale (%1) %2") - .arg(systemLocaleString) - // this is for pretty RTL support, don't ask - .arg(QChar(0x200E)); // LRM = 0x200E; - items << systemLocaleString; - - foreach(QLocale l, m_langs) - { - QString s = m_langs.key(l); - if (s == m_currentLang) - defaultItem = items.count(); - s = QString( QLatin1String("%1, %2 (%3) %4") ) - .arg(QLocale::languageToString(l.language())) - .arg(QLocale::countryToString(l.country())) - .arg(s) - // this is for pretty RTL support, don't ask - .arg(QChar(0x200E) // LRM = 0x200E - ); - - items << s; - } - - QString item = QInputDialog::getItem(0, - QLatin1String("Choose language"), message, - items, defaultItem, false, &ok - ); - - if (!ok) - return false; - - if (item == systemLocaleString) - { // user choose to use the system locale - m_currentLang.clear(); - } - else - { // the user specified a specific locale - // lets see which item has been choosen - QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); - if (regExp.indexIn(item) == -1) - { - // this is BAD, the string did not match! - qDebug() - << __FILE__ << ":" << __LINE__ - << "Something bad happed, the language was not chosen from the combobox"; - return false; - } - - QString newLang = regExp.cap(1); - - if (!isLanguageAvailable(newLang)) - { - qDebug() - << __FILE__ << ":" << __LINE__ - << "Something bad happed, choosen a non exising language: " - << newLang; - return false; - } - QLocale l3(newLang); - newLang = m_langs.key(l3); - - m_currentLang = newLang; - } - - return true; + QStringList items; + QLatin1String("Winter"); + QLatin1String message( + "

You can run Arora with a different language
" + "then the operating system default.

" + "

Please choose the language which should be used for Arora

"); + + bool ok; + int defaultItem = 0; + + QString systemLocaleString = QLocale::system().name(); + systemLocaleString = qApp->tr("System locale (%1) %2") + .arg(systemLocaleString) + // this is for pretty RTL support, don't ask + .arg(QChar(0x200E)); // LRM = 0x200E; + items << systemLocaleString; + + foreach(QLocale l, m_langs) + { + QString s = m_langs.key(l); + if (s == m_currentLang) + defaultItem = items.count(); + s = QString( QLatin1String("%1, %2 (%3) %4") ) + .arg(QLocale::languageToString(l.language())) + .arg(QLocale::countryToString(l.country())) + .arg(s) + // this is for pretty RTL support, don't ask + .arg(QChar(0x200E)); // LRM = 0x200E + items << s; + } + + QString item = QInputDialog::getItem( 0, + QLatin1String("Choose language"), message, + items, defaultItem, false, &ok + ); + + if (!ok) + return false; + + if (item == systemLocaleString) + { // user choose to use the system locale + m_currentLang.clear(); + } + else + { // the user specified a specific locale + // lets see which item has been choosen + QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); + if (regExp.indexIn(item) == -1) + { // this is BAD, the string did not match! + qDebug() + << __FILE__ << ":" << __LINE__ + << "Something bad happed, the language was not chosen from the combobox"; + return false; + } + QString newLang = regExp.cap(1); + if (!isLanguageAvailable(newLang)) + { + qDebug() + << __FILE__ << ":" << __LINE__ + << "Something bad happed, choosen a non exising language: " + << newLang; + return false; + } + QLocale l3(newLang); + newLang = m_langs.key(l3); + m_currentLang = newLang; + } + + BrowserApplication::instance()->updateTranslators(); + return true; } void LanguageManager::setCurrentLanguage( const QString &name ) { - // TODO is this a valid language...? - m_currentLang = name; + // TODO is this a valid language...? + m_currentLang = name; } QString LanguageManager::currentLanguage() { - if (!m_currentLang.isEmpty()) - return m_currentLang; - - const QString sysLanguage = QLocale::system().name(); - if (isLanguageAvailable(sysLanguage)) - return sysLanguage; - else - return QString(); + if (!m_currentLang.isEmpty()) + return m_currentLang; + + const QString sysLanguage = QLocale::system().name(); + if (isLanguageAvailable(sysLanguage)) + return sysLanguage; + else + return QString(); } /// Used to initialize the internal language list @@ -154,43 +150,43 @@ QString LanguageManager::currentLanguage() /// exists - we cannot use it. void LanguageManager::loadUpAvailableLangs() { - QString appLangsDirName = BrowserApplication::dataDirectory() + QDir::separator() + QLatin1String("locale"); - QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); - - QDir appLangsDir( appLangsDirName ); - QFileInfoList list; - QStringList filters; - - filters << QLatin1String("*.qm"); - appLangsDir.setNameFilters( filters ); - list = appLangsDir.entryInfoList(); - - for (int i = 0; i < list.size(); ++i) - { - QFileInfo appFileInfo = list.at(i); - QString lang = appFileInfo.baseName(); - QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); - -// if (!sysFileInfo.exists()) -// continue; - m_langs[lang] = QLocale(lang); - } + QString appLangsDirName = BrowserApplication::dataDirectory() + QDir::separator() + QLatin1String("locale"); + QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); + + QDir appLangsDir( appLangsDirName ); + QFileInfoList list; + QStringList filters; + + filters << QLatin1String("*.qm"); + appLangsDir.setNameFilters( filters ); + list = appLangsDir.entryInfoList(); + + for (int i = 0; i < list.size(); ++i) + { + QFileInfo appFileInfo = list.at(i); + QString lang = appFileInfo.baseName(); + QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); + +/* if (!sysFileInfo.exists()) + continue;*/ + m_langs[lang] = QLocale(lang); + } } /// Checks if a language is available for Arora to load -bool LanguageManager::isLanguageAvailable( const QString &lang ) const +bool LanguageManager::isLanguageAvailable( const QString &lang ) const { - bool found = false; - QLocale l1(lang); - foreach(QLocale l2, m_langs) - { - if (l1 == l2) - { - found = true; - break; - } - } - return found; + bool found = false; + QLocale l1(lang); + foreach(QLocale l2, m_langs) + { + if (l1 == l2) + { + found = true; + break; + } + } + return found; } // kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; diff --git a/src/languagemanager.h b/src/languagemanager.h index 8920aa88..0c46a219 100644 --- a/src/languagemanager.h +++ b/src/languagemanager.h @@ -38,19 +38,22 @@ // no need to define it as a Q_OBJECT :) class LanguageManager: public QObject { + Q_OBJECT public: - LanguageManager(QObject *parent = 0); - ~LanguageManager(); - - bool getLanguageFromUser(); - void setCurrentLanguage( const QString &name ); - QString currentLanguage(); - void loadUpAvailableLangs(); - bool isLanguageAvailable( const QString &lang ) const; + LanguageManager(QObject *parent = 0); + ~LanguageManager(); + + void setCurrentLanguage( const QString &name ); + QString currentLanguage(); + void loadUpAvailableLangs(); + bool isLanguageAvailable( const QString &lang ) const; + +public slots: + bool getLanguageFromUser(); private: - QHash m_langs; - QString m_currentLang; + QHash m_langs; + QString m_currentLang; }; #endif //LANGUAGE_MANAGER_H diff --git a/src/src.pri b/src/src.pri index bfaa85d3..6eca8532 100644 --- a/src/src.pri +++ b/src/src.pri @@ -52,7 +52,7 @@ HEADERS += \ history.h \ locationbar.h \ locationbar_p.h \ - languagechooser.h \ + languagemanager.h \ modelmenu.h \ networkaccessmanager.h \ searchlineedit.h \ @@ -77,7 +77,7 @@ SOURCES += \ edittreeview.cpp \ history.cpp \ locationbar.cpp \ - languagechooser.cpp \ + languagemanager.cpp \ modelmenu.cpp \ networkaccessmanager.cpp \ searchlineedit.cpp \ From 119442db0b7d630c8e9cfbd65df8b8a228a30311 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 24 Sep 2008 00:14:54 -0400 Subject: [PATCH 0206/1254] Move all of the language code into LanageManager Simplify some code Delay stating the file system if possible. Use a list rather then a hash for the list of possible languages. --- src/browserapplication.cpp | 73 ++--------- src/browserapplication.h | 5 - src/browsermainwindow.cpp | 4 +- src/languagemanager.cpp | 254 +++++++++++++++++++------------------ src/languagemanager.h | 42 +++--- 5 files changed, 161 insertions(+), 217 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index e3ef7740..3f101108 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -98,8 +98,6 @@ LanguageManager *BrowserApplication::s_languageManager = 0; BrowserApplication::BrowserApplication(int &argc, char **argv) : QApplication(argc, argv) - , m_sysTranslator(0) - , m_appTranslator(0) , m_localServer(0) , quiting(false) { @@ -164,6 +162,11 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); settings.endGroup(); + settings.beginGroup(QLatin1String("LanguageManager")); + if (settings.contains(QLatin1String("language"))) + languageManager()->setCurrentLanguage(settings.value(QLatin1String("language")).toString()); + settings.endGroup(); + #if defined(Q_WS_MAC) connect(this, SIGNAL(lastWindowClosed()), this, SLOT(lastWindowClosed())); @@ -172,7 +175,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #ifndef AUTOTESTS QTimer::singleShot(0, this, SLOT(postLaunch())); #endif // AUTOTESTS - updateTranslators(); } BrowserApplication::~BrowserApplication() @@ -525,73 +527,18 @@ BookmarksManager *BrowserApplication::bookmarksManager() LanguageManager* BrowserApplication::languageManager() { - if (!s_languageManager) { - QSettings settings; + if (!s_languageManager) s_languageManager = new LanguageManager; - settings.beginGroup(QLatin1String("BrowserMainWindow")); - s_languageManager->setCurrentLanguage( settings.value(QLatin1String("lang")).toString() ); - } return s_languageManager; } -void BrowserApplication::updateTranslators() -{ - QTranslator *newSysTranslator = new QTranslator(this); - QTranslator *newAppTranslator = new QTranslator(this); - LanguageManager * l_manager = languageManager(); - - QString definedLocale = l_manager->currentLanguage(); - if (!definedLocale.isEmpty()) - { - bool loaded = true; - QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - QString translatorFileName; - - translatorFileName = dataDirectory() + QDir::separator() + QLatin1String("locale"); - loaded = newAppTranslator->load(definedLocale, translatorFileName); - - translatorFileName = QLatin1String("qt_"); - translatorFileName += definedLocale; - /*loaded |= */newSysTranslator->load(translatorFileName, resourceDir); - - if (loaded) - { - bool reTranslationNeeded = false; - if (m_appTranslator!=NULL) - { - reTranslationNeeded = true; - qApp->removeTranslator(m_appTranslator); - delete m_appTranslator; - } - - if (m_sysTranslator!=NULL) - { - reTranslationNeeded = true; - qApp->removeTranslator(m_sysTranslator); - delete m_sysTranslator; - } - - // now remember that events are sent to the whole application widgets - // about the new lanague, so they *do* need to catch this and re-translate - qApp->installTranslator(newAppTranslator); - qApp->installTranslator(newSysTranslator); - m_appTranslator = newAppTranslator; - m_sysTranslator = newSysTranslator; - } - } - - QSettings settings; - settings.beginGroup(QLatin1String("BrowserMainWindow")); - settings.setValue( QLatin1String("lang"), l_manager->currentLanguage() ); -} - QString BrowserApplication::dataDirectory() { - #if defined(Q_WS_X11) +#if defined(Q_WS_X11) return QLatin1String(PKGDATADIR); - #else +#else return qApp->applicationDirPath(); - #endif +#endif } QIcon BrowserApplication::icon(const QUrl &url) @@ -610,5 +557,3 @@ QIcon BrowserApplication::icon(const QUrl &url) return icon; } -// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; -// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; diff --git a/src/browserapplication.h b/src/browserapplication.h index 3ef14a0a..8eef085a 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -80,7 +80,6 @@ class DownloadManager; class HistoryManager; class NetworkAccessManager; class LanguageManager; -class QTranslator; class BrowserApplication : public QApplication { Q_OBJECT @@ -107,8 +106,6 @@ class BrowserApplication : public QApplication static LanguageManager *languageManager(); static QString dataDirectory(); - void updateTranslators(); - #if defined(Q_WS_MAC) bool event(QEvent *event); #endif @@ -135,8 +132,6 @@ private slots: static BookmarksManager *s_bookmarksManager; static LanguageManager *s_languageManager; - QTranslator *m_sysTranslator; - QTranslator *m_appTranslator; QList > m_mainWindows; QLocalServer *m_localServer; QByteArray m_lastSession; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index f1dc2139..eeec4b55 100755 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -548,7 +548,7 @@ void BrowserMainWindow::setupMenu() // Help QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); - helpMenu->addAction(tr("Switch application language "), BrowserApplication::languageManager(), SLOT(getLanguageFromUser())); + helpMenu->addAction(tr("Switch application language "), BrowserApplication::languageManager(), SLOT(chooseNewLanguage())); helpMenu->addSeparator(); helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt())); helpMenu->addAction(tr("About &Arora"), this, SLOT(slotAboutApplication())); @@ -1154,5 +1154,3 @@ void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) setGeometry(geometry); } -// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; -// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index b09757f9..133ae50c 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -1,5 +1,6 @@ /* - * Copyright (c) 2008, Diego Iastrubni, elcuco, at, kde.org + * Copyright 2008 Diego Iastrubni, elcuco, at, kde.org + * Copyright 2008 Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -27,167 +28,170 @@ */ #include "languagemanager.h" -// needed only for dataDirectory, maybe we can workaround? + #include "browserapplication.h" #include #include -#include #include +#include #include #include -#include -#include +#include +#include + +#include -// public class LanguageManager::LanguageManager(QObject *parent) - :QObject(parent) + : QObject(parent) + , m_loaded(false) + , m_sysTranslator(0) + , m_appTranslator(0) { - loadUpAvailableLangs(); } -LanguageManager::~LanguageManager() +QString LanguageManager::currentLanguage() const { + if (!m_currentLanguage.isEmpty()) + return m_currentLanguage; + + const QString sysLanguage = QLocale::system().name(); + if (isLanguageAvailable(sysLanguage)) + return sysLanguage; + return QString(); } -bool LanguageManager::getLanguageFromUser() +bool LanguageManager::isLanguageAvailable(const QString &language) const { - QStringList items; - QLatin1String("Winter"); - QLatin1String message( - "

You can run Arora with a different language
" - "then the operating system default.

" - "

Please choose the language which should be used for Arora

"); + if (!m_loaded) { + LanguageManager *that = const_cast(this); + that->loadAvailableLanguages(); + } + return language.isEmpty() || m_languages.contains(language); +} - bool ok; - int defaultItem = 0; +void LanguageManager::setCurrentLanguage(const QString &language) +{ + if (m_currentLanguage == language + || !isLanguageAvailable(language)) + return; + + m_currentLanguage = language; + + QSettings settings; + settings.beginGroup(QLatin1String("LanguageManager")); + settings.setValue(QLatin1String("language"), m_currentLanguage); + + if (m_currentLanguage.isEmpty()) { + delete m_appTranslator; + delete m_sysTranslator; + m_appTranslator = 0; + m_sysTranslator = 0; + return; + } + + QTranslator *newAppTranslator = new QTranslator(this); + QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + bool loaded = newAppTranslator->load(m_currentLanguage, translationLocation()); + + QTranslator *newSysTranslator = new QTranslator(this); + QString translatorFileName = QLatin1String("qt_") + m_currentLanguage; + if (!newSysTranslator->load(translatorFileName, resourceDir)) { + delete newSysTranslator; + newSysTranslator = 0; + } + + if (!loaded) { + qWarning() << "Failed to load translation:" << currentLanguage(); + delete newAppTranslator; + delete newSysTranslator; + return; + } + + // A new language event is sent to all widgets in the application + // They need to catch it and re-translate + delete m_appTranslator; + delete m_sysTranslator; + qApp->installTranslator(newAppTranslator); + qApp->installTranslator(newSysTranslator); + m_appTranslator = newAppTranslator; + m_sysTranslator = newSysTranslator; +} + +void LanguageManager::chooseNewLanguage() +{ + if (!m_loaded) + loadAvailableLanguages(); + QStringList items; QString systemLocaleString = QLocale::system().name(); - systemLocaleString = qApp->tr("System locale (%1) %2") + systemLocaleString = tr("System locale (%1) %2") .arg(systemLocaleString) - // this is for pretty RTL support, don't ask + // this is for pretty RTL support .arg(QChar(0x200E)); // LRM = 0x200E; items << systemLocaleString; - foreach(QLocale l, m_langs) - { - QString s = m_langs.key(l); - if (s == m_currentLang) + int defaultItem = 0; + foreach (QString name, m_languages) { + QLocale locale(name); + if (name == m_currentLanguage) defaultItem = items.count(); - s = QString( QLatin1String("%1, %2 (%3) %4") ) - .arg(QLocale::languageToString(l.language())) - .arg(QLocale::countryToString(l.country())) - .arg(s) - // this is for pretty RTL support, don't ask + QString string = QString(QLatin1String("%1, %2 (%3) %4")) + .arg(QLocale::languageToString(locale.language())) + .arg(QLocale::countryToString(locale.country())) + .arg(name) + // this is for pretty RTL support .arg(QChar(0x200E)); // LRM = 0x200E - items << s; + items << string; } - QString item = QInputDialog::getItem( 0, - QLatin1String("Choose language"), message, - items, defaultItem, false, &ok - ); - + bool ok; + QString item = QInputDialog::getItem(0, + tr("Choose language"), + tr("

You can run with a different language than
" + "the operating system default.

" + "

Please choose the language which should be used

"), + items, defaultItem, false, &ok); if (!ok) - return false; + return; - if (item == systemLocaleString) - { // user choose to use the system locale - m_currentLang.clear(); - } - else - { // the user specified a specific locale - // lets see which item has been choosen - QRegExp regExp( QLatin1String("\\((\\w+)\\)") ); - if (regExp.indexIn(item) == -1) - { // this is BAD, the string did not match! - qDebug() - << __FILE__ << ":" << __LINE__ - << "Something bad happed, the language was not chosen from the combobox"; - return false; - } - QString newLang = regExp.cap(1); - if (!isLanguageAvailable(newLang)) - { - qDebug() - << __FILE__ << ":" << __LINE__ - << "Something bad happed, choosen a non exising language: " - << newLang; - return false; - } - QLocale l3(newLang); - newLang = m_langs.key(l3); - m_currentLang = newLang; + int selection = items.indexOf(item); + if (selection == 0) { + setCurrentLanguage(QString()); + } else { + setCurrentLanguage(m_languages.value(selection - 1)); } - - BrowserApplication::instance()->updateTranslators(); - return true; } -void LanguageManager::setCurrentLanguage( const QString &name ) +QString LanguageManager::translationLocation() const { - // TODO is this a valid language...? - m_currentLang = name; + QString directory = BrowserApplication::dataDirectory() + QLatin1Char('/') + QLatin1String("locale"); + // work without installing + if (!QFile::exists(directory)) + directory = QLatin1String(".qm/locale"); + return directory; } -QString LanguageManager::currentLanguage() -{ - if (!m_currentLang.isEmpty()) - return m_currentLang; - - const QString sysLanguage = QLocale::system().name(); - if (isLanguageAvailable(sysLanguage)) - return sysLanguage; - else - return QString(); -} - -/// Used to initialize the internal language list -/// Will look for all *.qm files in the data directory of Arora, and will try to -/// see if a translation for Qt exists. -/// The only languages that are "valid" are those who exists on both dirs. If -/// only a Qt translation exist - we cannot use it. If only Arora translation -/// exists - we cannot use it. -void LanguageManager::loadUpAvailableLangs() -{ - QString appLangsDirName = BrowserApplication::dataDirectory() + QDir::separator() + QLatin1String("locale"); - QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath) + QDir::separator(); - - QDir appLangsDir( appLangsDirName ); - QFileInfoList list; - QStringList filters; - - filters << QLatin1String("*.qm"); - appLangsDir.setNameFilters( filters ); - list = appLangsDir.entryInfoList(); - - for (int i = 0; i < list.size(); ++i) - { - QFileInfo appFileInfo = list.at(i); - QString lang = appFileInfo.baseName(); - QFileInfo sysFileInfo(sysLangsDirName + QLatin1String("qt_") + lang + QLatin1String(".qm") ); - -/* if (!sysFileInfo.exists()) - continue;*/ - m_langs[lang] = QLocale(lang); - } -} - -/// Checks if a language is available for Arora to load -bool LanguageManager::isLanguageAvailable( const QString &lang ) const +/*! + Find all *.qm files in the data directory that have a Qt translation. + */ +void LanguageManager::loadAvailableLanguages() { - bool found = false; - QLocale l1(lang); - foreach(QLocale l2, m_langs) - { - if (l1 == l2) - { - found = true; - break; + m_loaded = true; + QDir appLangsDir(translationLocation()); + appLangsDir.setNameFilters(QStringList(QLatin1String("*.qm"))); + QFileInfoList list = appLangsDir.entryInfoList(); + + QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + sysLangsDirName += QLatin1Char('/') + QLatin1String("qt_"); + for (int i = 0; i < list.size(); ++i) { + QFileInfo appFileInfo = list.at(i); + QString language = appFileInfo.completeBaseName(); + QFileInfo sysFileInfo(sysLangsDirName + language + QLatin1String(".qm") ); + if (!sysFileInfo.exists()) { + //continue; } + m_languages.append(language); } - return found; } -// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; -// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; diff --git a/src/languagemanager.h b/src/languagemanager.h index 0c46a219..7558c88b 100644 --- a/src/languagemanager.h +++ b/src/languagemanager.h @@ -1,5 +1,6 @@ /* - * Copyright (c) 2008, Diego Iastrubni, elcuco, at, kde.org + * Copyright 2008 Diego Iastrubni, elcuco, at, kde.org + * Copyright 2008 Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,37 +27,38 @@ * SUCH DAMAGE. */ -#ifndef LANGUAGE_MANAGER_H -#define LANGUAGE_MANAGER_H +#ifndef LANGUAGEMANAGER_H +#define LANGUAGEMANAGER_H -#include -#include -#include #include -// this class inherits QObject for "garbage collector" reasons -// no need to define it as a Q_OBJECT :) -class LanguageManager: public QObject +#include + +class QTranslator; +class LanguageManager : public QObject { Q_OBJECT + public: LanguageManager(QObject *parent = 0); - ~LanguageManager(); - void setCurrentLanguage( const QString &name ); - QString currentLanguage(); - void loadUpAvailableLangs(); - bool isLanguageAvailable( const QString &lang ) const; + QString currentLanguage() const; + void setCurrentLanguage(const QString &language); public slots: - bool getLanguageFromUser(); + void chooseNewLanguage(); private: - QHash m_langs; - QString m_currentLang; + bool isLanguageAvailable(const QString &language) const; + QString translationLocation() const; + void loadAvailableLanguages(); + + bool m_loaded; + QTranslator *m_sysTranslator; + QTranslator *m_appTranslator; + QStringList m_languages; + QString m_currentLanguage; }; -#endif //LANGUAGE_MANAGER_H +#endif //LANGUAGEMANAGER_H -// kate: space-indent on; tab-indent off; tab-width 4; indent-width 4; mixedindent off; indent-mode cstyle; -// kate: syntax: c++; auto-brackets on; auto-insert-doxygen: on; end-of-line: unix; show-tabs: on; From 31c311da8744f595322414f2abfbdc3eb85dc2ed Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 15:20:38 -0400 Subject: [PATCH 0207/1254] style fixes --- src/browsermainwindow.cpp | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index eeec4b55..14a5a556 100755 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -458,7 +458,7 @@ void BrowserMainWindow::setupMenu() m_tabWidget->addWebAction(m_stop, QWebPage::Stop); if (m_reload) - delete m_reload; + delete m_reload; m_reload = viewMenu->addAction(tr("&Reload Page")); m_reload->setShortcuts(QKeySequence::Refresh); m_tabWidget->addWebAction(m_reload, QWebPage::Reload); @@ -900,15 +900,11 @@ void BrowserMainWindow::mousePressEvent(QMouseEvent *event) } } -void BrowserMainWindow::changeEvent(QEvent* event) +void BrowserMainWindow::changeEvent(QEvent *event) { - if (event->type() == QEvent::LanguageChange) - { - slotRetranslate(); - } - - // remember to call base class implementation - QMainWindow::changeEvent(event); + if (event->type() == QEvent::LanguageChange) + slotRetranslate(); + QMainWindow::changeEvent(event); } void BrowserMainWindow::slotEditFind() @@ -981,12 +977,10 @@ void BrowserMainWindow::slotHome() // TODO we really need to regenerate the main toolbar void BrowserMainWindow::slotRetranslate() { - // to re-translate the menus, the only doable thing it to re-create it - setupMenu(); - - // however, for toolbars, we can just do it smartly - m_navigationBar->setWindowTitle (tr("Navigation")); - + // to re-translate the menus, the only doable thing it to re-create it + setupMenu(); + // however, for toolbars, we can just do it smartly + m_navigationBar->setWindowTitle(tr("Navigation")); } void BrowserMainWindow::slotWebSearch() From 3d7138083cb7e765b81b714670365fa9affa087f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 15:46:43 -0400 Subject: [PATCH 0208/1254] match master branch better --- src/browserapplication.cpp | 18 +++++++++--------- src/browsermainwindow.cpp | 17 ++++------------- src/browsermainwindow.h | 7 +++---- 3 files changed, 16 insertions(+), 26 deletions(-) mode change 100755 => 100644 src/browsermainwindow.cpp diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 3f101108..d57663e5 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -532,15 +532,6 @@ LanguageManager* BrowserApplication::languageManager() return s_languageManager; } -QString BrowserApplication::dataDirectory() -{ -#if defined(Q_WS_X11) - return QLatin1String(PKGDATADIR); -#else - return qApp->applicationDirPath(); -#endif -} - QIcon BrowserApplication::icon(const QUrl &url) { QIcon icon = QWebSettings::iconForUrl(url); @@ -557,3 +548,12 @@ QIcon BrowserApplication::icon(const QUrl &url) return icon; } +QString BrowserApplication::dataDirectory() +{ +#if defined(Q_WS_X11) + return QLatin1String(PKGDATADIR); +#else + return qApp->applicationDirPath(); +#endif +} + diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp old mode 100755 new mode 100644 index 14a5a556..7410f8e4 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -93,10 +93,6 @@ #include #include -// lets use the corrent headers... -#include -#include - #include #include @@ -111,14 +107,13 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) , m_stop(0) , m_reload(0) { - setupMenu(); - setupToolBar(); - setAttribute(Qt::WA_DeleteOnClose, true); statusBar()->setSizeGripEnabled(true); // fixes https://bugzilla.mozilla.org/show_bug.cgi?id=219070 // yes, that's a Firefox bug! statusBar()->setLayoutDirection(Qt::LeftToRight); + setupMenu(); + setupToolBar(); QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); @@ -903,7 +898,7 @@ void BrowserMainWindow::mousePressEvent(QMouseEvent *event) void BrowserMainWindow::changeEvent(QEvent *event) { if (event->type() == QEvent::LanguageChange) - slotRetranslate(); + retranslate(); QMainWindow::changeEvent(event); } @@ -973,13 +968,9 @@ void BrowserMainWindow::slotHome() loadPage(home); } -// TODO should it be a normal method, not a slot...? -// TODO we really need to regenerate the main toolbar -void BrowserMainWindow::slotRetranslate() +void BrowserMainWindow::retranslate() { - // to re-translate the menus, the only doable thing it to re-create it setupMenu(); - // however, for toolbars, we can just do it smartly m_navigationBar->setWindowTitle(tr("Navigation")); } diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 5aefa9de..9eabaa94 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -70,14 +70,12 @@ class AutoSaver; class BookmarksToolBar; class ChaseWidget; -class LanguageChooser; class QWebFrame; class TabWidget; class ToolbarSearch; class WebView; class QSplitter; class QFrame; -class QTranslator; /*! The MainWindow of the Browser Application. @@ -105,12 +103,12 @@ class BrowserMainWindow : public QMainWindow public slots: void loadPage(const QString &url); void slotHome(); - void slotRetranslate(); protected: void closeEvent(QCloseEvent *event); void mousePressEvent(QMouseEvent *event); - void changeEvent(QEvent* event); + void changeEvent(QEvent *event); + private slots: void save(); @@ -161,6 +159,7 @@ private slots: void updateBookmarksToolbarActionText(bool visible); private: + void retranslate(); void loadDefaultState(); void setupMenu(); void setupToolBar(); From 02b29ef09d05243476b32a288dddd056e003f42f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 16:29:27 -0400 Subject: [PATCH 0209/1254] Add autotest for the language manager --- autotests/languagemanager/.gitignore | 1 + autotests/languagemanager/languagemanager.pro | 10 ++ .../languagemanager/tst_languagemanager.cpp | 159 ++++++++++++++++++ src/languagemanager.cpp | 24 +-- src/languagemanager.h | 10 +- 5 files changed, 190 insertions(+), 14 deletions(-) create mode 100644 autotests/languagemanager/.gitignore create mode 100644 autotests/languagemanager/languagemanager.pro create mode 100644 autotests/languagemanager/tst_languagemanager.cpp diff --git a/autotests/languagemanager/.gitignore b/autotests/languagemanager/.gitignore new file mode 100644 index 00000000..8d5dade7 --- /dev/null +++ b/autotests/languagemanager/.gitignore @@ -0,0 +1 @@ +languagemanager diff --git a/autotests/languagemanager/languagemanager.pro b/autotests/languagemanager/languagemanager.pro new file mode 100644 index 00000000..f63dc0da --- /dev/null +++ b/autotests/languagemanager/languagemanager.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . ../ + +include(../autotests.pri) + +# Input +SOURCES += tst_languagemanager.cpp +HEADERS += diff --git a/autotests/languagemanager/tst_languagemanager.cpp b/autotests/languagemanager/tst_languagemanager.cpp new file mode 100644 index 00000000..3de0535f --- /dev/null +++ b/autotests/languagemanager/tst_languagemanager.cpp @@ -0,0 +1,159 @@ +/** + * Copyright (c) 2008, Benjamin C. Meyer + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +class tst_LanguageManager : public QObject +{ + Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void languagemanager_data(); + void languagemanager(); + + void chooseNewLanguage_data(); + void chooseNewLanguage(); + void setCurrentLanguage_data(); + void setCurrentLanguage(); +}; + +// Subclass that exposes the protected functions. +class SubLanguageManager : public LanguageManager +{ +public: + +}; + +class TestWidget : public QWidget +{ +public: + void changeEvent(QEvent *event) { + if (event->type() == QEvent::LanguageChange) + retranslate = true; + QWidget::changeEvent(event); + } + bool retranslate; +}; + + +// This will be called before the first test function is executed. +// It is only called once. +void tst_LanguageManager::initTestCase() +{ +} + +// This will be called after the last test function is executed. +// It is only called once. +void tst_LanguageManager::cleanupTestCase() +{ +} + +// This will be called before each test function is executed. +void tst_LanguageManager::init() +{ +} + +// This will be called after every test function. +void tst_LanguageManager::cleanup() +{ +} + +void tst_LanguageManager::languagemanager_data() +{ +} + +void tst_LanguageManager::languagemanager() +{ + SubLanguageManager manager; + manager.languages(); + // spawns an event loop... + // manager.chooseNewLanguage(); + QCOMPARE(manager.currentLanguage(), QString()); + manager.setCurrentLanguage(QString()); +} + +void tst_LanguageManager::chooseNewLanguage_data() +{ + QTest::addColumn("foo"); + QTest::newRow("null") << 0; +} + +// public void chooseNewLanguage() +void tst_LanguageManager::chooseNewLanguage() +{ + // how do you test this? +#if 0 + QFETCH(int, foo); + + SubLanguageManager manager; + + manager.chooseNewLanguage(); +#endif + QSKIP("Test is not implemented.", SkipAll); +} + +void tst_LanguageManager::setCurrentLanguage_data() +{ + QTest::addColumn("language"); + QTest::addColumn("result"); + QTest::newRow("null") << QString("foo") << QString(); + + SubLanguageManager manager; + QString validLanguage = manager.languages().value(0); + if (validLanguage.isEmpty()) + qWarning() << "no languages to test with"; + QTest::newRow(validLanguage.toLatin1()) << validLanguage << validLanguage; +} + +// public void setCurrentLanguage(QString const &language) +void tst_LanguageManager::setCurrentLanguage() +{ + QFETCH(QString, language); + QFETCH(QString, result); + + SubLanguageManager manager; + QString initialLanguage = manager.currentLanguage(); + + TestWidget widget; + widget.retranslate = false; + manager.setCurrentLanguage(language); + QCOMPARE(manager.currentLanguage(), result); + qApp->processEvents(); + QCOMPARE(widget.retranslate, !result.isEmpty()); +} + +QTEST_MAIN(tst_LanguageManager) +#include "tst_languagemanager.moc" + diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index 133ae50c..eea90542 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -44,9 +44,9 @@ LanguageManager::LanguageManager(QObject *parent) : QObject(parent) - , m_loaded(false) , m_sysTranslator(0) , m_appTranslator(0) + , m_loaded(false) { } @@ -63,10 +63,7 @@ QString LanguageManager::currentLanguage() const bool LanguageManager::isLanguageAvailable(const QString &language) const { - if (!m_loaded) { - LanguageManager *that = const_cast(this); - that->loadAvailableLanguages(); - } + loadAvailableLanguages(); return language.isEmpty() || m_languages.contains(language); } @@ -118,10 +115,15 @@ void LanguageManager::setCurrentLanguage(const QString &language) m_sysTranslator = newSysTranslator; } +QStringList LanguageManager::languages() const +{ + loadAvailableLanguages(); + return m_languages; +} + void LanguageManager::chooseNewLanguage() { - if (!m_loaded) - loadAvailableLanguages(); + loadAvailableLanguages(); QStringList items; QString systemLocaleString = QLocale::system().name(); @@ -175,12 +177,14 @@ QString LanguageManager::translationLocation() const /*! Find all *.qm files in the data directory that have a Qt translation. */ -void LanguageManager::loadAvailableLanguages() +void LanguageManager::loadAvailableLanguages() const { + if (m_loaded) + return; m_loaded = true; QDir appLangsDir(translationLocation()); - appLangsDir.setNameFilters(QStringList(QLatin1String("*.qm"))); - QFileInfoList list = appLangsDir.entryInfoList(); + QStringList nameFilters(QLatin1String("*.qm")); + QFileInfoList list = appLangsDir.entryInfoList(nameFilters); QString sysLangsDirName = QLibraryInfo::location(QLibraryInfo::TranslationsPath); sysLangsDirName += QLatin1Char('/') + QLatin1String("qt_"); diff --git a/src/languagemanager.h b/src/languagemanager.h index 7558c88b..ae89bed6 100644 --- a/src/languagemanager.h +++ b/src/languagemanager.h @@ -38,12 +38,14 @@ class QTranslator; class LanguageManager : public QObject { Q_OBJECT + Q_PROPERTY(QString currentLanguage READ currentLanguage WRITE setCurrentLanguage) public: LanguageManager(QObject *parent = 0); QString currentLanguage() const; void setCurrentLanguage(const QString &language); + QStringList languages() const; public slots: void chooseNewLanguage(); @@ -51,13 +53,13 @@ public slots: private: bool isLanguageAvailable(const QString &language) const; QString translationLocation() const; - void loadAvailableLanguages(); + void loadAvailableLanguages() const; - bool m_loaded; + QString m_currentLanguage; QTranslator *m_sysTranslator; QTranslator *m_appTranslator; - QStringList m_languages; - QString m_currentLanguage; + mutable bool m_loaded; + mutable QStringList m_languages; }; #endif //LANGUAGEMANAGER_H From a9d46ae0b8b86be5e2364c6a5d16847c04708557 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 16:43:33 -0400 Subject: [PATCH 0210/1254] When typing in the page search highlight the results on the fly Issue: 193 --- src/webviewsearch.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index 5c73428c..b58eaaab 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -60,6 +60,8 @@ void WebViewSearch::initializeSearchWidget() this, SLOT(findNext())); connect(ui.previousButton, SIGNAL(clicked()), this, SLOT(findPrevious())); + connect(ui.searchLineEdit, SIGNAL(textEdited(const QString&)), + this, SLOT(findNext())); connect(ui.searchLineEdit, SIGNAL(returnPressed()), this, SLOT(findNext())); connect(ui.doneButton, SIGNAL(clicked()), From 060a979190e79ad80f7f05d8bf34cd0ee3e24722 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 22:53:49 -0400 Subject: [PATCH 0211/1254] Minor code tweaks and improvements to be more consistent with the project --- src/browsermainwindow.cpp | 5 ++- src/plaintexteditsearch.cpp | 20 ++++------ src/plaintexteditsearch.h | 15 +++----- src/searchbar.cpp | 13 +++---- src/searchbar.h | 12 ++++-- src/sourcehighlighter.cpp | 46 +++++++++++----------- src/sourcehighlighter.h | 7 ++-- src/sourceviewer.cpp | 77 ++++++++++++++++++++----------------- src/sourceviewer.h | 38 +++++++++--------- src/webviewsearch.cpp | 20 +++------- src/webviewsearch.h | 11 ++---- 11 files changed, 126 insertions(+), 138 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 32305a71..36222ba8 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -81,8 +81,8 @@ #include "webviewsearch.h" #include +#include #include -#include #include #include #include @@ -955,8 +955,9 @@ void BrowserMainWindow::slotViewPageSource() QString title = currentTab()->title(); QString markup = currentTab()->page()->mainFrame()->toHtml(); - SourceViewer *viewer = new SourceViewer(markup,title); + SourceViewer *viewer = new SourceViewer(markup, title, this); viewer->setAttribute(Qt::WA_DeleteOnClose); + viewer->show(); } void BrowserMainWindow::slotHome() diff --git a/src/plaintexteditsearch.cpp b/src/plaintexteditsearch.cpp index 0304c745..38e6ae14 100644 --- a/src/plaintexteditsearch.cpp +++ b/src/plaintexteditsearch.cpp @@ -19,22 +19,15 @@ #include "plaintexteditsearch.h" -#include "qtextcursor.h" +#include -#define m_edit ((QPlainTextEdit*)m_object) +#include "qtextcursor.h" -PlainTextEditSearch::PlainTextEditSearch(QWidget *parent) +PlainTextEditSearch::PlainTextEditSearch(QPlainTextEdit *plainTextEdit, QWidget *parent) : SearchBar(parent) -{ } - -void PlainTextEditSearch::setPlainTextEdit(QPlainTextEdit *plainTextEdit) + , m_edit(plainTextEdit) { - setObject(plainTextEdit); -} - -QPlainTextEdit *PlainTextEditSearch::plainTextEdit() const -{ - return (QPlainTextEdit*)getObject(); + setSearchObject(plainTextEdit); } void PlainTextEditSearch::findNext() @@ -50,7 +43,7 @@ void PlainTextEditSearch::findPrevious() void PlainTextEditSearch::find(QTextDocument::FindFlags flags) { QString searchString = ui.searchLineEdit->text(); - if (!m_object || searchString.isEmpty()) + if (!m_edit || searchString.isEmpty()) return; if (searchString != lastSearchTerm) { QTextCursor cursor = m_edit->textCursor(); @@ -74,3 +67,4 @@ void PlainTextEditSearch::find(QTextDocument::FindFlags flags) } ui.searchInfo->setText(infoString); } + diff --git a/src/plaintexteditsearch.h b/src/plaintexteditsearch.h index 79f4bacf..8bd65985 100644 --- a/src/plaintexteditsearch.h +++ b/src/plaintexteditsearch.h @@ -20,28 +20,25 @@ #ifndef PLAINTEXTEDITSEARCH_H #define PLAINTEXTEDITSEARCH_H -#include -#include -#include -#include "ui_searchbanner.h" #include "searchbar.h" +#include + +class QPlainTextEdit; class PlainTextEditSearch : public SearchBar { Q_OBJECT public: - PlainTextEditSearch(QWidget *parent = 0); - void setPlainTextEdit(QPlainTextEdit *plainTextEdit); - QPlainTextEdit *plainTextEdit() const; + PlainTextEditSearch(QPlainTextEdit *plainTextEdit, QWidget *parent = 0); public slots: void findNext(); void findPrevious(); -private slots: - void find(QTextDocument::FindFlags flags); private: + void find(QTextDocument::FindFlags flags); + QPlainTextEdit *m_edit; QString lastSearchTerm; }; diff --git a/src/searchbar.cpp b/src/searchbar.cpp index 87f5d432..bd5cb691 100644 --- a/src/searchbar.cpp +++ b/src/searchbar.cpp @@ -20,15 +20,15 @@ #include "searchbar.h" #include -#include #include +#include #include SearchBar::SearchBar(QWidget *parent) : QWidget(parent) - , m_widget(0) , m_object(0) + , m_widget(0) , m_timeLine(new QTimeLine(150, this)) { initializeSearchWidget(); @@ -60,9 +60,8 @@ void SearchBar::initializeSearchWidget() m_widget = new QWidget(this); m_widget->setContentsMargins(0, 0, 0, 0); ui.setupUi(m_widget); - ui.previousButton-> - setText(m_widget->layoutDirection() - == Qt::LeftToRight? QChar(9664): QChar(9654) ); + ui.previousButton->setText(m_widget->layoutDirection() + == Qt::LeftToRight? QChar(9664): QChar(9654)); ui.nextButton->setText(m_widget->layoutDirection() == Qt::LeftToRight? QChar(9654): QChar(9664)); ui.searchInfo->setText(QString()); @@ -71,12 +70,12 @@ void SearchBar::initializeSearchWidget() setMinimumHeight(m_widget->minimumHeight()); } -void SearchBar::setObject(QObject *object) +void SearchBar::setSearchObject(QObject *object) { m_object = object; } -QObject *SearchBar::getObject() const +QObject *SearchBar::searchObject() const { return m_object; } diff --git a/src/searchbar.h b/src/searchbar.h index 0f169574..3e2bb124 100644 --- a/src/searchbar.h +++ b/src/searchbar.h @@ -34,25 +34,29 @@ class SearchBar : public QWidget public: SearchBar(QWidget *parent = 0); - void setObject(QObject *object); - QObject *getObject() const; + void setSearchObject(QObject *object); + QObject *searchObject() const; + public slots: void animateHide(); void clear(); void showFind(); virtual void findNext() = 0; virtual void findPrevious() = 0; + protected: void resizeEvent(QResizeEvent *event); - QObject *m_object; Ui_SearchBanner ui; + private slots: void frameChanged(int frame); + private: void initializeSearchWidget(); + QObject *m_object; QWidget *m_widget; QTimeLine *m_timeLine; }; -#endif // VIEWSEARCH_H +#endif diff --git a/src/sourcehighlighter.cpp b/src/sourcehighlighter.cpp index 0bb62f05..820340b2 100644 --- a/src/sourcehighlighter.cpp +++ b/src/sourcehighlighter.cpp @@ -23,22 +23,22 @@ SourceHighlighter::SourceHighlighter(QTextDocument *document) : QSyntaxHighlighter(document) { QTextCharFormat entityFormat; - entityFormat.setForeground(QColor(30,180,30)); + entityFormat.setForeground(QColor(30, 180,30)); entityFormat.setFontWeight(QFont::Normal); setFormatFor(Entity, entityFormat); QTextCharFormat tagFormat; - tagFormat.setForeground(QColor(30,30,60)); + tagFormat.setForeground(QColor(30, 30, 60)); tagFormat.setFontWeight(QFont::Bold); setFormatFor(Tag, tagFormat); QTextCharFormat commentFormat; - commentFormat.setForeground(QColor(120,120,160)); + commentFormat.setForeground(QColor(120, 120, 160)); commentFormat.setFontWeight(QFont::Normal); setFormatFor(Comment, commentFormat); QTextCharFormat attributeFormat; - attributeFormat.setForeground(QColor(200,30,30)); + attributeFormat.setForeground(QColor(200, 30, 30)); attributeFormat.setFontWeight(QFont::Normal); setFormatFor(Attribute, attributeFormat); } @@ -62,16 +62,16 @@ void SourceHighlighter::highlightBlock(const QString &text) int pos = 0; QRegExp regex; - while (pos >= 0 && pos < len && len>0) { + while (pos >= 0 && pos < len && len > 0) { switch (state) { default: case Normal: regex.setPattern(QLatin1String("[<&]")); - pos = regex.indexIn(text,pos); + pos = regex.indexIn(text, pos); if (pos>=0) { if (text.at(pos) == QLatin1Char('<')) { start = pos; - if (text.mid(pos,4) == QLatin1String("")); - pos = regex.indexIn(text,pos); - if (pos>=0) { + pos = regex.indexIn(text, pos); + if (pos >= 0) { state = Normal; - pos+=3; - setFormat(start,pos-start,formats[Comment]); + pos += 3; + setFormat(start, pos-start, formats[Comment]); pos++; } else { - setFormat(start,len-start,formats[Comment]); + setFormat(start, len-start, formats[Comment]); } break; case InTag: regex.setPattern(QLatin1String("[>\"]")); - pos = regex.indexIn(text,pos); - if (pos>=0) { + pos = regex.indexIn(text, pos); + if (pos >= 0) { if (text.at(pos) == QLatin1Char('>')) { state = Normal; pos++; - setFormat(start,pos-start,formats[Tag]); + setFormat(start, pos-start, formats[Tag]); } else if (text.at(pos)== QLatin1Char('"')) { - setFormat(start,pos-start,formats[Tag]); + setFormat(start, pos-start, formats[Tag]); start = pos; state = InAttribute; pos++; } } else { - setFormat(start,len-start,formats[Tag]); + setFormat(start, len-start, formats[Tag]); } break; case InAttribute: regex.setPattern(QLatin1String("\"")); - pos = regex.indexIn(text,pos); - if (pos>=0) { - setFormat(start,pos-start,formats[Attribute]); + pos = regex.indexIn(text, pos); + if (pos >= 0) { + setFormat(start, pos-start, formats[Attribute]); state = InTag; start = ++pos; } else { - setFormat(start,len-start,formats[Attribute]); + setFormat(start, len-start, formats[Attribute]); } break; } diff --git a/src/sourcehighlighter.h b/src/sourcehighlighter.h index 6612094a..d6783e68 100644 --- a/src/sourcehighlighter.h +++ b/src/sourcehighlighter.h @@ -20,9 +20,6 @@ #ifndef SOURCEHIGHLIGHTER_H #define SOURCEHIGHLIGHTER_H -#include -#include -#include #include class SourceHighlighter : public QSyntaxHighlighter @@ -38,6 +35,7 @@ class SourceHighlighter : public QSyntaxHighlighter LastConstruct = Attribute }; SourceHighlighter(QTextDocument *document); + QTextCharFormat getFormatFor(Construct construct); void setFormatFor(Construct construct, QTextCharFormat &format); @@ -49,8 +47,9 @@ class SourceHighlighter : public QSyntaxHighlighter InAttribute }; void highlightBlock(const QString &text); + private: - QTextCharFormat formats[LastConstruct+1]; + QTextCharFormat formats[LastConstruct + 1]; }; #endif diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index 9bdfb914..2dee2590 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -18,43 +18,48 @@ */ #include "sourceviewer.h" -#include "qaction.h" -#include "qshortcut.h" - -SourceViewer::SourceViewer(QString &source, QString &title) - : QWidget() - , m_edit(source) - , m_highlighter(m_edit.document()) - , m_plainTextEditSearch(this) - , m_menuBar(this) - , m_editMenu(tr("&Edit"),&m_menuBar) - , m_findAction(tr("&Find"),&m_editMenu) - , layout(this) + +#include +#include +#include +#include + +#include "plaintexteditsearch.h" +#include "sourcehighlighter.h" + +SourceViewer::SourceViewer(const QString &source, const QString &title, QWidget *parent) + : QDialog(parent) + , m_edit(new QPlainTextEdit(source)) + , m_highlighter(new SourceHighlighter(m_edit->document())) + , m_plainTextEditSearch(new PlainTextEditSearch(m_edit, this)) + , layout(new QVBoxLayout(this)) + , m_menuBar(new QMenuBar(this)) + , m_editMenu(new QMenu(tr("&Edit"), m_menuBar)) + , m_findAction(new QAction(tr("&Find"), m_editMenu)) + { setWindowTitle(QString(tr("Source of Page ")).append(title)); - setMinimumWidth(640); setMinimumHeight(480); - - m_edit.setLineWrapMode(QPlainTextEdit::NoWrap); - m_edit.setReadOnly(true); - m_edit.setFont(QFont(QLatin1String("Monospace"),9,QFont::Normal)); - - m_plainTextEditSearch.setPlainTextEdit(&m_edit); - - m_menuBar.addMenu(&m_editMenu); - m_editMenu.addAction(&m_findAction); - m_findAction.setShortcuts(QKeySequence::Find); - connect(&m_findAction, SIGNAL(triggered()), this, SLOT(slotEditFind())); - - layout.setSpacing(0); - layout.setContentsMargins(0, 0, 0, 0); - layout.addWidget(&m_menuBar); - layout.addWidget(&m_plainTextEditSearch); - layout.addWidget(&m_edit); - setLayout(&layout); - show(); -} + resize(640, 480); -void SourceViewer::slotEditFind() -{ - m_plainTextEditSearch.showFind(); + m_edit->setLineWrapMode(QPlainTextEdit::NoWrap); + m_edit->setReadOnly(true); + QFont mFont = m_edit->font(); + mFont.setFamily(QLatin1String("Monospace")); + m_edit->setFont(mFont); + m_edit->setLineWidth(0); + m_edit->setFrameShape(QFrame::NoFrame); + + m_menuBar->addMenu(m_editMenu); + m_editMenu->addAction(m_findAction); + m_findAction->setShortcuts(QKeySequence::Find); + connect(m_findAction, SIGNAL(triggered()), + m_plainTextEditSearch, SLOT(showFind())); + + layout->setSpacing(0); + layout->setContentsMargins(0, 0, 0, 0); + layout->addWidget(m_menuBar); + layout->addWidget(m_plainTextEditSearch); + layout->addWidget(m_edit); + setLayout(layout); } + diff --git a/src/sourceviewer.h b/src/sourceviewer.h index 7f05ff8c..8b000af1 100644 --- a/src/sourceviewer.h +++ b/src/sourceviewer.h @@ -20,29 +20,31 @@ #ifndef SOURCEVIEWER_H #define SOURCEVIEWER_H -#include -#include -#include -#include -#include "plaintexteditsearch.h" -#include "sourcehighlighter.h" +#include - -class SourceViewer : public QWidget +class QVBoxLayout; +class SourceHighlighter; +class PlainTextEditSearch; +class QPlainTextEdit; +class QMenuBar; +class QMenu; +class QAction; +class SourceViewer : public QDialog { Q_OBJECT + public: - SourceViewer(QString &source, QString &title); -public slots: - void slotEditFind(); + SourceViewer(const QString &source, const QString &title, QWidget *parent = 0); + private: - QPlainTextEdit m_edit; - SourceHighlighter m_highlighter; - PlainTextEditSearch m_plainTextEditSearch; - QMenuBar m_menuBar; - QMenu m_editMenu; - QAction m_findAction; - QVBoxLayout layout; + QPlainTextEdit *m_edit; + SourceHighlighter *m_highlighter; + PlainTextEditSearch *m_plainTextEditSearch; + QVBoxLayout *layout; + QMenuBar *m_menuBar; + QMenu *m_editMenu; + QAction *m_findAction; + }; #endif diff --git a/src/webviewsearch.cpp b/src/webviewsearch.cpp index ba0fcf2b..92dffdbb 100644 --- a/src/webviewsearch.cpp +++ b/src/webviewsearch.cpp @@ -28,18 +28,10 @@ #include -WebViewSearch::WebViewSearch(QWidget *parent) +WebViewSearch::WebViewSearch(QWebView *webView, QWidget *parent) : SearchBar(parent) -{ } - -void WebViewSearch::setWebView(QWebView *webView) { - setObject(webView); -} - -QWebView *WebViewSearch::webView() const -{ - return (QWebView*)getObject(); + setSearchObject(webView); } void WebViewSearch::findNext() @@ -55,10 +47,10 @@ void WebViewSearch::findPrevious() void WebViewSearch::find(QWebPage::FindFlags flags) { QString searchString = ui.searchLineEdit->text(); - if (!m_object || searchString.isEmpty()) + if (!searchObject() || searchString.isEmpty()) return; QString infoString; - if (!((QWebView*)m_object)->findText(searchString, flags)) + if (!((QWebView*)searchObject())->findText(searchString, flags)) infoString = tr("Not Found"); ui.searchInfo->setText(infoString); } @@ -71,9 +63,9 @@ WebViewWithSearch::WebViewWithSearch(WebView *webView, QWidget *parent) QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); - m_webViewSearch = new WebViewSearch(this); + m_webViewSearch = new WebViewSearch(m_webView, this); layout->addWidget(m_webViewSearch); - m_webViewSearch->setWebView(m_webView); layout->addWidget(m_webView); setLayout(layout); } + diff --git a/src/webviewsearch.h b/src/webviewsearch.h index 23dad4bf..5057492a 100644 --- a/src/webviewsearch.h +++ b/src/webviewsearch.h @@ -20,13 +20,10 @@ #ifndef WEBVIEWSEARCH_H #define WEBVIEWSEARCH_H -#include +#include "searchbar.h" #include -#include "ui_searchbanner.h" -#include "searchbar.h" - QT_BEGIN_NAMESPACE class QWebView; QT_END_NAMESPACE @@ -36,15 +33,13 @@ class WebViewSearch : public SearchBar Q_OBJECT public: - WebViewSearch(QWidget *parent = 0); - void setWebView(QWebView *webView); - QWebView *webView() const; + WebViewSearch(QWebView *webView, QWidget *parent = 0); public slots: void findNext(); void findPrevious(); -private slots: +private: void find(QWebPage::FindFlags flags); }; From ef0f1416ab928ef84ce228681b690c0e118db72d Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Sun, 28 Sep 2008 04:48:59 +0200 Subject: [PATCH 0212/1254] do not preset colors but calculate them from palette --- src/sourcehighlighter.cpp | 47 +++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/src/sourcehighlighter.cpp b/src/sourcehighlighter.cpp index 820340b2..218a1c9d 100644 --- a/src/sourcehighlighter.cpp +++ b/src/sourcehighlighter.cpp @@ -18,27 +18,66 @@ */ #include "sourcehighlighter.h" +#include "qpalette.h" SourceHighlighter::SourceHighlighter(QTextDocument *document) : QSyntaxHighlighter(document) { + QPalette palette; + QColor foreground = palette.text().color(); + QColor background = palette.base().color(); + QTextCharFormat entityFormat; - entityFormat.setForeground(QColor(30, 180,30)); + QColor entityColor; + entityColor.setRed((foreground.red()+background.red()) / 2); + entityColor.setGreen( + (foreground.green()+background.green()) / 2); + entityColor.setBlue( + (foreground.blue()+background.blue()) / 2); + if (abs(entityColor.red()-background.red()) > 80) + entityColor.setRed(foreground.red()); + else if (abs(entityColor.green()-background.green()) > 80) + entityColor.setGreen(foreground.green()); + else entityColor.setBlue(foreground.blue()); + entityFormat.setForeground(entityColor); entityFormat.setFontWeight(QFont::Normal); setFormatFor(Entity, entityFormat); QTextCharFormat tagFormat; - tagFormat.setForeground(QColor(30, 30, 60)); + QColor tagColor; + tagColor.setRed(foreground.red()+(background.red()-foreground.red()) / 4); + tagColor.setGreen( + foreground.green()+(background.green()-foreground.green()) / 4); + tagColor.setBlue( + foreground.blue()+(background.blue()-foreground.blue()) / 4); + tagFormat.setForeground(tagColor); tagFormat.setFontWeight(QFont::Bold); setFormatFor(Tag, tagFormat); QTextCharFormat commentFormat; - commentFormat.setForeground(QColor(120, 120, 160)); + QColor commentColor; + commentColor.setRed(background.red()+(foreground.red()-background.red()) / 3); + commentColor.setGreen( + background.green()+(foreground.green()-background.green()) / 3); + commentColor.setBlue( + background.blue()+(foreground.blue()-background.blue()) / 3); + commentFormat.setForeground(commentColor); commentFormat.setFontWeight(QFont::Normal); setFormatFor(Comment, commentFormat); QTextCharFormat attributeFormat; - attributeFormat.setForeground(QColor(200, 30, 30)); + QColor attributeColor; + attributeColor.setRed((foreground.red()+background.red()) / 2); + attributeColor.setGreen( + (foreground.green()+background.green()) / 2); + attributeColor.setBlue( + (foreground.blue()+background.blue()) / 2); + if (abs(attributeColor.red()-background.red()) > 80) + attributeColor.setRed(background.red()); + else if (abs(attributeColor.green()-background.green()) > 80) + attributeColor.setGreen(background.green()); + else attributeColor.setBlue(background.blue()); + attributeFormat.setForeground(attributeColor); attributeFormat.setFontWeight(QFont::Normal); setFormatFor(Attribute, attributeFormat); } From 4295f7dc37c38d4aad80d808e31e1fba0039dcca Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 27 Sep 2008 23:17:19 -0400 Subject: [PATCH 0213/1254] Fix compile after API changed --- manualtests/webviewsearch/main.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/manualtests/webviewsearch/main.cpp b/manualtests/webviewsearch/main.cpp index bf3d5bf3..d5974674 100644 --- a/manualtests/webviewsearch/main.cpp +++ b/manualtests/webviewsearch/main.cpp @@ -54,16 +54,15 @@ int main(int argc, char **argv) QApplication application(argc, argv); QMainWindow mainWindow; - WebViewSearch *webViewSearch = new WebViewSearch; QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); - layout->addWidget(webViewSearch); WebViewWSearch *webView = new WebViewWSearch(&mainWindow); + WebViewSearch *webViewSearch = new WebViewSearch(webView); + layout->addWidget(webViewSearch); webView->load(QUrl("http://reddit.com")); - webViewSearch->setWebView(webView); layout->addWidget(webView); window->setLayout(layout); mainWindow.setCentralWidget(window); From 9861dc84112c318374dd6def4b6a6268c0e727ac Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 28 Sep 2008 01:53:16 -0400 Subject: [PATCH 0214/1254] the triggered signal was getting emitted n times when opening a bookmark on the main menu where n is the number of times you viewed the main menu. --- src/modelmenu.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index 35a2cf74..0b0ff320 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -161,6 +161,8 @@ void ModelMenu::aboutToShow() } clear(); + disconnect(this, SIGNAL(triggered(QAction*)), this, SLOT(triggered(QAction*))); + if (prePopulated()) addSeparator(); int max = m_maxRows; From bc3d9b758f78d2eeff325356b2c7aa5fc1fddc2b Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Sun, 28 Sep 2008 00:28:59 -0400 Subject: [PATCH 0215/1254] [PATCH] Make middle click on bookmarks menus open in new tab. --- src/bookmarks.cpp | 47 +++++++++++++++++++++++++++++++++++++++-------- src/bookmarks.h | 9 +++++++++ src/modelmenu.cpp | 1 + 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 000c2d5a..7251cfad 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -752,6 +752,7 @@ void AddBookmarkDialog::accept() BookmarksMenu::BookmarksMenu(QWidget *parent) : ModelMenu(parent) , m_bookmarksManager(0) + , m_lastMouseButton(Qt::NoButton) { connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(activated(const QModelIndex &))); @@ -762,10 +763,16 @@ BookmarksMenu::BookmarksMenu(QWidget *parent) void BookmarksMenu::activated(const QModelIndex &index) { - emit openUrl( - index.data(BookmarksModel::UrlRole).toUrl(), - TabWidget::CurrentTab, - index.data(Qt::DisplayRole).toString()); + if (m_lastMouseButton == Qt::MidButton) + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::NewTab, + index.data(Qt::DisplayRole).toString()); + else + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::CurrentTab, + index.data(Qt::DisplayRole).toString()); } bool BookmarksMenu::prePopulated() @@ -782,6 +789,15 @@ bool BookmarksMenu::prePopulated() return true; } +void BookmarksMenu::mouseReleaseEvent(QMouseEvent *ev) +{ + m_lastMouseButton = ev->button(); + //alow normal processing + ModelMenu::mouseReleaseEvent(ev); + //reset + m_lastMouseButton = Qt::NoButton; +} + void BookmarksMenu::setInitialActions(QList actions) { m_initialActions = actions; @@ -1011,6 +1027,7 @@ QModelIndex BookmarksToolBar::rootIndex() const BookmarksToolBarMenu::BookmarksToolBarMenu(QWidget *parent) : ModelMenu(parent) + , m_lastMouseButton(Qt::NoButton) { connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(activated(const QModelIndex &))); @@ -1020,10 +1037,16 @@ BookmarksToolBarMenu::BookmarksToolBarMenu(QWidget *parent) void BookmarksToolBarMenu::activated(const QModelIndex &index) { - emit openUrl( - index.data(BookmarksModel::UrlRole).toUrl(), - TabWidget::CurrentTab, - index.data(Qt::DisplayRole).toString()); + if (m_lastMouseButton == Qt::MidButton) + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::NewTab, + index.data(Qt::DisplayRole).toString()); + else + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::CurrentTab, + index.data(Qt::DisplayRole).toString()); } void BookmarksToolBar::build() @@ -1057,3 +1080,11 @@ void BookmarksToolBar::build() } } +void BookmarksToolBarMenu::mouseReleaseEvent(QMouseEvent *ev) +{ + m_lastMouseButton = ev->button(); + //alow normal processing + ModelMenu::mouseReleaseEvent(ev); + //reset + m_lastMouseButton = Qt::NoButton; +} diff --git a/src/bookmarks.h b/src/bookmarks.h index 980ba690..92869076 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -242,12 +242,16 @@ class BookmarksMenu : public ModelMenu protected: bool prePopulated(); +protected: + virtual void mouseReleaseEvent(QMouseEvent *ev); + private slots: void activated(const QModelIndex &index); private: BookmarksManager *m_bookmarksManager; QList m_initialActions; + Qt::MouseButton m_lastMouseButton; }; /* @@ -345,9 +349,14 @@ class BookmarksToolBarMenu : public ModelMenu public: BookmarksToolBarMenu(QWidget *parent = 0); +protected: + virtual void mouseReleaseEvent(QMouseEvent *ev); + private slots: void activated(const QModelIndex &index); +private: + Qt::MouseButton m_lastMouseButton; }; diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index 0b0ff320..81253976 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -233,6 +233,7 @@ QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject * void ModelMenu::triggered(QAction *action) { QVariant v = action->data(); + fprintf(stderr, "ModelMenu::triggered\n"); if (v.canConvert()) { QModelIndex idx = qvariant_cast(v); emit activated(idx); From 7d4f7bbb7baffcb7973d73fd655170c7e65636c6 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 28 Sep 2008 01:57:57 -0400 Subject: [PATCH 0216/1254] remove printf and change variable ev to event --- src/bookmarks.cpp | 6 +++--- src/bookmarks.h | 2 +- src/modelmenu.cpp | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 7251cfad..a3e6d6fb 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -789,11 +789,11 @@ bool BookmarksMenu::prePopulated() return true; } -void BookmarksMenu::mouseReleaseEvent(QMouseEvent *ev) +void BookmarksMenu::mouseReleaseEvent(QMouseEvent *event) { - m_lastMouseButton = ev->button(); + m_lastMouseButton = event->button(); //alow normal processing - ModelMenu::mouseReleaseEvent(ev); + ModelMenu::mouseReleaseEvent(event); //reset m_lastMouseButton = Qt::NoButton; } diff --git a/src/bookmarks.h b/src/bookmarks.h index 92869076..daaab812 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -243,7 +243,7 @@ class BookmarksMenu : public ModelMenu bool prePopulated(); protected: - virtual void mouseReleaseEvent(QMouseEvent *ev); + virtual void mouseReleaseEvent(QMouseEvent *event); private slots: void activated(const QModelIndex &index); diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index 81253976..0b0ff320 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -233,7 +233,6 @@ QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject * void ModelMenu::triggered(QAction *action) { QVariant v = action->data(); - fprintf(stderr, "ModelMenu::triggered\n"); if (v.canConvert()) { QModelIndex idx = qvariant_cast(v); emit activated(idx); From cd01a9152ee91620de70a7b3238b0ea12553a666 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 28 Sep 2008 02:29:46 -0400 Subject: [PATCH 0217/1254] remove debug echo --- git_hooks/pre-commit_autotest | 1 - 1 file changed, 1 deletion(-) diff --git a/git_hooks/pre-commit_autotest b/git_hooks/pre-commit_autotest index 8a6cf86d..6a796f61 100755 --- a/git_hooks/pre-commit_autotest +++ b/git_hooks/pre-commit_autotest @@ -8,7 +8,6 @@ if [ $? -eq 0 ] ; then QMAKE=qmake-qt4 fi dir=`dirname $0` -echo $dir for file in `git-diff-index --name-only HEAD | grep .cpp` ; do file=`echo $file | sed -e s/.cpp//g -e 's/.*\///g'` if [ -d $dir/../autotests/$file ] ; then From 1d3b4104f238917d49d1e21a6ebd8efc6bf62e9d Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 28 Sep 2008 02:30:34 -0400 Subject: [PATCH 0218/1254] Add new git hook test to check that existing manualtest for files that are being commited still build, they have broke when the API for a class changes. --- git_hooks/pre-commit_manualtestbuild | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 git_hooks/pre-commit_manualtestbuild diff --git a/git_hooks/pre-commit_manualtestbuild b/git_hooks/pre-commit_manualtestbuild new file mode 100755 index 00000000..71813008 --- /dev/null +++ b/git_hooks/pre-commit_manualtestbuild @@ -0,0 +1,26 @@ +#!/bin/bash +# +# Check that existing manualtest for files that are being commited still build +# They can break when the API changes +# +QMAKE=qmake +$QMAKE --version 2>&1 | grep 3.3 > /dev/null +if [ $? -eq 0 ] ; then + QMAKE=qmake-qt4 +fi +dir=`dirname $0` +for file in `git-diff-index --name-only HEAD | grep .cpp` ; do + file=`echo $file | sed -e s/.cpp//g -e 's/.*\///g'` + if [ -d $dir/../manualtests/$file ] ; then + echo "--checking manualtest (should still build): $file--" + cd "$dir/../../manualtests/$file/"; + $QMAKE; + make --quiet + if [ $? != 0 ] ; then + echo "--Manualtest build failed, fix failure before commiting--"; + exit 1 + fi + echo "--checking manualtest: $file done--" + fi +done + From eaeba631057e0ae2c374bef64a9ac189e275434c Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Mon, 29 Sep 2008 21:46:19 +0200 Subject: [PATCH 0219/1254] Download Source from server, most times --- src/browsermainwindow.cpp | 4 +++- src/sourceviewer.cpp | 36 ++++++++++++++++++++++++++++++++---- src/sourceviewer.h | 11 ++++++++++- 3 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 36222ba8..8aac6298 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -94,6 +94,7 @@ #include #include +#include #include #include @@ -955,7 +956,8 @@ void BrowserMainWindow::slotViewPageSource() QString title = currentTab()->title(); QString markup = currentTab()->page()->mainFrame()->toHtml(); - SourceViewer *viewer = new SourceViewer(markup, title, this); + QUrl url = currentTab()->url(); + SourceViewer *viewer = new SourceViewer(markup, title, url, this); viewer->setAttribute(Qt::WA_DeleteOnClose); viewer->show(); } diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index 2dee2590..b9f0b590 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -20,27 +20,36 @@ #include "sourceviewer.h" #include +#include +#include +#include +#include #include #include -#include +#include +#include +#include "browserapplication.h" +#include "networkaccessmanager.h" #include "plaintexteditsearch.h" #include "sourcehighlighter.h" -SourceViewer::SourceViewer(const QString &source, const QString &title, QWidget *parent) +SourceViewer::SourceViewer(const QString &source, + const QString &title, const QUrl &url, QWidget *parent) : QDialog(parent) - , m_edit(new QPlainTextEdit(source)) + , m_edit(new QPlainTextEdit(tr("Loading..."))) , m_highlighter(new SourceHighlighter(m_edit->document())) , m_plainTextEditSearch(new PlainTextEditSearch(m_edit, this)) , layout(new QVBoxLayout(this)) , m_menuBar(new QMenuBar(this)) , m_editMenu(new QMenu(tr("&Edit"), m_menuBar)) , m_findAction(new QAction(tr("&Find"), m_editMenu)) - { setWindowTitle(QString(tr("Source of Page ")).append(title)); resize(640, 480); + m_source = new QString(source); + m_edit->setLineWrapMode(QPlainTextEdit::NoWrap); m_edit->setReadOnly(true); QFont mFont = m_edit->font(); @@ -61,5 +70,24 @@ SourceViewer::SourceViewer(const QString &source, const QString &title, QWidget layout->addWidget(m_plainTextEditSearch); layout->addWidget(m_edit); setLayout(layout); + + m_request = new QNetworkRequest(url); + m_request->setAttribute(QNetworkRequest::CacheLoadControlAttribute, + QNetworkRequest::PreferCache); + m_reply = BrowserApplication::networkAccessManager()->get(*m_request); + connect(m_reply, SIGNAL(finished()), this, SLOT(loadingFinished())); + m_reply->setParent(this); } +void SourceViewer::loadingFinished() +{ + QWebPage page; + QByteArray response = m_reply->readAll(); + page.mainFrame()->setContent(response,QString(),m_request->url()); + /* If original request was POST or a different problem is there, fall + back to modified version of QWebFrame.toHtml() */ + if (page.mainFrame()->toHtml() != *m_source) + m_edit->setPlainText(*m_source); + else m_edit->setPlainText(QLatin1String(response)); + m_reply->close(); +} diff --git a/src/sourceviewer.h b/src/sourceviewer.h index 8b000af1..6d9a31bf 100644 --- a/src/sourceviewer.h +++ b/src/sourceviewer.h @@ -28,13 +28,17 @@ class PlainTextEditSearch; class QPlainTextEdit; class QMenuBar; class QMenu; +class QUrl; class QAction; +class QNetworkReply; +class QNetworkRequest; class SourceViewer : public QDialog { Q_OBJECT public: - SourceViewer(const QString &source, const QString &title, QWidget *parent = 0); + SourceViewer(const QString &source, const QString &title, + const QUrl &url, QWidget *parent = 0); private: QPlainTextEdit *m_edit; @@ -44,7 +48,12 @@ class SourceViewer : public QDialog QMenuBar *m_menuBar; QMenu *m_editMenu; QAction *m_findAction; + QNetworkReply *m_reply; + QNetworkRequest *m_request; + QString *m_source; +private slots: + void loadingFinished(); }; #endif From 0aaa35a923854519f16ed367cbc32ac6ff36abba Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Mon, 29 Sep 2008 21:47:29 +0200 Subject: [PATCH 0220/1254] leakage fix --- src/sourceviewer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index b9f0b590..f77ffb73 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -37,7 +37,7 @@ SourceViewer::SourceViewer(const QString &source, const QString &title, const QUrl &url, QWidget *parent) : QDialog(parent) - , m_edit(new QPlainTextEdit(tr("Loading..."))) + , m_edit(new QPlainTextEdit(tr("Loading..."),this)) , m_highlighter(new SourceHighlighter(m_edit->document())) , m_plainTextEditSearch(new PlainTextEditSearch(m_edit, this)) , layout(new QVBoxLayout(this)) @@ -90,4 +90,6 @@ void SourceViewer::loadingFinished() m_edit->setPlainText(*m_source); else m_edit->setPlainText(QLatin1String(response)); m_reply->close(); + delete m_request; + delete m_source; } From 592a01f0caad4d66c05f373e0e363301477587ba Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 28 Sep 2008 23:01:14 -0400 Subject: [PATCH 0221/1254] Make a dedicated SingleApplication class that is more easily tested and code reviewed - Include a new manual test for this class --- manualtests/manualtests.pro | 3 +- manualtests/singleapplication/.gitignore | 1 + manualtests/singleapplication/main.cpp | 49 +++++++ .../singleapplication/singleapplication.pro | 10 ++ src/browserapplication.cpp | 101 ++++---------- src/browserapplication.h | 12 +- src/main.cpp | 2 +- src/utils/singleapplication.cpp | 125 ++++++++++++++++++ src/utils/singleapplication.h | 63 +++++++++ src/utils/utils.pri | 2 + 10 files changed, 285 insertions(+), 83 deletions(-) create mode 100644 manualtests/singleapplication/.gitignore create mode 100644 manualtests/singleapplication/main.cpp create mode 100644 manualtests/singleapplication/singleapplication.pro create mode 100644 src/utils/singleapplication.cpp create mode 100644 src/utils/singleapplication.h diff --git a/manualtests/manualtests.pro b/manualtests/manualtests.pro index c8412cb1..1bdffec9 100644 --- a/manualtests/manualtests.pro +++ b/manualtests/manualtests.pro @@ -5,5 +5,6 @@ SUBDIRS = bookmarks \ lineedit \ locationbar \ searchlineedit \ - squeezelabel + singleapplication \ + squeezelabel diff --git a/manualtests/singleapplication/.gitignore b/manualtests/singleapplication/.gitignore new file mode 100644 index 00000000..a24818bd --- /dev/null +++ b/manualtests/singleapplication/.gitignore @@ -0,0 +1 @@ +singleapplication diff --git a/manualtests/singleapplication/main.cpp b/manualtests/singleapplication/main.cpp new file mode 100644 index 00000000..63478108 --- /dev/null +++ b/manualtests/singleapplication/main.cpp @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2008, Benjamin C. Meyer + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include + +int main(int argc, char **argv) +{ + SingleApplication app(argc, argv); + app.setApplicationName("testapp"); + if (app.arguments().count() > 1 + && app.sendMessage(app.arguments().last())) + return 0; + + QPlainTextEdit plainTextEdit; + plainTextEdit.show(); + if (!app.startSingleServer()) + qWarning() << "Error starting server"; + app.connect(&app, SIGNAL(messageRecieved(const QString &)), + &plainTextEdit, SLOT(appendPlainText(const QString &))); + return app.exec(); +} + diff --git a/manualtests/singleapplication/singleapplication.pro b/manualtests/singleapplication/singleapplication.pro new file mode 100644 index 00000000..c089bdc3 --- /dev/null +++ b/manualtests/singleapplication/singleapplication.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +include(../manualtests.pri) + +# Input +SOURCES = main.cpp singleapplication.cpp +HEADERS = singleapplication.h \ No newline at end of file diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index d57663e5..eceb0881 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -79,13 +79,6 @@ #include #include #include -#include -#include - -#include -#include -#include - #include #include @@ -97,8 +90,7 @@ BookmarksManager *BrowserApplication::s_bookmarksManager = 0; LanguageManager *BrowserApplication::s_languageManager = 0; BrowserApplication::BrowserApplication(int &argc, char **argv) - : QApplication(argc, argv) - , m_localServer(0) + : SingleApplication(argc, argv) , quiting(false) { QCoreApplication::setOrganizationDomain(QLatin1String("arora-browser.org")); @@ -111,39 +103,16 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) QCoreApplication::setApplicationVersion(version); #ifndef AUTOTESTS -#ifdef Q_WS_QWS - // Use a different server name for QWS so we can run an X11 - // browser and a QWS browser in parallel on the same machine for - // debugging - QString serverName = QCoreApplication::applicationName() + QLatin1String("_qws"); -#else - QString serverName = QCoreApplication::applicationName(); -#endif // Q_WS_QWS - QLocalSocket socket; - socket.connectToServer(serverName); - if (socket.waitForConnected(500)) { - QTextStream stream(&socket); - QStringList args = QCoreApplication::arguments(); - if (args.count() > 1) - stream << args.last(); - else - stream << QString(); - stream.flush(); - socket.waitForBytesWritten(); + QStringList args = QCoreApplication::arguments(); + QString message = (args.count() > 1) ? args.last() : QString(); + if (sendMessage(args.last())) return; - } - - m_localServer = new QLocalServer(this); - connect(m_localServer, SIGNAL(newConnection()), - this, SLOT(newLocalSocketConnection())); - if (!m_localServer->listen(serverName)) { - if (m_localServer->serverError() == QAbstractSocket::AddressInUseError - && QFile::exists(m_localServer->serverName())) { - QFile::remove(m_localServer->serverName()); - m_localServer->listen(serverName); - } - } -#endif // AUTOTESTS + // not sure what else to do... + if(!startSingleServer()) + return; + connect(this, SIGNAL(messageRecieved(const QString &)), + this, SLOT(messageRecieved(const QString &))); +#endif #if defined(Q_WS_MAC) QApplication::setQuitOnLastWindowClosed(false); @@ -174,7 +143,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #ifndef AUTOTESTS QTimer::singleShot(0, this, SLOT(postLaunch())); -#endif // AUTOTESTS +#endif } BrowserApplication::~BrowserApplication() @@ -201,6 +170,24 @@ BrowserApplication *BrowserApplication::instance() return (static_cast(QCoreApplication::instance())); } +void BrowserApplication::messageRecieved(const QString &message) +{ + QUrl url(message); + if (!url.isEmpty()) { + QSettings settings; + settings.beginGroup(QLatin1String("general")); + int openLinksIn = settings.value(QLatin1String("openLinksIn"), 0).toInt(); + settings.endGroup(); + if (openLinksIn == 1) + newMainWindow(); + else + mainWindow()->tabWidget()->newTab(); + openUrl(url); + } + mainWindow()->raise(); + mainWindow()->activateWindow(); +} + #if defined(Q_WS_MAC) #include void BrowserApplication::quitBrowser() @@ -413,11 +400,6 @@ bool BrowserApplication::restoreLastSession() return true; } -bool BrowserApplication::isTheOnlyBrowser() const -{ - return (m_localServer != 0); -} - #if defined(Q_WS_MAC) bool BrowserApplication::event(QEvent *event) { @@ -465,31 +447,6 @@ BrowserMainWindow *BrowserApplication::mainWindow() return m_mainWindows[0]; } -void BrowserApplication::newLocalSocketConnection() -{ - QLocalSocket *socket = m_localServer->nextPendingConnection(); - if (!socket) - return; - socket->waitForReadyRead(1000); - QTextStream stream(socket); - QString url; - stream >> url; - if (!url.isEmpty()) { - QSettings settings; - settings.beginGroup(QLatin1String("general")); - int openLinksIn = settings.value(QLatin1String("openLinksIn"), 0).toInt(); - settings.endGroup(); - if (openLinksIn == 1) - newMainWindow(); - else - mainWindow()->tabWidget()->newTab(); - openUrl(url); - } - delete socket; - mainWindow()->raise(); - mainWindow()->activateWindow(); -} - CookieJar *BrowserApplication::cookieJar() { return (CookieJar*)networkAccessManager()->cookieJar(); diff --git a/src/browserapplication.h b/src/browserapplication.h index 8eef085a..c06c0e13 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -63,16 +63,12 @@ #ifndef BROWSERAPPLICATION_H #define BROWSERAPPLICATION_H -#include +#include "singleapplication.h" #include #include #include -QT_BEGIN_NAMESPACE -class QLocalServer; -QT_END_NAMESPACE - class BookmarksManager; class BrowserMainWindow; class CookieJar; @@ -80,7 +76,7 @@ class DownloadManager; class HistoryManager; class NetworkAccessManager; class LanguageManager; -class BrowserApplication : public QApplication +class BrowserApplication : public SingleApplication { Q_OBJECT @@ -90,7 +86,6 @@ class BrowserApplication : public QApplication static BrowserApplication *instance(); void loadSettings(); - bool isTheOnlyBrowser() const; BrowserMainWindow *mainWindow(); QList mainWindows(); static QIcon icon(const QUrl &url); @@ -119,9 +114,9 @@ public slots: #endif private slots: + void messageRecieved(const QString &message); void postLaunch(); void openUrl(const QUrl &url); - void newLocalSocketConnection(); private: void clean(); @@ -133,7 +128,6 @@ private slots: static LanguageManager *s_languageManager; QList > m_mainWindows; - QLocalServer *m_localServer; QByteArray m_lastSession; bool quiting; }; diff --git a/src/main.cpp b/src/main.cpp index c8a207cf..14862b80 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -28,7 +28,7 @@ int main(int argc, char **argv) Q_INIT_RESOURCE(htmls); Q_INIT_RESOURCE(data); BrowserApplication application(argc, argv); - if (!application.isTheOnlyBrowser()) + if (!application.isRunning()) return 0; #ifdef Q_OS_WIN application.setStyle(new ExplorerStyle); diff --git a/src/utils/singleapplication.cpp b/src/utils/singleapplication.cpp new file mode 100644 index 00000000..782fb75c --- /dev/null +++ b/src/utils/singleapplication.cpp @@ -0,0 +1,125 @@ +/** + * Copyright (c) 2008, Benjamin C. Meyer + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "singleapplication.h" + +#include +#include +#include +#include + +#ifndef Q_OS_WIN +#include +#endif + +SingleApplication::SingleApplication(int &argc, char **argv) + : QApplication(argc, argv) + , m_localServer(0) +{ +} + +bool SingleApplication::sendMessage(const QString &message) +{ + QLocalSocket socket; + socket.connectToServer(serverName()); + if (socket.waitForConnected(500)) { + QTextStream stream(&socket); + stream << message; + stream.flush(); + if (socket.waitForBytesWritten()) + return true; + } + return false; +} + +bool SingleApplication::startSingleServer() +{ + if (m_localServer) + return false; + + m_localServer = new QLocalServer(); + connect(m_localServer, SIGNAL(newConnection()), + this, SLOT(newConnection())); + bool success = false; + if (!m_localServer->listen(serverName())) { + if (QAbstractSocket::AddressInUseError == m_localServer->serverError()) { + // cleanup from a segfaulted server + if (!m_localServer->listen(serverName())) { + qWarning() << "SingleApplication: Unable to start single server."; + } else { + success = true; + } + } + } else { + success = true; + } + + QFile file(m_localServer->fullServerName()); + if (!file.setPermissions(QFile::ReadUser | QFile::WriteUser)) + qWarning() << "SingleApplication: Unable to set permissions on:" + << file.fileName(); + if (!success) { + delete m_localServer; + m_localServer = 0; + } + return success; +} + +bool SingleApplication::isRunning() const +{ + return (0 != m_localServer); +} + +void SingleApplication::newConnection() +{ + QLocalSocket *socket = m_localServer->nextPendingConnection(); + if (!socket) + return; + socket->waitForReadyRead(); + QTextStream stream(socket); + QString message; + stream >> message; + emit messageRecieved(message); + delete socket; +} + +QString SingleApplication::serverName() const +{ + QString serverName = QCoreApplication::applicationName(); + Q_ASSERT(!serverName.isEmpty()); +#ifdef Q_WS_QWS + serverName += QLatin1String("_qws"); +#endif +#ifndef Q_OS_WIN + serverName += QString(QLatin1String("_%1_%2")).arg(getuid()).arg(getgid()); +#else + // How do you get the current user on windows? +#endif + return serverName; +} + diff --git a/src/utils/singleapplication.h b/src/utils/singleapplication.h new file mode 100644 index 00000000..fc25fef4 --- /dev/null +++ b/src/utils/singleapplication.h @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2008, Benjamin C. Meyer + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SINGALAPPLICATION_H +#define SINGALAPPLICATION_H + +#include + +/* + QApplication subclass that should be used when you only want one + instant of the application to exist at a time. +*/ +class QLocalServer; +class SingleApplication : public QApplication +{ + Q_OBJECT + +signals: + void messageRecieved(const QString &message); + +public: + SingleApplication(int &argc, char **argv); + + bool sendMessage(const QString &message); + bool startSingleServer(); + bool isRunning() const; + +private slots: + void newConnection(); + +private: + QString serverName() const; + QLocalServer *m_localServer; + +}; + +#endif + diff --git a/src/utils/utils.pri b/src/utils/utils.pri index 0d4f4931..e53e9c5f 100644 --- a/src/utils/utils.pri +++ b/src/utils/utils.pri @@ -6,9 +6,11 @@ HEADERS += \ lineedit.h \ lineedit_p.h \ proxystyle.h \ + singleapplication.h \ squeezelabel.h SOURCES += \ autosaver.cpp \ lineedit.cpp \ + singleapplication.cpp \ squeezelabel.cpp \ No newline at end of file From 6dd47e403bd1886ad54aa50187a66a50f987e14a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 30 Sep 2008 20:55:12 -0400 Subject: [PATCH 0222/1254] Removing zh_CN translation as it currently has errors --- src/locale/locale.pri | 3 +- src/locale/zh_CN.ts | 1564 ----------------------------------------- 2 files changed, 1 insertion(+), 1566 deletions(-) delete mode 100644 src/locale/zh_CN.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 545da231..5d329312 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -20,8 +20,7 @@ TRANSLATIONS += \ pt_BR.ts \ ru.ts \ tr.ts \ - nl.ts \ - zh_CN.ts + nl.ts isEmpty(QMAKE_LRELEASE) { win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts deleted file mode 100644 index c00877aa..00000000 --- a/src/locale/zh_CN.ts +++ /dev/null @@ -1,1564 +0,0 @@ - - - - - - AboutDialog - - - About - 关于 - - - - AddBookmarkDialog - - - Add Bookmark - 添加书签 - - - - Type a name for the bookmark, and choose where to keep -it. - 请为此书签输入名称,然后选择位置保存。 - - - - BookmarksDialog - - - Open - 打开 - - - - Delete - 删除 - - - - New Folder - 新建文件夹 - - - - Bookmarks - 书签 - - - - &Remove - 移除(&R) - - - - Add Folder - 添加文件夹 - - - - Open in New Tab - 在新标签中打开 - - - - BookmarksManager - - - Error when loading bookmarks on line %1, column %2: -%3 - 在打开书签的第 %1 行和 %2 列时出错: - - - - Toolbar Bookmarks - 工具栏书签 - - - - Menu - 菜单 - - - - Open File - 打开文件 - - - - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) - - - - Imported %1 - 导入的 %1 - - - - Save File - 保存文件 - - - - %1 Bookmarks.xbel - %1 Bookmarks.xbel - - - - Export error - 导出错误 - - - - error saving bookmarks - 保存书签时出错 - - - - Remove Bookmark - 移除书签 - - - - Insert Bookmark - 插入书签 - - - - Name Change - 更改名称 - - - - Address Change - 更改地址 - - - - BookmarksModel - - - Title - 标题 - - - - Address - 地址 - - - - BookmarksToolBar - - - Bookmark - 书签 - - - - BrowserApplication - - - There are %1 windows and %2 tabs open -Do you want to quit anyway? - 当前有 %1 个窗口和 %2 -个标签打开,您真的要退出吗? - - - - BrowserMainWindow - - - &File - 文件(&F) - - - - &New Window - 新建窗口(&N) - - - - &Open File... - 打开文件(&O)... - - - - Open &Location... - 打开位置(&L)... - - - - &Save As... - 另存为(&S)... - - - - &Import Bookmarks... - 导入书签(&I)... - - - - &Export Bookmarks... - 导出书签(&E)... - - - - P&rint Preview... - 打印预览(&r)... - - - - &Print... - 打印(&P)... - - - - Private &Browsing... - 秘密浏览(&B)... - - - - &Quit - 退出(&Q) - - - - &Edit - 编辑(&E) - - - - &Undo - 撤销(&U) - - - - &Redo - 重做(&R) - - - - Cu&t - 剪切(&t) - - - - &Copy - 复制(&C) - - - - &Paste - 粘贴(&P) - - - - &Find - 搜索(&F) - - - - &Find Next - 搜索下一个(&F) - - - - &Find Previous - 搜索前一个(&F) - - - - &Preferences - 选项(&P) - - - - Ctrl+, - Ctrl+, - - - - &View - 视图(&V) - - - - Shift+Ctrl+B - Shift+Ctrl+B - - - - Ctrl+| - Ctrl+| - - - - Ctrl+/ - Ctrl+/ - - - - &Stop - 停止(&S) - - - - Reload Page - 刷新页面 - - - - &Make Text Bigger - 增大文字(&M) - - - - &Make Text Normal - 恢复文字正常大小(&M) - - - - &Make Text Smaller - 缩小文字(&M) - - - - Page S&ource - 页面源文件(&o) - - - - Ctrl+Alt+U - Ctrl+Alt+U - - - - &Full Screen - 全屏(&F) - - - - Hi&story - 历史(&s) - - - - Back - 后退 - - - - Forward - 前进 - - - - Home - 主页 - - - - Restore Last Session - 恢复最后一次的会话 - - - - &Bookmarks - 书签(&B) - - - - Manage Bookmarks... - 管理书签... - - - - Add Bookmark... - 增加书签... - - - - &Window - 窗口(&W) - - - - &Tools - 工具(&T) - - - - Web &Search - Web搜索(&S) - - - - Ctrl+K - Web Search - Ctrl+K - - - - Enable Web &Inspector - Enable Web &Inspector - - - - &Help - 帮助(&H) - - - - About &Qt - 关于Qt(&Q) - - - - About &Arora - 关于Arora(&A) - - - - Navigation - 导航 - - - - Show Status Bar - 显示状态栏 - - - - Hide Status Bar - 隐藏状态栏 - - - - Show Toolbar - 显示工具栏 - - - - Hide Toolbar - 隐藏工具栏 - - - - Show Bookmarks bar - 显示书签栏 - - - - Hide Bookmarks bar - 隐藏书签栏 - - - - Arora - Arora - - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - - About - 关于 - - - - Version %1<p>This demo demonstrates Qt's webkit -facilities in action, providing an example browser for you to experiment -with.<p><p>QtWebKit is based on the Open Source WebKit Project -developed at <a -href="http://webkit.org/">http://webkit.org/</a>. - Version %1<p>This demo demonstrates Qt's webkit -facilities in action, providing an example browser for you to experiment -with.<p><p>QtWebKit is based on the Open Source WebKit Project -developed at <a -href="http://webkit.org/">http://webkit.org/</a>. - - - - Open Web Resource - 开放网络资源 - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files -(*.*) - 网络资源 (*.html *.htm *.svg *.png *.gif *.svgz);;所有的文件 -(*.*) - - - - Print Document - 打印文档 - - - - Are you sure you want to turn on private browsing? - 您确定要打开秘密浏览吗? - - - - <b>%1</b><br><br>When private browsing in -turned on, webpages are not added to the history, items are automatically removed -from the Downloads window, new cookies are not stored, current cookies can't -be accessed, site icons wont be stored, session wont be saved, and searches are -not addded to the pop-up menu in the Google search box. Until you close the -window, you can still click the Back and Forward buttons to return to the webpages -you have opened. - <b>%1</b><br><br>打开秘密浏览时,浏览的页面不会被添加到历史中,下载的内容会被自动从下载窗口种移除,新的cookie也不会被保存,当前的cookie也不能被访问,站点图标不会被保存,会话也将不被保存,搜索也不会添加到Google搜索框的弹出菜单中。在你关闭窗口前,你仍然可以使用前进和后退按钮来访问你曾经打开的页面。 - - - - Are you sure you want to close the window? There are %1 tab -open - 您确定要关闭窗口吗? 当前已经打开了 %1 个标签。 - - - - Page Source of %1 - 页面 %1 的源码 - - - - Web Inspector - Web Inspector - - - - The web inspector will only work correctly for pages that were -loaded after enabling. -Do you want to reload all pages? - Web -inspactor只对启用后打开的页面有效。您是否要重新载入所有的页面? - - - - Stop loading the current page - 停止载入当前页面 - - - - Reload the current page - 重新载入当前页面 - - - - Downloads - 下载 - - - - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L - - - - &Clear Private Data - 清除隐私数据(&C) - - - - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete - - - - <b>%1</b><br><br>When private browsing is -turned on, some actions concerning your privacy will be -disabled:<ul><li> Webpages are not added to the -history.</li><li> Items are automatically removed from the Downloads -window.</li><li> New cookies are not stored, current cookies -can't be accessed.</li><li> Site icons won't be stored, -session won't be saved.</li><li> Searches are not addded to the -pop-up menu in the search box.</li></ul>Until you close the window, -you can still click the Back and Forward buttonsto return to the webpages you have -opened. - -<b>%1</b><br><br>当秘密浏览启用时,涉及您个人隐私的操作是被禁止的:<ul><li> -页面不会被添加到历史中。</li><li>内容会被自动从下载窗口中移除。</li><li>新的cookie不能被保存,当前cookie不能访问。</li><li>站点图标不被保存。</li><li>搜索过的关键词不会被添加到搜索框的弹出菜单中</li></ul>在关闭窗口前,您仍然可以通过前进和后退按钮访问打开的页面。 - - - - ClearButton - - - Clear - 清除 - - - - ClearPrivateData - - - Clear Private Data - 清楚个人信息 - - - - Clear the following items: - 清除以下内容: - - - - &Browsing History - 浏览历史(&amo;B) - - - - &Download History - 下载历史(&D) - - - - &Search History - 搜索历史(&S) - - - - &Cookies - &Cookies - - - - C&ache - 缓存(&a) - - - - Website &Icons - 站点图标(&I) - - - - Clear &Private Data - 清除个人数据(&P) - - - - &Cancel - 取消(&C) - - - - CookieExceptionsModel - - - Website - 站点 - - - - Status - 状态 - - - - Allow - 允许 - - - - Block - 拒绝 - - - - Allow For Session - 对此会话允许 - - - - CookieModel - - - Website - 站点 - - - - Name - 名称 - - - - Path - 路径 - - - - Secure - 安全 - - - - Expires - 过期 - - - - Contents - 内容 - - - - CookiesDialog - - - Cookies - Cookies - - - - &Remove - 移除(&R) - - - - Remove &All Cookies - 移除所有的Cookie(&A) - - - - CookiesExceptionsDialog - - - Cookie Exceptions - 例外的Cookie - - - - New Exception - 新建例外 - - - - Domain: - 域: - - - - Block - 拒绝 - - - - Allow For Session - 对所有的会话允许 - - - - Allow - 允许 - - - - Exceptions - 例外 - - - - &Remove - 移除(&R) - - - - Remove &All - 移除所有(&A) - - - - DownloadDialog - - - Downloads - 下载 - - - - Clean up - 清除 - - - - 0 Items - 0 个内容 - - - - DownloadItem - - - Form - - - - - Ico - Ico - - - - Filename - 文件名 - - - - Try Again - 重试 - - - - Stop - 停止 - - - - Open - 打开 - - - - Save File - 保存文件 - - - - Download canceled: %1 - 取消下载: %1 - - - - Error opening save file: %1 - 打开已存文件错误: %1 - - - - Error saving: %1 - 保存错误: %1 - - - - Network Error: %1 - 网络错误: %1 - - - - seconds - - - - - minutes - 分钟 - - - - - %4 %5 remaining - - %4 %5 剩余 - - - - %1 of %2 (%3/sec) %4 - %1 z %2 (%3/s) %4 - - - - ? - - - - - %1 of %2 - Stopped - %1 z %2 - 停止 - - - - bytes - bytes - - - - kB - kB - - - - MB - MB - - - - DownloadManager - - - 1 Download - 1 个下载 - - - - %1 Downloads - %1 个下载 - - - - HistoryDialog - - - Open - 打开 - - - - Copy - 复制 - - - - Delete - 删除 - - - - History - 历史 - - - - &Remove - 移除(&R) - - - - Remove &All - 移除全部(&A) - - - - HistoryMenu - - - Show All History - 显示全部历史 - - - - Clear History - 清除历史 - - - - HistoryModel - - - Title - 标题 - - - - Address - 地址 - - - - HistoryTreeModel - - - Earlier Today - 今天早些时候 - - - - %1 items - %1 条内容 - - - - NetworkAccessManager - - - <qt>Enter username and password for "%1" at -%2</qt> - <qt>输入 "%1" 于 %2 -的用户名和密码</qt> - - - - <qt>Connect to proxy "%1" -using:</qt> - <qt>使用如下方式连接代理 -"%1":</qt> - - - - SSL Errors: - -%1 - -%2 - -Do you want to ignore these errors? - SSL错误: - -%1 - -%2 - -您要忽略这些错误吗? - - - - Do you want to accept all these certificates? - 您要接受全部这些认证吗? - - - - PasswordDialog - - - Authentication Required - 需要认证 - - - - DUMMY ICON - - - - - INTRO TEXT DUMMY - - - - - Username: - 用户名: - - - - Password: - 密码: - - - - ProxyDialog - - - Proxy Authentication - 代理认证 - - - - ICON - - - - - Connect to proxy - 连接到代理 - - - - Username: - 用户名: - - - - Password: - 密码: - - - - QObject - - - The file is not an XBEL version 1.0 file. - 此文件非XBEL 1.0版。 - - - - Unknown title - 未知标题 - - - - SearchBanner - - - Form - - - - - TextLabel - 文字标签 - - - - < - - - - - > - - - - - Done - 完成 - - - - SearchLineEdit - - - Search - 搜索 - - - - Settings - - - Settings - 设定 - - - - General - 通用 - - - - Home: - 主页: - - - - Set to current page - 使用当前页面 - - - - Remove history items: - 移除历史内容: - - - - After one day - 一天后 - - - - After one week - 一周后 - - - - After two weeks - 两周后 - - - - After one month - 一个月后 - - - - After one year - 一年后 - - - - Manually - 手动 - - - - Save downloads to: - 保存下载到: - - - - Open links from applications: - 在程序中打开链接: - - - - In a tab in the current window - 在当前窗口的标签中 - - - - In a new window - 在新窗口中 - - - - Appearance - 外观 - - - - Standard font: - 标准字体: - - - - Times 16 - Times 16 - - - - Select... - 选择... - - - - Fixed-width font: - 等宽字体: - - - - Courier 13 - Courier 13 - - - - Privacy - 隐私 - - - - Web Content - Web内容 - - - - Enable Plugins - 启用插件 - - - - Enable Javascript - 启用JavaScript - - - - Cookies - Cookies - - - - Accept Cookies: - 接受cookies: - - - - Always - 永远 - - - - Never - 永不 - - - - Only from sites you navigate to - 只从这些你访问的 - - - - Exceptions... - 例外... - - - - Keep until: - 保存到: - - - - They expire - 过期 - - - - I exit the application - 我退出程序 - - - - At most 90 days - 最多90天 - - - - Cookies... - Cookies... - - - - Proxy - 代理 - - - - Enable proxy - 启用代理 - - - - Type: - 类型: - - - - Socks5 - Socks5 - - - - Http - Http - - - - Host: - 主机: - - - - Port: - 端口: - - - - User Name: - 用户名: - - - - Password: - 密码: - - - - Advanced - 高级 - - - - Style Sheet: - 样式表: - - - - Downloads - 下载 - - - - Ask for a destination each time - 每次都询问目的地 - - - - Use this destination: - 使用此目的地: - - - - TabBar - - - New &Tab - 新建标签(&T) - - - - Duplicate Tab - 复制标签 - - - - &Close Tab - 关闭标签(&C) - - - - Close &Other Tabs - 关闭其它标签(&O) - - - - Reload Tab - 重载标签 - - - - Reload All Tabs - 重新载入所有标签 - - - - TabWidget - - - New &Tab - 新建标签(&T) - - - - &Close Tab - 关闭标签(&C) - - - - Show Next Tab - 显示下一个标签 - - - - Show Previous Tab - 显示前一个标签 - - - - Recently Closed Tabs - 最近关闭的标签 - - - - (Untitled) - 无标题 - - - - Do you really want to close this page? - 您确定要关闭此页? - - - - You have modified this page and when closing it you would lose the -modification. -Do you really want to close this page? - - -您已经修改了页面,关闭将导致您的修改丢失。您确定要关闭此页吗? - - - - - ToolbarSearch - - - Google - Google - - - - No Recent Searches - 无最近的搜索 - - - - Recent Searches - 最近的搜索 - - - - Clear Recent Searches - 清除最近的搜索 - - - - WebPage - - - Error loading page: %1 - 载入页面: %1 发生错误 - - - - WebView - - - Open in New Tab - 在新标签中打开 - - - - Open in New &Window - 在新窗口中打开(&W) - - - - Open in New &Tab - 在新标签中打开(&T) - - - - Save Lin&k - 保存链接(&k) - - - - &Bookmark This Link - 添加此链接到书签(&B) - - - - &Copy Link Location - 复制链接(&C) - - - - Open Image in New &Window - 在新窗口中打开图片(&W) - - - - Open Image in New &Tab - 在新标签中打开图片(&T) - - - - &Save Image - 保存图片(&S) - - - - &Copy Image - 复制图片(&C) - - - - C&opy Image Location - 复制图片地址(&o) - - - - WebViewSearch - - - Not Found - 未发现 - - - - From 835b3b613e0af92a91af81774269c6aecb5dabbd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 30 Sep 2008 21:17:22 -0400 Subject: [PATCH 0223/1254] Update with the information for the tag --- AUTHORS | 5 ++++- ChangeLog | 29 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 3f9722ff..02b34d94 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,17 +1,20 @@ Benjamin C Meyer ben@meyerhome.net +Diego Iastrubni elcuco@kde.org Jason A. Donenfeld Jason@zx2c4.com Jakub Lu啪n媒 limoto94@gmail.com +Christian Franke cfchris6@ts2server.com Matvey Kozhev sikon@ubuntu.com -Diego Iastrubni elcuco@kde.org Ariya Hidayat ariya.hidayat@trolltech.com Josef Kufner jk@myserver.cz Adam Treat treat@kde.org Daniel Albuschat d.albuschat@gmail.com +cfchris6 cfchris6@buster.xtense.dyndns.org Vincenzo Reale smart2128@baslug.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org ABuus amb@lafnet.dk +Zack Rusin zack@kde.org Simon Hausmann simon@lst.de Marius Bugge Monsen mariusbu@pvv.org Gergely Nagy gergely.nagy@interware.co.hu diff --git a/ChangeLog b/ChangeLog index c9aa2e87..c19df177 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,33 @@ 0.4 +Interface +- New source viewer with search and syntax highlighting. +- Make middle click on bookmarks menus open the user in a new tab. +- Added the ability to change the language from the Help menu. +- Double left click location bar selects all of the text. +- Incorporate Jens Explorer style into Arora on Window for a better look and feel on XP and Vista. http://labs.trolltech.com/blogs/2007/06/08/explorer-style-toolbars/ +- Change the "icon" on the next/prev search for RTL desktops: next points to the right, and previous points to the right +- Various RightToLeft fixes for for Mozilla's bug https://bugzilla.mozilla.org/show_bug.cgi?id=219070 +- When the url scheme is https make the location bar background turn yellow. +- When the history is cleared also clear the recently closed tabs list +- Always populate the location bar with the completer +- Only shrink the toolbar icons on OS X. +- Only offset the search widget text when using Qt 4.5 +- When clicking on a bookmark in a folder in the toolbar emit the proper signals to the url is opened. +- When dropping text on the webpage load the url +- When the location bar has focus don't change the text. + +Behind the scenes +- Make a dedicated SingleApplication class +- Tweak HistoryManager API to be easier to read. +- Improvements to the code style to be more consistent +- Move the binaries for autotests and manual tests into the .gitignore in that directory rather then all in one file at the top. +- Update manualtest for the location bar now that the urllineedit class has become the new location bar class and add a new git hook to make sure manual tests build. + +Build system +- Move locale build instructions to its own pri file in the locale directory +- Correctly detect qt3's qmake on Debian +- Enhance support for building with WebKit trunk + 0.3 - With Qt 4.5 use movable tabs From 619b7e047c4eeb702fb76c9f94db1e1b3bc5f663 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 30 Sep 2008 21:40:16 -0400 Subject: [PATCH 0224/1254] Divided installer up into sections and added uninstaller after main components and icons but before msvc incase of crash/cancel. --- windowsinstaller.nsi | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/windowsinstaller.nsi b/windowsinstaller.nsi index 427d2bec..189c5b0e 100644 --- a/windowsinstaller.nsi +++ b/windowsinstaller.nsi @@ -30,20 +30,7 @@ InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show -Section -Icons - CreateShortCut "$SMPROGRAMS\Arora.lnk" "$INSTDIR\arora.exe" -SectionEnd - -Section -UninstallInfo - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\arora.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\arora.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" -SectionEnd - -Section "Main Components" SEC01 +Section "Main Components" KillProcDLL::KillProc "arora.exe" Sleep 100 SetOverwrite on @@ -76,7 +63,22 @@ Section "Main Components" SEC01 File "C:\qt-snapshot\plugins\codecs\qkrcodecs4.dll" File "C:\qt-snapshot\plugins\codecs\qjpcodecs4.dll" File "C:\qt-snapshot\plugins\codecs\qcncodecs4.dll" +SectionEnd +Section Icons + CreateShortCut "$SMPROGRAMS\Arora.lnk" "$INSTDIR\arora.exe" +SectionEnd + +Section Uninstaller + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\arora.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\arora.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" +SectionEnd + +Section MSVC InitPluginsDir SetOutPath $PLUGINSDIR File "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe" @@ -92,4 +94,5 @@ Section Uninstall DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SectionEnd + BrandingText "arora-browser.org" From d513e46daa3cc02ca46464cc6a7fc6709ff03b72 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 30 Sep 2008 22:59:42 -0400 Subject: [PATCH 0225/1254] WebKit trunk has been merged into the Qt snapshots, so now this API is part of Qt 405 --- src/webview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webview.cpp b/src/webview.cpp index c9f2af99..0d4e4b70 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -281,7 +281,7 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) menu->addAction(tr("C&opy Image Location"), this, SLOT(copyImageLocationToClipboard()))->setData(r.imageUrl().toString()); } -#ifdef WEBKIT_TRUNK // i.e. Qt 4.5, but not in Qt 4.5 yet +#if QT_VERSION >= 0x040500 if (menu->isEmpty()) menu = page()->createStandardContextMenu(); #endif From a7d1dfb0320f4b2cf7f63cdbf3143d514191aa46 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 30 Sep 2008 23:00:38 -0400 Subject: [PATCH 0226/1254] sed then sort to prevent dups --- generateAuthors | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generateAuthors b/generateAuthors index 396b1d74..be71b8cd 100755 --- a/generateAuthors +++ b/generateAuthors @@ -1 +1 @@ -git log --pretty="format:%an %ae" | sort | sed -e s/smart2128\ /Vincenzo\ Reale\ /g | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' +git log --pretty="format:%an %ae" | sed -e s/smart2128\ /Vincenzo\ Reale\ /g | sort | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' From 844d8d0d9c88c7008a4de6d0668503e86e0b4de7 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 1 Oct 2008 18:55:49 -0400 Subject: [PATCH 0227/1254] Update German translation from Farhad Shahbasi --- src/locale/de.ts | 591 ++++++++++++++++++++++++++++++----------------- 1 file changed, 373 insertions(+), 218 deletions(-) diff --git a/src/locale/de.ts b/src/locale/de.ts index eaae4b3e..b94fb7dc 100644 --- a/src/locale/de.ts +++ b/src/locale/de.ts @@ -1,5 +1,6 @@ - + + @@ -11,7 +12,7 @@ Arora l盲uft bereits. - + AboutDialog @@ -33,15 +34,6 @@ Lightweight WebKit-based web browser leichgewichtiger WebKit basierender Webbrowser - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - <a href="http://arora-browser.org">http://arora-browser.org</a> @@ -52,6 +44,15 @@ p, li { white-space: pre-wrap; } Close Schlie脽en + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + AddBookmarkDialog @@ -69,17 +70,17 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open 脰ffnen - + Delete L枚schen - + New Folder Neuer Ordner @@ -99,7 +100,7 @@ p, li { white-space: pre-wrap; } Ordner hinzuf眉gen - + Open in New Tab In einem neuen tab 枚ffnen @@ -110,7 +111,7 @@ p, li { white-space: pre-wrap; } Error when loading bookmarks on line %1, column %2: %3 - + @@ -194,7 +195,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Leszeichen @@ -202,112 +203,122 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? %1 Fenster und %2 Tabs sind ge枚ffnet Arora wirklich beenden? - + Restore failed - + Wiederherstellung fehlgeschlagen The saved session will not being restored because last time it was restored Arora crashed. + Die gespeicherte Sitzung wird nicht wiederhergestellt weil bei der letzten Wiederherstellung Arora abgest眉rzt ist. + + + + (Change: %1 %2) + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Die gespeicherte Sitzung wird nicht wiederhergestellt weil bei der letzten Wiederherstellung Arora abgest眉rzt ist. + BrowserMainWindow - + &File &Datei - + &New Window &Neues Fenster - + &Open File... &Datei 枚ffnen... - + Open &Location... &Adresse aufrufen... - + &Save As... &Speichern unter... - + &Import Bookmarks... &Lesezeichen importieren... - + &Export Bookmarks... &Lesezeichen exportieren... - + P&rint Preview... Druckvorschau - + &Print... &Drucken... - + Private &Browsing... Private &Browsing... - + &Quit Beenden - + &Edit &Bearbeiten - + &Undo &R眉ckg盲ngig - + &Redo &Wiederholen - + Cu&t &Ausschneiden - + &Copy &Kopieren - + &Paste &Einf眉gen - + &Find &Suchen @@ -327,32 +338,32 @@ Arora wirklich beenden? &Einstellungen - + Ctrl+, Strg+, - + &View &Ansicht - + Shift+Ctrl+B Shift+Strg+B - + Ctrl+| Strg+| - + Ctrl+/ Strg+/ - + &Stop &Stop @@ -377,123 +388,123 @@ Arora wirklich beenden? &Text verkleinern - + Page S&ource &Quelltext - + Ctrl+Alt+U Strg+Alt+U - + &Full Screen &Vollbild - + Hi&story &Verlauf - + Back Zur眉ck - + Forward Vorw盲rts - + Home Startseite - + Restore Last Session Letzte Sitzung wiederherstellen - + &Bookmarks &Lesezeichen - + Manage Bookmarks... Lesezeichen verwalten... - + Add Bookmark... Lesezeichen hinzuf眉gen... - + &Window &Fenster - + &Tools &Werkzeuge - + Web &Search Web &Suche - + Ctrl+K Web Search Strg+K - + Enable Web &Inspector Web Inspector aktivieren - + &Help &Hilfe - + About &Qt 脺ber &Qt - + About &Arora 脺ber &Arora - + Navigation Navigation - + Show Status Bar Statusleiste zeigen - + Hide Status Bar Statusleiste verbergen - + Show Toolbar Werkzeugleiste zeigen - + Hide Toolbar Werkzeugleiste verbergen @@ -508,75 +519,75 @@ Arora wirklich beenden? Lesezeichenleiste verbergen - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Webinhalte 枚ffnen - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webinhalte (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - + Print Document Dokument drucken - + Are you sure you want to turn on private browsing? Private Browsing wirklich aktivieren? - + Are you sure you want to close the window? There are %1 tabs open Soll das Fenster wirklich geschlossen werden? Es sind %1 Tabs ge枚ffnet Page Source of %1 - Quelltext von %1 + Quelltext von %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Der Web Inspector funktioniert nur auf neu geladenen Seiten. Sollen alle Seiten neu geladen werden? - + Stop loading the current page Ladevorgang abbrechen - + Reload the current page Seite aktualisieren - + Downloads Downloads - + Alt+Ctrl+L Download Manager Alt+Strg+L @@ -586,71 +597,91 @@ Sollen alle Seiten neu geladen werden? <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsph盲re betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Eintr盲ge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zur眉ck- und Vorw盲rtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. - + &Clear Private Data Private Daten l枚schen... - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsph盲re betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Eintr盲ge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zur眉ck- und Vorw盲rtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. Find &Next - + N盲chstes &Ergebnis - + Find P&revious - + Vorheriges &Ergebnis Prefe&rences - + &Einstellungen - + &Reload Page - + Seite aktualisieren - + Make Text &Bigger - + Text ver&gr枚脽ern - + Make Text &Normal - + &Normale Textgr枚脽e - + Make Text &Smaller - + Text ver&kleinern - + Show Bookmarks Bar - + Lesezeichenleiste zeigen - + Hide Bookmarks Bar - + Lesezeichenleiste verbergen + + + + Find Nex&t + N盲chstes &Ergebnis + + + + Prefere&nces... + &Einstellungen + + + + Show Menu Bar + Men眉leiste zeigen + + + + Switch application language + Sprache 盲ndern ClearButton - + Clear Leeren @@ -658,55 +689,60 @@ Sollen alle Seiten neu geladen werden? ClearPrivateData - + Clear Private Data Private Daten l枚schen... - + Clear the following items: Folgende Eintr盲ge l枚schen: - + &Browsing History &Seitenverlauf - + &Download History &Downloadverlauf - + &Search History &Suchverlauf - + &Cookies &Cookies C&ache - C&ache + C&ache - + Website &Icons &Webseiten Symbole - + Clear &Private Data &Private Daten l枚schen... - + &Cancel &Abbrechen + + + C&ached Web Pages + &Zwischengespeicherte Webseiten + CookieExceptionsModel @@ -718,7 +754,7 @@ Sollen alle Seiten neu geladen werden? Status - Status + Status @@ -735,6 +771,11 @@ Sollen alle Seiten neu geladen werden? Allow For Session F眉r diese Sitzung erlauben + + + Rule + Regel + CookieModel @@ -768,6 +809,16 @@ Sollen alle Seiten neu geladen werden? Contents Inhalte + + + true + wahr + + + + false + falsch + CookiesDialog @@ -852,6 +903,11 @@ Sollen alle Seiten neu geladen werden? 0 Items 0 Eintr盲ge + + + &OK + &OK + DownloadItem @@ -868,7 +924,7 @@ Sollen alle Seiten neu geladen werden? Error opening save file: %1 - Fehler beim 枚ffnen der gespeicherten Datei: %1 + Fehler beim 枚ffnen der gespeicherten Datei: %1 @@ -958,19 +1014,24 @@ Sollen alle Seiten neu geladen werden? - %n minutes remaining - - + + - noch %n Minute(n) - %n seconds remaining - - + + - noch %n Sekunden + + + Error opening output file: %1 + Fehler beim 枚ffnen der Ausgabedatei: %1 + DownloadManager @@ -985,10 +1046,10 @@ Sollen alle Seiten neu geladen werden? %1 Downloads - + %n Download(s) - - + + %n Download(s) @@ -996,17 +1057,17 @@ Sollen alle Seiten neu geladen werden? HistoryDialog - + Open 脰ffnen - + Copy Kopieren - + Delete L枚schen @@ -1029,25 +1090,35 @@ Sollen alle Seiten neu geladen werden? HistoryMenu - + Show All History Kompletten Verlauf zeigen - + Clear History Verlauf leeren + + + Clear History... + Verlauf leeren... + + + + Do you want to clear the history? + Soll der Verlauf geleert werden? + HistoryModel - + Title Titel - + Address Adresse @@ -1055,7 +1126,7 @@ Sollen alle Seiten neu geladen werden? HistoryTreeModel - + Earlier Today Heute @@ -1065,28 +1136,46 @@ Sollen alle Seiten neu geladen werden? %1 Eintr盲ge - + %n item(s) - - + + %n Eintr盲ge + + LanguageManager + + + System locale (%1) %2 + + + + + Choose language + Sprache w盲hlen + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + + + NetworkAccessManager - + <qt>Enter username and password for "%1" at %2</qt> - + <qt>Connect to proxy "%1" using:</qt> - + SSL Errors: %1 @@ -1103,7 +1192,7 @@ Do you want to ignore these errors? M枚chten Sie diese Fehler ignorieren? - + Do you want to accept all these certificates? Alle Zertifikate akzeptieren? @@ -1136,6 +1225,14 @@ M枚chten Sie diese Fehler ignorieren? Passwort: + + PlainTextEditSearch + + + Not Found + Nicht gefunden + + ProxyDialog @@ -1208,7 +1305,7 @@ M枚chten Sie diese Fehler ignorieren? SearchLineEdit - + Search Suche @@ -1218,7 +1315,7 @@ M枚chten Sie diese Fehler ignorieren? Settings - Einstellungen + Einstellungen @@ -1228,45 +1325,45 @@ M枚chten Sie diese Fehler ignorieren? Home: - Startseite: + Startseite: - + Set to current page Aktuelle Seite - + Remove history items: Verlauf Eintr盲ge l枚schen: - + After one day Nach einem Tag - + After one week Nach einer Woche - + After two weeks Nach zwei Wochen - + After one month Nach einem Monat - + After one year Nach einem Jahr - + Manually Manuell @@ -1275,157 +1372,157 @@ M枚chten Sie diese Fehler ignorieren? Downloads speichern nach: - + Open links from applications: Links von Programmen 枚ffnen in: - + In a tab in the current window in einem Tab im aktuellen Fenster - + In a new window In einem neuen Fenster - + Appearance Aussehen - + Fixed-width font: Schrift fester Breite: - + Privacy Privatsph盲re - + Web Content Webinhalt - + Enable Plugins Plugins aktivieren - + Enable Javascript Javascript aktivieren - + Cookies Cookies - + Accept Cookies: Cookies akzeptieren: - + Always Immer - + Never Nie - + Only from sites you navigate to Nur von besuchten Seiten - + Exceptions... Ausnahmen... Keep until: - Speichern bis: + Speichern bis: - + They expire die Cookies ablaufen - + I exit the application Ich beende das Programm - + At most 90 days Maximal 90 Tage - + Cookies... Cookies... - + Proxy Proxy Enable proxy - Proxy aktivieren + Proxy aktivieren - + Type: Typ: - + Socks5 Socks5 - + Http Http Host: - Host: + Host: - + Port: Port: - + User Name: Benutzername: - + Password: Passwort: - + Advanced Erweitert - + Style Sheet: Style Sheet: @@ -1446,84 +1543,137 @@ M枚chten Sie diese Fehler ignorieren? Serif - + Downloads Downloads - + Ask for a destination each time Jedes Mal nach Ziel fragen - + Use this destination: Hier speichern: - + Standard font: Standard Schriftart - + Times 16 Times 16 - + Select... Auswahl... - + Courier 13 Courier 13 - + Tabs Tabs - + Select tabs and windows as they are created Neue Tabs und Fenster anzeigen - + Confirm when closing multiple tabs Nachfragen wenn mehrere Tabs geschlossen werden Enable Images - Bilder anzeigen + Bilder anzeigen On startup: - + Beim Starten: Show my home page - + Meine Homepage zeigen Show a blank page - + Eine leere Seite zeigen Restore windows and tabs from last time - + Fenster und Tabs vom letzten Mal wiederherstellen - + On application exit - + + + + + Preferences + &Einstellungen + + + + Home Page: + Startseite: + + + + View Images + Bilder anzeigen + + + + Keep Cookies Until: + Cookies speichern bis: + + + + Use proxy server + Proxyserver verwenden + + + + Host name: + Hostname: + + + + SourceViewer + + + Loading... + Laden... + + + + &Edit + &Bearbeiten + + + + &Find + &Suchen + + + + Source of Page + Quelltext der Seite @@ -1577,55 +1727,60 @@ M枚chten Sie diese Fehler ignorieren? TabWidget - + New &Tab Neuer &Tab - + &Close Tab &Tab schlie脽en - + Show Next Tab N盲chster Tab - + Show Previous Tab Vorheriger Tab - + Recently Closed Tabs Zuletzt geschlossene Tabs (Untitled) - (Unbetitelt) + (Unbetitelt) - + Do you really want to close this page? Diese Seite wirklich schlie脽en? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Die Seite wurde modifiziert. Wenn die Seite geschlossen wird gehen die 脛nderungen verloren. Diese Seite wirklich schlie脽en? + + + Untitled + Namenlos + ToolbarSearch Google - Google + Google @@ -1646,7 +1801,7 @@ Diese Seite wirklich schlie脽en? WebPage - + Error loading page: %1 Fehler beim Laden von: %1 @@ -1654,65 +1809,65 @@ Diese Seite wirklich schlie脽en? WebView - + Open in New &Window In einem neuen &Fenster 枚ffnen - + Open in New &Tab In einem neuen &Tab 枚ffnen - + Save Lin&k Lin&k speichern - + &Bookmark This Link &Lesezeichen f眉r diesen Link setzen - + &Copy Link Location Linkadresse &kopieren - + Open Image in New &Window Bild in einem neuen &Fenster 枚ffnen - + Open Image in New &Tab Bild in einem neuen &Tab 枚ffnen - + &Save Image Bild &speichern - + &Copy Image Bild &kopieren - + C&opy Image Location Bildadresse &kopieren - + Loading... - + Laden... WebViewSearch - + Not Found Nicht gefunden From f53230f2fe494ee2856c2531c69c5e0741f925cd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 1 Oct 2008 18:57:30 -0400 Subject: [PATCH 0228/1254] Updated Russian translation from HighwayStar.ru --- src/locale/ru.ts | 1451 +++++++++++++++++++++------------------------- 1 file changed, 664 insertions(+), 787 deletions(-) diff --git a/src/locale/ru.ts b/src/locale/ru.ts index 125c2e66..ce85c786 100644 --- a/src/locale/ru.ts +++ b/src/locale/ru.ts @@ -1,916 +1,821 @@ - - - - - - Error - 袨褕懈斜泻邪 - - - Arora is already running. Exiting. - Arora 褍卸械 蟹邪锌褍褖械薪邪. 袙褘褏芯写懈屑. - - - + + + AboutDialog - About - 袨 锌褉芯谐褉邪屑屑械 + About + 袨 锌褉芯谐褉邪屑屑械 - Authors - + Authors + 袗胁褌芯褉褘 - License - + License + 袥懈褑械薪蟹懈褟 - Lightweight WebKit-based web browser - + Lightweight WebKit-based web browser + 袥械谐泻懈泄 斜褉邪褍蟹械褉 薪邪 WebKit - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + - <a href="http://arora-browser.org">http://arora-browser.org</a> - + <a href="http://arora-browser.org">http://arora-browser.org</a> + - Close - + Close + 袟邪泻褉褘褌褜 - - + + AddBookmarkDialog - Add Bookmark - 袛芯斜邪胁懈褌褜 蟹邪泻谢邪写泻褍 + Add Bookmark + 袛芯斜邪胁懈褌褜 蟹邪泻谢邪写泻褍 - Type a name for the bookmark, and choose where to keep it. - 袙胁械写懈褌械 懈屑褟 写谢褟 蟹邪泻谢邪写泻懈 懈 胁褘斜械褉懈褌械, 谐写械 褋芯褏褉邪薪懈褌褜 械褢. + Type a name for the bookmark, and choose where to keep it. + 袙胁械写懈褌械 懈屑褟 写谢褟 蟹邪泻谢邪写泻懈 懈 胁褘斜械褉懈褌械, 谐写械 褋芯褏褉邪薪懈褌褜 械褢. - - + + BookmarksDialog - Open - 袨褌泻褉褘褌褜 + Open + 袨褌泻褉褘褌褜 - Delete - 校写邪谢懈褌褜 + Delete + 校写邪谢懈褌褜 - New Folder - 袧芯胁邪褟 锌邪锌泻邪 + New Folder + 袧芯胁邪褟 锌邪锌泻邪 - Bookmarks - 袟邪泻谢邪写泻懈 + Bookmarks + 袟邪泻谢邪写泻懈 - &Remove - &校写邪谢懈褌褜 + &Remove + &校写邪谢懈褌褜 - Add Folder - 袛芯斜邪胁懈褌褜 锌邪锌泻褍 + Add Folder + 袛芯斜邪胁懈褌褜 锌邪锌泻褍 - Open in New Tab - 袨褌泻褉褘褌褜 胁 薪芯胁芯泄 胁泻谢邪写泻械 + Open in New Tab + 袨褌泻褉褘褌褜 胁 薪芯胁芯泄 胁泻谢邪写泻械 - - + + BookmarksManager - Error when loading bookmarks on line %1, column %2: + Error when loading bookmarks on line %1, column %2: %3 - 袨褕懈斜泻邪 锌褉懈 蟹邪谐褉褍蟹泻械 蟹邪泻谢邪写芯泻 薪邪 褋褌褉芯泻械 %1, 褋褌芯谢斜褑械 %2: + 袨褕懈斜泻邪 锌褉懈 蟹邪谐褉褍蟹泻械 蟹邪泻谢邪写芯泻 薪邪 褋褌褉芯泻械 %1, 褋褌芯谢斜褑械 %2: %3 - Toolbar Bookmarks - 袟邪泻谢邪写泻懈 锌邪薪械谢懈 懈薪褋褌褉褍屑械薪褌芯胁 + Toolbar Bookmarks + 袟邪泻谢邪写泻懈 锌邪薪械谢懈 懈薪褋褌褉褍屑械薪褌芯胁 - Menu - 袦械薪褞 + Menu + 袦械薪褞 - Open File - 袨褌泻褉褘褌褜 褎邪泄谢 + Open File + 袨褌泻褉褘褌褜 褎邪泄谢 - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) - Imported %1 - 袠屑锌芯褉褌懈褉芯胁邪薪芯 %1 + Imported %1 + 袠屑锌芯褉褌懈褉芯胁邪薪芯 %1 - Save File - 小芯褏褉邪薪懈褌褜 褎邪泄谢 + Save File + 小芯褏褉邪薪懈褌褜 褎邪泄谢 - %1 Bookmarks.xbel - %1 Bookmarks.xbel + %1 Bookmarks.xbel + %1 Bookmarks.xbel - Export error - 袨褕懈斜泻邪 褝泻褋锌芯褉褌邪 + Export error + 袨褕懈斜泻邪 褝泻褋锌芯褉褌邪 - error saving bookmarks - 芯褕懈斜泻邪 褋芯褏褉邪薪械薪懈褟 蟹邪泻谢邪写芯泻 + error saving bookmarks + 芯褕懈斜泻邪 褋芯褏褉邪薪械薪懈褟 蟹邪泻谢邪写芯泻 - Remove Bookmark - 校写邪谢懈褌褜 蟹邪泻谢邪写泻褍 + Remove Bookmark + 校写邪谢懈褌褜 蟹邪泻谢邪写泻褍 - Insert Bookmark - 袛芯斜邪胁懈褌褜 蟹邪泻谢邪写泻褍 + Insert Bookmark + 袛芯斜邪胁懈褌褜 蟹邪泻谢邪写泻褍 - Name Change - 袠蟹屑械薪械薪懈械 懈屑械薪懈 + Name Change + 袠蟹屑械薪械薪懈械 懈屑械薪懈 - Address Change - 袠蟹屑械薪械薪懈械 邪写褉械褋邪 + Address Change + 袠蟹屑械薪械薪懈械 邪写褉械褋邪 - - + + BookmarksModel - Title - 袧邪蟹胁邪薪懈械 + Title + 袧邪蟹胁邪薪懈械 - Address - 袗写褉械褋 + Address + 袗写褉械褋 - - + + BookmarksToolBar - Bookmark - 袟邪泻谢邪写泻邪 + Bookmark + 袟邪泻谢邪写泻邪 - - + + BrowserApplication - There are %1 windows and %2 tabs open + There are %1 windows and %2 tabs open Do you want to quit anyway? - 袨褌泻褉褘褌芯 %1 芯泻芯薪 懈 %2 胁泻谢邪写芯泻 + 袨褌泻褉褘褌芯 %1 芯泻芯薪 懈 %2 胁泻谢邪写芯泻 袙褘 胁褋褢 褉邪胁薪芯 褏芯褌懈褌械 胁褘泄褌懈? - Restore failed - + Restore failed + 袙芯褋褋褌邪薪芯胁谢械薪懈械 薪械 褍写邪谢芯褋褜 - The saved session will not being restored because last time it was restored Arora crashed. - + The saved session will not being restored because last time it was restored Arora crashed. + 小芯褏褉邪薪械薪薪邪褟 褋械褋褋懈褟 薪械 斜褍写械褌 胁芯褋褋褌邪薪芯胁谢械薪邪 锌芯褌芯屑褍 褔褌芯 胁芯 胁褉械屑褟 锌芯褋谢械写薪械谐芯 胁芯褋褋褌邪薪芯胁谢械薪懈褟 Arora 褍锌邪谢. - - + + BrowserMainWindow - &File - &肖邪泄谢 - - - &New Window - &袧芯胁芯械 芯泻薪芯 - - - &Open File... - &袨褌泻褉褘褌褜 褎邪泄谢... - - - Open &Location... - 袨褌泻褉褘褌褜 &邪写褉械褋... - - - &Save As... - &小芯褏褉邪薪懈褌褜 泻邪泻... - - - &Import Bookmarks... - &袠屑锌芯褉褌懈褉芯胁邪褌褜 蟹邪泻谢邪写泻懈... - - - &Export Bookmarks... - &协泻褋锌芯褉褌懈褉芯胁邪褌褜 蟹邪泻谢邪写泻懈... - - - P&rint Preview... - &袩褉械写锌褉芯褋屑芯褌褉... - - - &Print... - 袩械&褔邪褌褜... - - - Private &Browsing... - 袪械卸懈屑 &泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈... - - - &Quit - 袙&褘褏芯写... + &File + &肖邪泄谢 - &Edit - &袩褉邪胁泻邪 + &New Window + &袧芯胁芯械 芯泻薪芯 - &Undo - &袨褌屑械薪懈褌褜 + &Open File... + &袨褌泻褉褘褌褜 褎邪泄谢... - &Redo - &袩芯胁褌芯褉懈褌褜 + Open &Location... + 袨褌泻褉褘褌褜 &邪写褉械褋... - Cu&t - &袙褘褉械蟹邪褌褜 + &Save As... + &小芯褏褉邪薪懈褌褜 泻邪泻... - &Copy - &袣芯锌懈褉芯胁邪褌褜 + &Import Bookmarks... + &袠屑锌芯褉褌懈褉芯胁邪褌褜 蟹邪泻谢邪写泻懈... - &Paste - 袙&褋褌邪胁懈褌褜 + &Export Bookmarks... + &协泻褋锌芯褉褌懈褉芯胁邪褌褜 蟹邪泻谢邪写泻懈... - &Find - &袧邪泄褌懈 + P&rint Preview... + &袩褉械写锌褉芯褋屑芯褌褉... - &Find Next - 袧邪泄褌懈 &写邪谢械械 + &Print... + 袩械&褔邪褌褜... - &Find Previous - 袧邪泄褌懈 锌褉械写&褘写褍褖械械 + Private &Browsing... + 袪械卸懈屑 &泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈... - &Preferences - &袩邪褉邪屑械褌褉褘 + &Quit + 袙&褘褏芯写... - Ctrl+, - Ctrl+, + &Edit + &袩褉邪胁泻邪 - &View - &袙懈写 + &Undo + &袨褌屑械薪懈褌褜 - Shift+Ctrl+B - Shift+Ctrl+B + &Redo + &袩芯胁褌芯褉懈褌褜 - Ctrl+| - Ctrl+| + Cu&t + &袙褘褉械蟹邪褌褜 - Ctrl+/ - Ctrl+/ + &Copy + &袣芯锌懈褉芯胁邪褌褜 - &Stop - &袨褋褌邪薪芯胁懈褌褜 + &Paste + 袙&褋褌邪胁懈褌褜 - Reload Page - 袨斜薪芯胁懈褌褜 褋褌褉邪薪懈褑褍 + &Find + &袧邪泄褌懈 - &Make Text Bigger - 校&胁械谢懈褔懈褌褜 + Ctrl+, + Ctrl+, - &Make Text Normal - &袠褋褏芯写薪褘泄 褉邪蟹屑械褉 + &View + &袙懈写 - &Make Text Smaller - 校&屑械薪褜褕懈褌褜 + Shift+Ctrl+B + Shift+Ctrl+B - Page S&ource - 袠褋褏芯写薪褘泄 &泻芯写 褋褌褉邪薪懈褑褘 + Ctrl+| + Ctrl+| - Ctrl+Alt+U - Ctrl+Alt+U + Ctrl+/ + Ctrl+/ - &Full Screen - 袙芯 胁械褋褜 &褝泻褉邪薪 + &Stop + &袨褋褌邪薪芯胁懈褌褜 - Hi&story - &袞褍褉薪邪谢 + Page S&ource + 袠褋褏芯写薪褘泄 &泻芯写 褋褌褉邪薪懈褑褘 - Back - 袧邪蟹邪写 + Ctrl+Alt+U + Ctrl+Alt+U - Forward - 袙锌械褉褢写 + &Full Screen + 袙芯 胁械褋褜 &褝泻褉邪薪 - Home - 袛芯屑邪褕薪褟褟 褋褌褉邪薪懈褑邪 + Hi&story + &袞褍褉薪邪谢 - Restore Last Session - 袙芯褋褋褌邪薪邪胁谢懈胁邪褌褜 锌褉械写褘写褍褖懈泄 褋械邪薪褋 + Back + 袧邪蟹邪写 - &Bookmarks - &袟邪泻谢邪写泻懈 + Forward + 袙锌械褉褢写 - Manage Bookmarks... - 校锌褉邪胁谢械薪懈械 蟹邪泻谢邪写泻邪屑懈... + Home + 袛芯屑邪褕薪褟褟 褋褌褉邪薪懈褑邪 - Add Bookmark... - 袛芯斜邪胁懈褌褜 蟹邪泻谢邪写泻褍... + Restore Last Session + 袙芯褋褋褌邪薪邪胁谢懈胁邪褌褜 锌褉械写褘写褍褖懈泄 褋械邪薪褋 - &Window - &袨泻薪芯 + &Bookmarks + &袟邪泻谢邪写泻懈 - &Tools - &袠薪褋褌褉褍屑械薪褌褘 + Manage Bookmarks... + 校锌褉邪胁谢械薪懈械 蟹邪泻谢邪写泻邪屑懈... - Web &Search - &袩芯懈褋泻 胁 袠薪褌械褉薪械褌械 + Add Bookmark... + 袛芯斜邪胁懈褌褜 蟹邪泻谢邪写泻褍... - Ctrl+K - Web Search - Ctrl+K + &Window + &袨泻薪芯 - Enable Web &Inspector - 袙泻谢褞褔懈褌褜 Web &Inspector + &Tools + &袠薪褋褌褉褍屑械薪褌褘 - &Help - &小锌褉邪胁泻邪 + Web &Search + &袩芯懈褋泻 胁 袠薪褌械褉薪械褌械 - About &Qt - 袨 &Qt + Ctrl+K + Web Search + Ctrl+K - About &Arora - 袨 锌褉芯谐褉邪屑屑械 &Arora + Enable Web &Inspector + 袙泻谢褞褔懈褌褜 Web &Inspector - Navigation - 薪邪胁懈谐邪褑懈褟 + &Help + &小锌褉邪胁泻邪 - Show Status Bar - 袩芯泻邪蟹邪褌褜 褋褌褉芯泻褍 褋芯褋褌芯褟薪懈褟 + About &Qt + 袨 &Qt - Hide Status Bar - 小泻褉褘褌褜 褋褌褉芯泻褍 褋芯褋褌芯褟薪懈褟 + About &Arora + 袨 锌褉芯谐褉邪屑屑械 &Arora - Show Toolbar - 袩芯泻邪蟹邪褌褜 锌邪薪械谢褜 懈薪褋褌褉褍屑械薪褌芯胁 + Navigation + 薪邪胁懈谐邪褑懈褟 - Hide Toolbar - 小泻褉褘褌褜 锌邪薪械谢褜 懈薪褋褌褉褍屑械薪褌芯胁 + Show Status Bar + 袩芯泻邪蟹邪褌褜 褋褌褉芯泻褍 褋芯褋褌芯褟薪懈褟 - Show Bookmarks bar - 袩芯泻邪蟹邪褌褜 锌邪薪械谢褜 蟹邪泻谢邪写芯泻 + Hide Status Bar + 小泻褉褘褌褜 褋褌褉芯泻褍 褋芯褋褌芯褟薪懈褟 - Hide Bookmarks bar - 小泻褉褘褌褜 锌邪薪械谢褜 蟹邪泻谢邪写芯泻 + Show Toolbar + 袩芯泻邪蟹邪褌褜 锌邪薪械谢褜 懈薪褋褌褉褍屑械薪褌芯胁 - Arora - Arora + Hide Toolbar + 小泻褉褘褌褜 锌邪薪械谢褜 懈薪褋褌褉褍屑械薪褌芯胁 - %1 - Arora - Page title and Browser name - %1 - Arora + Arora + Arora - About - 袨 锌褉芯谐褉邪屑屑械 + %1 - Arora + Page title and Browser name + %1 - Arora - Open Web Resource - 袨褌泻褉褘褌褜 胁械斜-褉械褋褍褉褋 + Open Web Resource + 袨褌泻褉褘褌褜 胁械斜-褉械褋褍褉褋 - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - 袙械斜-褉械褋褍褉褋褘 (*.html *.htm *.svg *.png *.gif *.svgz);;袙褋械 褎邪泄谢褘 (*.*) + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + 袙械斜-褉械褋褍褉褋褘 (*.html *.htm *.svg *.png *.gif *.svgz);;袙褋械 褎邪泄谢褘 (*.*) - Print Document - 袩械褔邪褌褜 写芯泻褍屑械薪褌邪 + Print Document + 袩械褔邪褌褜 写芯泻褍屑械薪褌邪 - Are you sure you want to turn on private browsing? - 袙褘 褍胁械褉械薪褘, 褔褌芯 褏芯褌懈褌械 胁泻谢褞褔懈褌褜 褉械卸懈屑 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈? + Are you sure you want to turn on private browsing? + 袙褘 褍胁械褉械薪褘, 褔褌芯 褏芯褌懈褌械 胁泻谢褞褔懈褌褜 褉械卸懈屑 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈? - <b>%1</b><br><br>When private browsing in turned on, webpages are not added to the history, items are automatically removed from the Downloads window, new cookies are not stored, current cookies can't be accessed, site icons wont be stored, session wont be saved, and searches are not addded to the pop-up menu in the Google search box. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>袙 褉械卸懈屑械 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈 锌芯褋械褖褢薪薪褘械 胁械斜-褋褌褉邪薪懈褑褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 卸褍褉薪邪谢, 褎邪泄谢褘 邪胁褌芯屑邪褌懈褔械褋泻懈 褍写邪谢褟褞褌褋褟 懈蟹 芯泻薪邪 蟹邪谐褉褍蟹芯泻, 薪芯胁褘械 cookies are 薪械 褋芯褏褉邪薪褟褞褌褋褟, 褌械泻褍褖懈械 cookies 薪械写芯褋褌褍锌薪褘, 蟹薪邪褔泻懈 褋邪泄褌芯胁 懈 褋械邪薪褋褘 薪械 褋芯褏褉邪薪褟褞褌褋褟, 懈 锌芯懈褋泻芯胁褘械 蟹邪锌褉芯褋褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 锌芯谢械 锌芯懈褋泻邪 Google. 袩芯泻邪 胁褘 薪械 蟹邪泻褉芯械褌械 芯泻薪芯, 胁褘 胁褋褢 械褖褢 屑芯卸械褌械 薪邪卸懈屑邪褌褜 泻薪芯锌泻懈 袧邪蟹邪写 懈 袙锌械褉褢写 写谢褟 胁芯蟹胁褉邪褌邪 泻 褍卸械 锌芯褋械褖褢薪薪褘屑 褋褌褉邪薪懈褑邪屑. + Are you sure you want to close the window? There are %1 tabs open + 袙褘 褍胁械褉械薪褘, 褔褌芯 褏芯褌懈褌械 蟹邪泻褉褘褌褜 芯泻薪芯? 袨褌泻褉褘褌褘 %1 胁泻谢邪写芯泻 - Are you sure you want to close the window? There are %1 tabs open - 袙褘 褍胁械褉械薪褘, 褔褌芯 褏芯褌懈褌械 蟹邪泻褉褘褌褜 芯泻薪芯? 袨褌泻褉褘褌褘 %1 胁泻谢邪写芯泻 + Page Source of %1 + 袠褋褏芯写薪褘泄 泻芯写 褋褌褉邪薪懈褑褘 %1 - Page Source of %1 - 袠褋褏芯写薪褘泄 泻芯写 褋褌褉邪薪懈褑褘 %1 + Web Inspector + Web Inspector - Web Inspector - Web Inspector - - - The web inspector will only work correctly for pages that were loaded after enabling. + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - Web Inspector 斜褍写械褌 锌褉邪胁懈谢褜薪芯 褉邪斜芯褌邪褌褜 褌芯谢褜泻芯 写谢褟 褋褌褉邪薪懈褑, 写芯斜邪胁谢械薪薪褘褏 锌芯褋谢械 械谐芯 胁泻谢褞褔械薪懈褟. + Web Inspector 斜褍写械褌 锌褉邪胁懈谢褜薪芯 褉邪斜芯褌邪褌褜 褌芯谢褜泻芯 写谢褟 褋褌褉邪薪懈褑, 写芯斜邪胁谢械薪薪褘褏 锌芯褋谢械 械谐芯 胁泻谢褞褔械薪懈褟. 袞械谢邪械褌械 谢懈 胁褘 芯斜薪芯胁懈褌褜 胁褋械 褋褌褉邪薪懈褑褘? - Stop loading the current page - 袨褋褌邪薪芯胁懈褌褜 蟹邪谐褉褍蟹泻褍 褌械泻褍褖械泄 褋褌褉邪薪懈褑褘 - - - Reload the current page - 袩械褉械蟹邪谐褉褍蟹懈褌褜 褌械泻褍褖褍褞 褋褌褉邪薪懈褑褍 + Stop loading the current page + 袨褋褌邪薪芯胁懈褌褜 蟹邪谐褉褍蟹泻褍 褌械泻褍褖械泄 褋褌褉邪薪懈褑褘 - Downloads - 袟邪谐褉褍蟹泻懈 + Reload the current page + 袩械褉械蟹邪谐褉褍蟹懈褌褜 褌械泻褍褖褍褞 褋褌褉邪薪懈褑褍 - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L + Downloads + 袟邪谐褉褍蟹泻懈 - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. - <b>%1</b><br><br>袙 褉械卸懈屑械 泻芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌懈 芯褌泻谢褞褔邪褞褌褋褟 薪械泻芯褌芯褉褘械 写械泄褋褌胁懈褟, 褋胁褟蟹邪薪薪褘械 褋 胁邪褕械泄 邪薪芯薪懈屑薪芯褋褌褜褞:<ul><li> 袙械斜-褋褌褉邪薪懈褑褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 卸褍褉薪邪谢.</li><li> 肖邪泄谢褘 邪胁褌芯屑邪褌懈褔械褋泻懈 褍写邪谢褟褞褌褋褟 懈蟹 芯泻薪邪 蟹邪谐褉褍蟹芯泻.</li><li> 袧芯胁褘械 cookies 薪械 褋芯褏褉邪薪褟褞褌褋褟, 褌械泻褍褖懈械 cookies 薪械写芯褋褌褍锌薪褘.</li><li> 袟薪邪褔泻懈 褋邪泄褌芯胁 懈 褋械邪薪褋褘 薪械 褋芯褏褉邪薪褟褞褌褋褟.</li><li> 袩芯懈褋泻芯胁褘械 蟹邪锌褉芯褋褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 锌芯谢械 锌芯懈褋泻邪.</li></ul> 袩芯泻邪 胁褘 薪械 蟹邪泻褉芯械褌械 芯泻薪芯, 胁褘 胁褋褢 械褖褢 屑芯卸械褌械 薪邪卸懈屑邪褌褜 泻薪芯锌泻懈 袧邪蟹邪写 懈 袙锌械褉褢写 写谢褟 胁芯蟹胁褉邪褌邪 泻 褍卸械 锌芯褋械褖褢薪薪褘屑 褋褌褉邪薪懈褑邪屑. + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L - &Clear Private Data - &袨褔懈褋褌懈褌褜 谢懈褔薪褘械 写邪薪薪褘械 + &Clear Private Data + &袨褔懈褋褌懈褌褜 谢懈褔薪褘械 写邪薪薪褘械 - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete - Find &Next - + Find &Next + 袧邪泄褌懈 &小谢械写褍褞褖械械 - Find P&revious - + Find P&revious + 袧邪泄褌懈 &袩褉械写褘写褍褖械械 - Prefe&rences - + Prefe&rences + &袧邪褋褌褉芯泄泻懈 - &Reload Page - + &Reload Page + 袨斜&薪芯胁懈褌褜 - Make Text &Bigger - + Make Text &Bigger + &校胁械谢懈褔械薪薪褘泄 袪邪蟹屑械褉 孝械泻褋褌邪 - Make Text &Normal - + Make Text &Normal + &袧芯褉屑邪谢褜薪褘泄 袪邪蟹屑械褉 孝械泻褋褌邪 - Make Text &Smaller - + Make Text &Smaller + 袦邪谢械薪褜泻懈泄 袪邪蟹屑械褉 孝械泻褋褌邪 - Show Bookmarks Bar - + Show Bookmarks Bar + 袩芯泻邪蟹邪褌褜 袩邪薪械谢褜 袟邪泻谢邪写芯泻 - Hide Bookmarks Bar - + Hide Bookmarks Bar + 小泻褉褘褌褜 袩邪薪械谢褜 袟邪泻谢邪写芯泻 - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>袣芯谐写邪 胁泻谢褞褔械薪 褉械卸懈屑 锌褉懈胁邪褌薪芯谐芯 斜褉邪褍蟹懈薪谐邪, 薪械泻芯褌芯褉褘械 写械泄褋褌胁懈褟 褍谐褉芯卸邪褞褖懈械 斜械蟹芯锌邪褋薪芯褋褌懈 斜褍写褍褌 薪械写芯褋褌褍锌薪褘:<ul><li> 袙械斜褋褌褉邪薪懈褑褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁 卸褍褉薪邪谢.</li><li> 袟邪锌懈褋懈 邪胁褌芯屑邪褌懈褔械褋泻懈 褍写邪谢褟褞褌褋褟 懈蟹 褋锌懈褋泻邪 蟹邪泻邪褔械泻.</li><li> 袧芯胁褘械 cookie 薪械 褋芯褉邪薪褟褞褌褋褟, 褋褌邪褉褘械 cockie 薪械 写芯褋褌褍锌薪褘.</li><li> 袠泻芯薪泻懈 褋邪泄褌芯胁 薪械 褋芯褏褉邪薪褟褞褌褋褟, 褋械褋褋懈懈 薪械 褋芯褏褉邪薪褟褞褌褋褟.</li><li> 袩芯懈褋泻芯胁褘械 蟹邪锌褉芯褋褘 薪械 写芯斜邪胁谢褟褞褌褋褟 胁芯 胁褋锌谢褘胁邪褞褖械械 芯泻薪芯 锌褉懈 薪芯胁芯屑 蟹邪锌褉芯褋械.</li></ul>袩芯泻邪 胁褘 薪械 蟹邪泻褉芯械褌械 芯泻薪芯 胁褘 薪械 褋屑芯卸械褌械 胁芯褋锌芯谢褜蟹芯胁邪褌褜褋褟 泻薪芯锌泻邪屑懈 袙锌械褉械写 懈 袧邪蟹邪写 写谢褟 锌械褉械褏芯写邪 薪邪 褉邪薪械械 芯褌泻褉褘褌褘械 褋褌褉邪薪懈褑褘. - - + + ClearButton - Clear - 袨褔懈褋褌懈褌褜 + Clear + 袨褔懈褋褌懈褌褜 - - + + ClearPrivateData - Clear Private Data - 袨褔懈褋褌懈褌褜 谢懈褔薪褘械 写邪薪薪褘械 + Clear Private Data + 袨褔懈褋褌懈褌褜 谢懈褔薪褘械 写邪薪薪褘械 - Clear the following items: - 袨褔懈褋褌懈褌褜 褋谢械写褍褞褖懈械 褝谢械屑械薪褌褘: + Clear the following items: + 袨褔懈褋褌懈褌褜 褋谢械写褍褞褖懈械 褝谢械屑械薪褌褘: - &Browsing History - 袞褍褉薪邪谢 &锌芯褋械褖械薪懈泄 + &Browsing History + 袞褍褉薪邪谢 &锌芯褋械褖械薪懈泄 - &Download History - 袞褍褉薪邪谢 &蟹邪谐褉褍蟹芯泻 + &Download History + 袞褍褉薪邪谢 &蟹邪谐褉褍蟹芯泻 - &Search History - 袠褋褌芯褉懈褞 &锌芯懈褋泻邪 + &Search History + 袠褋褌芯褉懈褞 &锌芯懈褋泻邪 - &Cookies - &Cookies + &Cookies + &Cookies - C&ache - &袣褝褕 + C&ache + &袣褝褕 - Website &Icons - 袟&薪邪褔泻懈 胁械斜-褋邪泄褌芯胁 + Website &Icons + 袟&薪邪褔泻懈 胁械斜-褋邪泄褌芯胁 - Clear &Private Data - 袨褔懈褋褌懈褌褜 &谢懈褔薪褘械 写邪薪薪褘械 + Clear &Private Data + 袨褔懈褋褌懈褌褜 &谢懈褔薪褘械 写邪薪薪褘械 - &Cancel - &袨褌屑械薪邪 + &Cancel + &袨褌屑械薪邪 - - + + CookieExceptionsModel - Website - 袙械斜-褋邪泄褌 + Website + 袙械斜-褋邪泄褌 - Status - 小褌邪褌褍褋 + Status + 小褌邪褌褍褋 - Allow - 袪邪蟹褉械褕懈褌褜 + Allow + 袪邪蟹褉械褕懈褌褜 - Block - 袘谢芯泻懈褉芯胁邪褌褜 + Block + 袘谢芯泻懈褉芯胁邪褌褜 - Allow For Session - 袪邪蟹褉械褕懈褌褜 薪邪 胁褉械屑褟 褋械邪薪褋邪 + Allow For Session + 袪邪蟹褉械褕懈褌褜 薪邪 胁褉械屑褟 褋械邪薪褋邪 - - + + CookieModel - Website - 袙械斜-褋邪泄褌 + Website + 袙械斜-褋邪泄褌 - Name - 袠屑褟 + Name + 袠屑褟 - Path - 袩褍褌褜 + Path + 袩褍褌褜 - Secure - 袘械蟹芯锌邪褋薪芯褋褌褜 + Secure + 袘械蟹芯锌邪褋薪芯褋褌褜 - Expires - 袠褋褌械泻邪械褌 + Expires + 袠褋褌械泻邪械褌 - Contents - 小芯写械褉卸懈屑芯械 + Contents + 小芯写械褉卸懈屑芯械 - - + + CookiesDialog - Cookies - Cookies + Cookies + Cookies - &Remove - &校写邪谢懈褌褜 + &Remove + &校写邪谢懈褌褜 - Remove &All Cookies - 校写邪谢懈褌褜 &胁褋械 cookies + Remove &All Cookies + 校写邪谢懈褌褜 &胁褋械 cookies - - + + CookiesExceptionsDialog - Cookie Exceptions - 袠褋泻谢褞褔械薪懈褟 cookies + Cookie Exceptions + 袠褋泻谢褞褔械薪懈褟 cookies - New Exception - 袧芯胁芯械 懈褋泻谢褞褔械薪懈械 + New Exception + 袧芯胁芯械 懈褋泻谢褞褔械薪懈械 - Domain: - 袛芯屑械薪 + Domain: + 袛芯屑械薪 - Block - 袘谢芯泻懈褉芯胁邪褌褜 + Block + 袘谢芯泻懈褉芯胁邪褌褜 - Allow For Session - 袪邪蟹褉械褕懈褌褜 薪邪 胁褉械屑褟 褋械邪薪褋邪 + Allow For Session + 袪邪蟹褉械褕懈褌褜 薪邪 胁褉械屑褟 褋械邪薪褋邪 - Allow - 袪邪蟹褉械褕懈褌褜 + Allow + 袪邪蟹褉械褕懈褌褜 - Exceptions - 袠褋泻谢褞褔械薪懈褟 + Exceptions + 袠褋泻谢褞褔械薪懈褟 - &Remove - &校写邪谢懈褌褜 + &Remove + &校写邪谢懈褌褜 - Remove &All - 校写邪谢懈褌褜 &胁褋械 + Remove &All + 校写邪谢懈褌褜 &胁褋械 - - + + DownloadDialog - Downloads - 袟邪谐褉褍蟹泻懈 + Downloads + 袟邪谐褉褍蟹泻懈 - Clean up - 袨褔懈褋褌懈褌褜 + Clean up + 袨褔懈褋褌懈褌褜 - 0 Items - 0 褝谢械屑械薪褌芯胁 + 0 Items + 0 褝谢械屑械薪褌芯胁 - - + + DownloadItem - Save File - 小芯褏褉邪薪懈褌褜 褎邪泄谢 + Save File + 小芯褏褉邪薪懈褌褜 褎邪泄谢 - Download canceled: %1 - 袟邪谐褉褍蟹泻邪 芯褌屑械薪械薪邪: %1 + Download canceled: %1 + 袟邪谐褉褍蟹泻邪 芯褌屑械薪械薪邪: %1 - Error opening save file: %1 - 袨褕懈斜泻邪 锌褉懈 芯褌泻褉褘褌懈懈 褋芯褏褉邪薪褢薪薪芯谐芯 褎邪泄谢邪: %1 + Error opening save file: %1 + 袨褕懈斜泻邪 锌褉懈 芯褌泻褉褘褌懈懈 褋芯褏褉邪薪褢薪薪芯谐芯 褎邪泄谢邪: %1 - Error saving: %1 - 袨褕懈斜泻邪 锌褉懈 褋芯褏褉邪薪械薪懈懈: %1 + Error saving: %1 + 袨褕懈斜泻邪 锌褉懈 褋芯褏褉邪薪械薪懈懈: %1 - Network Error: %1 - 袨褕懈斜泻邪 褋械褌懈: %1 + Network Error: %1 + 袨褕懈斜泻邪 褋械褌懈: %1 - seconds - 褋械泻褍薪写 + seconds + 褋械泻褍薪写 - minutes - 屑懈薪褍褌 + %1 of %2 (%3/sec) %4 + %1 懈蟹 %2 (%3/褋械泻) %4 - - %4 %5 remaining - - %4 %5 芯褋褌邪谢芯褋褜 + ? + ? - %1 of %2 (%3/sec) %4 - %1 懈蟹 %2 (%3/褋械泻) %4 + %1 of %2 - Stopped + %1 of %2 - 袨褋褌邪薪芯胁谢械薪芯 - ? - ? + bytes + 斜邪泄褌 - %1 of %2 - Stopped - %1 of %2 - 袨褋褌邪薪芯胁谢械薪芯 + kB + 泻袘 - bytes - 斜邪泄褌 + MB + 袦袘 - kB - 泻袘 + Form + 肖芯褉屑邪 - MB - 袦袘 + Ico + Ico - Form - 肖芯褉屑邪 + Filename + 袠屑褟 褎邪泄谢邪 - Ico - Ico + Try Again + 袩芯胁褌芯褉懈褌褜 锌芯锌褘褌泻褍 - Filename - 袠屑褟 褎邪泄谢邪 + Stop + 袨褋褌邪薪芯胁懈褌褜 - Try Again - 袩芯胁褌芯褉懈褌褜 锌芯锌褘褌泻褍 + Open + 袨褌泻褉褘褌褜 - Stop - 袨褋褌邪薪芯胁懈褌褜 + - %n minutes remaining + - %n 屑懈薪褍褌 芯褋褌邪谢芯褋褜 - Open - 袨褌泻褉褘褌褜 - - - - %n minutes remaining - - - - - - - - - %n seconds remaining - - - - - + - %n seconds remaining + - %n 褋械泻褍薪写 芯褋褌邪谢芯褋褜 - - + + DownloadManager - 1 Download - 1 蟹邪谐褉褍蟹泻邪 + %n Download(s) + %n 袟邪泻邪褔械泻 - - %1 Downloads - %1 蟹邪谐褉褍蟹芯泻 - - - %n Download(s) - - - - - - - - + + HistoryDialog - Open - 袨褌泻褉褘褌褜 + Open + 袨褌泻褉褘褌褜 - Copy - 袣芯锌懈褉芯胁邪褌褜 + Copy + 袣芯锌懈褉芯胁邪褌褜 - Delete - 校写邪谢懈褌褜 + Delete + 校写邪谢懈褌褜 - History - 袞褍褉薪邪谢 + History + 袞褍褉薪邪谢 - &Remove - &校写邪谢懈褌褜 + &Remove + &校写邪谢懈褌褜 - Remove &All - 校写邪谢懈褌褜 &胁褋械 + Remove &All + 校写邪谢懈褌褜 &胁褋械 - - + + HistoryMenu - Show All History - 袩芯泻邪蟹邪褌褜 胁械褋褜 卸褍褉薪邪谢 + Show All History + 袩芯泻邪蟹邪褌褜 胁械褋褜 卸褍褉薪邪谢 - Clear History - 袨褔懈褋褌懈褌褜 卸褍褉薪邪谢 + Clear History + 袨褔懈褋褌懈褌褜 卸褍褉薪邪谢 - - + + HistoryModel - Title - 袧邪蟹胁邪薪懈械 + Title + 袧邪蟹胁邪薪懈械 - Address - 袗写褉械褋 + Address + 袗写褉械褋 - - + + HistoryTreeModel - Earlier Today - 袪邪薪械械 褋械谐芯写薪褟 + Earlier Today + 袪邪薪械械 褋械谐芯写薪褟 - %1 items - %1 褝谢械屑械薪褌芯胁 + %n item(s) + %n 蟹邪锌懈褋褜(械泄) - - %n item(s) - - - - - - - - + + NetworkAccessManager - <qt>Enter username and password for "%1" at %2</qt> - <qt>袙胁械写懈褌械 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟 懈 锌邪褉芯谢褜 写谢褟 "%1" 薪邪 %2</qt> + <qt>Enter username and password for "%1" at %2</qt> + <qt>袙胁械写懈褌械 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟 懈 锌邪褉芯谢褜 写谢褟 "%1" 薪邪 %2</qt> - <qt>Connect to proxy "%1" using:</qt> - <qt>袩芯写泻谢褞褔懈褌褜褋褟 泻 锌褉芯泻褋懈 "%1", 懈褋锌芯谢褜蟹褍褟:</qt> + <qt>Connect to proxy "%1" using:</qt> + <qt>袩芯写泻谢褞褔懈褌褜褋褟 泻 锌褉芯泻褋懈 "%1", 懈褋锌芯谢褜蟹褍褟:</qt> - SSL Errors: + SSL Errors: %1 %2 Do you want to ignore these errors? - 袨褕懈斜泻懈 SSL: + 袨褕懈斜泻懈 SSL: %1 @@ -919,512 +824,484 @@ Do you want to ignore these errors? 袞械谢邪械褌械 谢懈 胁褘 懈谐薪芯褉懈褉芯胁邪褌褜 褝褌懈 芯褕懈斜泻懈? - Do you want to accept all these certificates? - 袙褘 卸械谢邪械褌械 锌褉懈薪褟褌褜 胁褋械 褝褌懈 褋械褉褌懈褎懈泻邪褌褘? + Do you want to accept all these certificates? + 袙褘 卸械谢邪械褌械 锌褉懈薪褟褌褜 胁褋械 褝褌懈 褋械褉褌懈褎懈泻邪褌褘? - - + + PasswordDialog - Authentication Required - 孝褉械斜褍械褌褋褟 邪褍褌械薪褌懈褎懈泻邪褑懈褟 + Authentication Required + 孝褉械斜褍械褌褋褟 邪褍褌械薪褌懈褎懈泻邪褑懈褟 - DUMMY ICON - DUMMY ICON + DUMMY ICON + DUMMY ICON - INTRO TEXT DUMMY - INTRO TEXT DUMMY + INTRO TEXT DUMMY + INTRO TEXT DUMMY - Username: - 袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟: + Username: + 袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟: - Password: - 袩邪褉芯谢褜: + Password: + 袩邪褉芯谢褜: - - + + ProxyDialog - Proxy Authentication - 袗褍褌械薪褌懈褎懈泻邪褑懈褟 锌褉芯泻褋懈 + Proxy Authentication + 袗褍褌械薪褌懈褎懈泻邪褑懈褟 锌褉芯泻褋懈 - ICON - ICON + ICON + ICON - Connect to proxy - 袩芯写泻谢褞褔懈褌褜褋褟 泻 锌褉芯泻褋懈 + Connect to proxy + 袩芯写泻谢褞褔懈褌褜褋褟 泻 锌褉芯泻褋懈 - Username: - 袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟: + Username: + 袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟: - Password: - 袩邪褉芯谢褜: + Password: + 袩邪褉芯谢褜: - - + + QObject - The file is not an XBEL version 1.0 file. - 肖邪泄谢 薪械 褟胁谢褟械褌褋褟 褎邪泄谢芯屑 XBEL 胁械褉褋懈懈 1.0. + The file is not an XBEL version 1.0 file. + 肖邪泄谢 薪械 褟胁谢褟械褌褋褟 褎邪泄谢芯屑 XBEL 胁械褉褋懈懈 1.0. - Unknown title - 袧械懈蟹胁械褋褌薪褘泄 蟹邪谐芯谢芯胁芯泻 + Unknown title + 袧械懈蟹胁械褋褌薪褘泄 蟹邪谐芯谢芯胁芯泻 - - + + SearchBanner - Form - Form + Form + Form - TextLabel - TextLabel + TextLabel + TextLabel - < - < + < + < - > - > + > + > - Done - 袚芯褌芯胁芯 + Done + 袚芯褌芯胁芯 - - + + SearchLineEdit - Search - 袩芯懈褋泻 + Search + 袩芯懈褋泻 - - + + Settings - Settings - 袩邪褉邪屑械褌褉褘 - - - General - 袨斜褖懈械 - - - Home: - 袛芯屑邪褕薪褟褟 褋褌褉邪薪懈褑邪: - - - Set to current page - 袠褋锌芯谢褜蟹芯胁邪褌褜 褌械泻褍褖褍褞 褋褌褉邪薪懈褑褍 - - - Remove history items: - 校写邪谢褟褌褜 褝谢械屑械薪褌褘 卸褍褉薪邪谢邪: - - - After one day - 效械褉械蟹 写械薪褜 - - - After one week - 效械褉械蟹 薪械写械谢褞 - - - After two weeks - 效械褉械蟹 写胁械 薪械写械谢懈 + Settings + 袩邪褉邪屑械褌褉褘 - After one month - 效械褉械蟹 屑械褋褟褑 + General + 袨斜褖懈械 - After one year - 效械褉械蟹 谐芯写 + Home: + 袛芯屑邪褕薪褟褟 褋褌褉邪薪懈褑邪: - Manually - 袙褉褍褔薪褍褞 + Set to current page + 袠褋锌芯谢褜蟹芯胁邪褌褜 褌械泻褍褖褍褞 褋褌褉邪薪懈褑褍 - Save downloads to: - 小芯褏褉邪薪褟褌褜 蟹邪谐褉褍蟹泻懈 胁: + Remove history items: + 校写邪谢褟褌褜 褝谢械屑械薪褌褘 卸褍褉薪邪谢邪: - Open links from applications: - 袨褌泻褉褘胁邪褌褜 褋褋褘谢泻懈 懈蟹 锌褉懈谢芯卸械薪懈泄: + After one day + 效械褉械蟹 写械薪褜 - In a tab in the current window - 袙芯 胁泻谢邪写泻械 胁 褌械泻褍褖械屑 芯泻薪械 + After one week + 效械褉械蟹 薪械写械谢褞 - In a new window - 袙 薪芯胁芯屑 芯泻薪械 + After two weeks + 效械褉械蟹 写胁械 薪械写械谢懈 - Appearance - 袙薪械褕薪懈泄 胁懈写 + After one month + 效械褉械蟹 屑械褋褟褑 - Standard font: - 小褌邪薪写邪褉褌薪褘泄 褕褉懈褎褌: + After one year + 效械褉械蟹 谐芯写 - Times 16 - Times 16 + Manually + 袙褉褍褔薪褍褞 - Select... - 袙褘斜褉邪褌褜... + Open links from applications: + 袨褌泻褉褘胁邪褌褜 褋褋褘谢泻懈 懈蟹 锌褉懈谢芯卸械薪懈泄: - Fixed-width font: - 袦芯薪芯褕懈褉懈薪薪褘泄 褕褉懈褎褌: + In a tab in the current window + 袙芯 胁泻谢邪写泻械 胁 褌械泻褍褖械屑 芯泻薪械 - Courier 13 - Courier 13 + In a new window + 袙 薪芯胁芯屑 芯泻薪械 - Privacy - 袣芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌褜 + Appearance + 袙薪械褕薪懈泄 胁懈写 - Web Content - 袙械斜-褋芯写械褉卸懈屑芯械 + Standard font: + 小褌邪薪写邪褉褌薪褘泄 褕褉懈褎褌: - Enable Plugins - 袙泻谢褞褔懈褌褜 锌芯写泻谢褞褔邪械屑褘械 屑芯写褍谢懈 + Times 16 + Times 16 - Enable Javascript - 袙泻谢褞褔懈褌褜 JavaScript + Select... + 袙褘斜褉邪褌褜... - Cookies - Cookies + Fixed-width font: + 袦芯薪芯褕懈褉懈薪薪褘泄 褕褉懈褎褌: - Accept Cookies: - 袩褉懈薪懈屑邪褌褜 cookies: + Courier 13 + Courier 13 - Always - 袙褋械谐写邪 + Privacy + 袣芯薪褎懈写械薪褑懈邪谢褜薪芯褋褌褜 - Never - 袧懈泻芯谐写邪 + Web Content + 袙械斜-褋芯写械褉卸懈屑芯械 - Only from sites you navigate to - 孝芯谢褜泻芯 褋 锌芯褋械褖褢薪薪褘褏 褋邪泄褌芯胁 + Enable Plugins + 袙泻谢褞褔懈褌褜 锌芯写泻谢褞褔邪械屑褘械 屑芯写褍谢懈 - Exceptions... - 袠褋泻谢褞褔械薪懈褟... + Enable Javascript + 袙泻谢褞褔懈褌褜 JavaScript - Keep until: - 小芯褏褉邪薪褟褌褜 写芯: + Cookies + Cookies - They expire - 袠褋褌械褔械薪懈褟 褋褉芯泻邪 + Accept Cookies: + 袩褉懈薪懈屑邪褌褜 cookies: - I exit the application - 袙褘褏芯写邪 懈蟹 锌褉懈谢芯卸械薪懈褟 + Always + 袙褋械谐写邪 - At most 90 days - 袦邪泻褋懈屑褍屑 90 写薪械泄 + Never + 袧懈泻芯谐写邪 - Cookies... - Cookies... + Only from sites you navigate to + 孝芯谢褜泻芯 褋 锌芯褋械褖褢薪薪褘褏 褋邪泄褌芯胁 - Proxy - 袩褉芯泻褋懈 + Exceptions... + 袠褋泻谢褞褔械薪懈褟... - Enable proxy - 袙泻谢褞褔懈褌褜 锌褉芯泻褋懈 + Keep until: + 小芯褏褉邪薪褟褌褜 写芯: - Type: - 孝懈锌: + They expire + 袠褋褌械褔械薪懈褟 褋褉芯泻邪 - Socks5 - Socks5 + I exit the application + 袙褘褏芯写邪 懈蟹 锌褉懈谢芯卸械薪懈褟 - Http - Http + At most 90 days + 袦邪泻褋懈屑褍屑 90 写薪械泄 - Host: - 小械褉胁械褉: + Cookies... + Cookies... - Port: - 袩芯褉褌: + Proxy + 袩褉芯泻褋懈 - User Name: - 袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟: + Enable proxy + 袙泻谢褞褔懈褌褜 锌褉芯泻褋懈 - Password: - 袩邪褉芯谢褜: + Type: + 孝懈锌: - Advanced - 袛芯锌芯谢薪懈褌械谢褜薪芯 + Socks5 + Socks5 - Style Sheet: - 孝邪斜谢懈褑邪 褋褌懈谢械泄: + Http + Http - Sans-serif font: - 楔褉懈褎褌 斜械蟹 蟹邪褋械褔械泻: + Host: + 小械褉胁械褉: - Serif font: - 楔褉懈褎褌 褋 蟹邪褋械褔泻邪屑懈: + Port: + 袩芯褉褌: - Size: - 袪邪蟹屑械褉: + User Name: + 袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟: - Default font: - 楔褉懈褎褌 锌芯 褍屑芯谢褔邪薪懈褞: + Password: + 袩邪褉芯谢褜: - Sans serif - 袘械蟹 蟹邪褋械褔械泻 + Advanced + 袛芯锌芯谢薪懈褌械谢褜薪芯 - Serif - 小 蟹邪褋械褔泻邪屑懈 + Style Sheet: + 孝邪斜谢懈褑邪 褋褌懈谢械泄: - Downloads - 袟邪谐褉褍蟹泻懈 + Downloads + 袟邪谐褉褍蟹泻懈 - Ask for a destination each time - 袣邪卸写褘泄 褉邪蟹 褋锌褉邪褕懈胁邪褌褜 锌邪锌泻褍 薪邪蟹薪邪褔械薪懈褟 + Ask for a destination each time + 袣邪卸写褘泄 褉邪蟹 褋锌褉邪褕懈胁邪褌褜 锌邪锌泻褍 薪邪蟹薪邪褔械薪懈褟 - Use this destination: - 袠褋锌芯谢褜蟹芯胁邪褌褜 褝褌褍 锌邪锌泻褍 薪邪蟹薪邪褔械薪懈褟: + Use this destination: + 袠褋锌芯谢褜蟹芯胁邪褌褜 褝褌褍 锌邪锌泻褍 薪邪蟹薪邪褔械薪懈褟: - On startup: - + On startup: + 袩褉懈 蟹邪锌褍褋泻械: - Show my home page - + Show my home page + 袩芯泻邪蟹褘胁邪褌褜 屑芯褞 写芯屑邪褕薪褞褞 褋褌褉邪薪懈褑褍 - Show a blank page - + Show a blank page + 袩芯泻邪蟹褘胁邪褌褜 褔懈褋褌褍褞 褋褌褉邪薪懈褑褍 - Restore windows and tabs from last time - + Restore windows and tabs from last time + 袙芯褋褋褌邪薪邪胁谢懈胁邪褌褜 芯泻薪邪 懈 胁泻谢邪写泻懈 锌褉芯褕谢芯泄 褋械褋褋懈懈 - On application exit - + On application exit + 袩褉懈 胁褘褏芯写械 - Enable Images - + Enable Images + 袙泻谢褞褔懈褌褜 泻邪褉褌懈薪泻懈 - Tabs - + Tabs + 袙泻谢邪写泻懈 - Select tabs and windows as they are created - + Select tabs and windows as they are created + 袙褘斜械褉懈褌械 胁泻谢邪写泻懈 懈 芯泻薪邪 泻邪泻 芯薪懈 褋芯蟹写邪薪褘 - Confirm when closing multiple tabs - + Confirm when closing multiple tabs + 袩芯写褌胁械褉卸写邪褌褜 蟹邪泻褉褘褌懈械 薪械褋泻芯谢褜泻懈褏 胁泻谢邪写芯泻 - - + + TabBar - New &Tab - 袧芯胁邪褟 &胁泻谢邪写泻邪 + New &Tab + 袧芯胁邪褟 &胁泻谢邪写泻邪 - Duplicate Tab - 袣芯锌懈褉芯胁邪褌褜 胁泻谢邪写泻褍 + Duplicate Tab + 袣芯锌懈褉芯胁邪褌褜 胁泻谢邪写泻褍 - &Close Tab - &袟邪泻褉褘褌褜 胁泻谢邪写泻褍 + &Close Tab + &袟邪泻褉褘褌褜 胁泻谢邪写泻褍 - Close &Other Tabs - 袟邪泻褉褘褌褜 &写褉褍谐懈械 胁泻谢邪写泻懈 + Close &Other Tabs + 袟邪泻褉褘褌褜 &写褉褍谐懈械 胁泻谢邪写泻懈 - Reload Tab - 袨斜薪芯胁懈褌褜 胁泻谢邪写泻褍 + Reload Tab + 袨斜薪芯胁懈褌褜 胁泻谢邪写泻褍 - Reload All Tabs - 袨斜薪芯胁懈褌褜 胁褋械 胁泻谢邪写泻懈 + Reload All Tabs + 袨斜薪芯胁懈褌褜 胁褋械 胁泻谢邪写泻懈 - Show Tab Bar - + Show Tab Bar + 袩芯泻邪蟹邪褌褜 袩邪薪械谢褜 袙泻谢邪写芯泻 - Hide Tab Bar - + Hide Tab Bar + 小泻褉褘褌褜 袩邪薪械谢褜 袙泻谢邪写芯泻 - - + + TabWidget - New &Tab - 袧芯胁邪褟 &胁泻谢邪写泻邪 + New &Tab + 袧芯胁邪褟 &胁泻谢邪写泻邪 - &Close Tab - &袟邪泻褉褘褌褜 胁泻谢邪写泻褍 + &Close Tab + &袟邪泻褉褘褌褜 胁泻谢邪写泻褍 - Show Next Tab - 袩芯泻邪蟹邪褌褜 褋谢械写褍褞褖褍褞 胁泻谢邪写泻褍 + Show Next Tab + 袩芯泻邪蟹邪褌褜 褋谢械写褍褞褖褍褞 胁泻谢邪写泻褍 - Show Previous Tab - 袩芯泻邪蟹邪褌褜 锌褉械写褘写褍褖褍褞 胁泻谢邪写泻褍 + Show Previous Tab + 袩芯泻邪蟹邪褌褜 锌褉械写褘写褍褖褍褞 胁泻谢邪写泻褍 - Recently Closed Tabs - 袧械写邪胁薪芯 蟹邪泻褉褘褌褘械 胁泻谢邪写泻懈 + Recently Closed Tabs + 袧械写邪胁薪芯 蟹邪泻褉褘褌褘械 胁泻谢邪写泻懈 - (Untitled) - (袘械蟹褘屑褟薪薪褘泄) + (Untitled) + (袘械蟹褘屑褟薪薪褘泄) - Do you really want to close this page? - 袙褘 写械泄褋褌胁懈褌械谢褜薪芯 褏芯褌懈褌械 蟹邪泻褉褘褌褜 褝褌褍 褋褌褉邪薪懈褑褍? + Do you really want to close this page? + 袙褘 写械泄褋褌胁懈褌械谢褜薪芯 褏芯褌懈褌械 蟹邪泻褉褘褌褜 褝褌褍 褋褌褉邪薪懈褑褍? - You have modified this page and when closing it you would lose the modification. + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? - 袙褘 懈蟹屑械薪懈谢懈 褝褌褍 褋褌褉邪薪懈褑褍, 懈 胁褘 锌芯褌械褉褟械褌械 懈蟹屑械薪械薪懈褟 锌褉懈 械褢 蟹邪泻褉褘褌懈懈. + 袙褘 懈蟹屑械薪懈谢懈 褝褌褍 褋褌褉邪薪懈褑褍, 懈 胁褘 锌芯褌械褉褟械褌械 懈蟹屑械薪械薪懈褟 锌褉懈 械褢 蟹邪泻褉褘褌懈懈. 袙褘 写械泄褋褌胁懈褌械谢褜薪芯 褏芯褌懈褌械 蟹邪泻褉褘褌褜 褝褌褍 褋褌褉邪薪懈褑褍? - - + + ToolbarSearch - Google - Google + Google + Google - No Recent Searches - 袧械褌 锌芯褋谢械写薪懈褏 褋谢芯胁 写谢褟 锌芯懈褋泻邪 + No Recent Searches + 袧械褌 锌芯褋谢械写薪懈褏 褋谢芯胁 写谢褟 锌芯懈褋泻邪 - Recent Searches - 袩芯褋谢械写薪懈械 褋谢芯胁邪 写谢褟 锌芯懈褋泻邪 + Recent Searches + 袩芯褋谢械写薪懈械 褋谢芯胁邪 写谢褟 锌芯懈褋泻邪 - Clear Recent Searches - 袨褔懈褋褌懈褌褜 锌芯褋谢械写薪懈械 褋谢芯胁邪 写谢褟 锌芯懈褋泻邪 + Clear Recent Searches + 袨褔懈褋褌懈褌褜 锌芯褋谢械写薪懈械 褋谢芯胁邪 写谢褟 锌芯懈褋泻邪 - - + + WebPage - Error loading page: %1 - 袨褕懈斜泻邪 锌褉懈 蟹邪谐褉褍蟹泻械 褋褌褉邪薪懈褑褘: %1 + Error loading page: %1 + 袨褕懈斜泻邪 锌褉懈 蟹邪谐褉褍蟹泻械 褋褌褉邪薪懈褑褘: %1 - - + + WebView - Open in New &Window - 袨褌泻褉褘褌褜 胁 薪芯胁芯屑 &芯泻薪械 + Open in New &Window + 袨褌泻褉褘褌褜 胁 薪芯胁芯屑 &芯泻薪械 - Open in New &Tab - 袨褌泻褉褘褌褜 胁 薪芯胁芯泄 &胁泻谢邪写泻械 + Open in New &Tab + 袨褌泻褉褘褌褜 胁 薪芯胁芯泄 &胁泻谢邪写泻械 - Save Lin&k - 小芯褏褉邪薪懈褌褜 &褋褋褘谢泻褍 + Save Lin&k + 小芯褏褉邪薪懈褌褜 &褋褋褘谢泻褍 - &Bookmark This Link - 袛芯斜邪胁懈褌褜 褋褋褘谢泻褍 胁 &蟹邪泻谢邪写泻懈 + &Bookmark This Link + 袛芯斜邪胁懈褌褜 褋褋褘谢泻褍 胁 &蟹邪泻谢邪写泻懈 - &Copy Link Location - &袣芯锌懈褉芯胁邪褌褜 邪写褉械褋 褋褋褘谢泻懈 + &Copy Link Location + &袣芯锌懈褉芯胁邪褌褜 邪写褉械褋 褋褋褘谢泻懈 - Open Image in New &Window - 袨褌泻褉褘褌褜 懈蟹芯斜褉邪卸械薪懈械 胁 薪芯胁芯屑 &芯泻薪械 + Open Image in New &Window + 袨褌泻褉褘褌褜 懈蟹芯斜褉邪卸械薪懈械 胁 薪芯胁芯屑 &芯泻薪械 - Open Image in New &Tab - 袨褌泻褉褘褌褜 懈蟹芯斜褉邪卸械薪懈械 胁 薪芯胁芯泄 &胁泻谢邪写泻械 + Open Image in New &Tab + 袨褌泻褉褘褌褜 懈蟹芯斜褉邪卸械薪懈械 胁 薪芯胁芯泄 &胁泻谢邪写泻械 - &Save Image - &小芯褏褉邪薪懈褌褜 懈蟹芯斜褉邪卸械薪懈械 + &Save Image + &小芯褏褉邪薪懈褌褜 懈蟹芯斜褉邪卸械薪懈械 - &Copy Image - &袣芯锌懈褉芯胁邪褌褜 懈蟹芯斜褉邪卸械薪懈械 + &Copy Image + &袣芯锌懈褉芯胁邪褌褜 懈蟹芯斜褉邪卸械薪懈械 - C&opy Image Location - 袣芯锌懈褉芯胁邪褌褜 &邪写褉械褋 懈蟹芯斜褉邪卸械薪懈褟 + C&opy Image Location + 袣芯锌懈褉芯胁邪褌褜 &邪写褉械褋 懈蟹芯斜褉邪卸械薪懈褟 - Loading... - + Loading... + 袟邪谐褉褍蟹泻邪... - - + + WebViewSearch - Not Found - 袧械 薪邪泄写械薪芯 + Not Found + 袧械 薪邪泄写械薪芯 - + From 313b8ef506e657e8cf186f97eb1b394ef15fe48b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 6 Oct 2008 23:24:00 -0400 Subject: [PATCH 0229/1254] Ukrainian translation by Oleksandr Kovalenko --- src/locale/locale.pri | 3 +- src/locale/uk.ts | 1796 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1798 insertions(+), 1 deletion(-) create mode 100644 src/locale/uk.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 5d329312..307b6f5d 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -16,11 +16,12 @@ TRANSLATIONS += \ he.ts \ hu.ts \ it.ts \ + nl.ts \ pl.ts \ pt_BR.ts \ ru.ts \ tr.ts \ - nl.ts + uk.ts isEmpty(QMAKE_LRELEASE) { win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe diff --git a/src/locale/uk.ts b/src/locale/uk.ts new file mode 100644 index 00000000..b4569631 --- /dev/null +++ b/src/locale/uk.ts @@ -0,0 +1,1796 @@ + + + + + AboutDialog + + + About + 袩褉芯 锌褉芯谐褉邪屑褍 + + + + Authors + 袗胁褌芯褉懈 + + + + License + 袥褨褑械薪蟹褨褟 + + + + Lightweight WebKit-based web browser + 袥械谐泻懈泄 锌械褉械谐谢褟写邪褔 褌械薪械褌, 芯褋薪芯胁邪薪懈泄 薪邪 WebKit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + 袟邪泻褉懈褌懈 + + + + AddBookmarkDialog + + + Add Bookmark + 袛芯写邪褌懈 蟹邪泻谢邪写懈薪泻褍 + + + + Type a name for the bookmark, and choose where to keep it. + 袙胁械写褨褌褜 薪邪蟹胁褍 蟹邪泻谢邪写懈薪泻懈 褌邪 胁懈斜械褉褨褌褜 泻褍写懈 褩褩 写芯写邪褌懈. + + + + BookmarksDialog + + + Open + 袙褨写泻褉懈褌懈 + + + + Open in New Tab + 袙褨写泻褉懈褌懈 胁 薪芯胁褨泄 胁泻谢邪写褑褨 + + + + Delete + 袙懈写邪谢懈褌懈 + + + + New Folder + 袧芯胁邪 褌械泻邪 + + + + Bookmarks + 袟邪泻谢邪写泻懈 + + + + &Remove + &袙懈谢褍褔懈褌懈 + + + + Add Folder + 袛芯写邪褌懈 褌械泻褍 + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + 袩芯屑懈谢泻邪 蟹邪胁邪薪褌邪卸械薪薪褟 蟹邪泻谢邪写懈薪芯泻 薪邪 褉褟写泻褍 %1, 褋褌芯胁锌械褑褜 %2: +%3 + + + + Toolbar Bookmarks + 袩邪薪械谢褜 蟹邪泻谢邪写懈薪芯泻 + + + + Menu + 袦械薪褞 + + + + Open File + 袙褨写泻褉懈褌懈 褎邪泄谢 + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 褨屑锌芯褉褌芯胁邪薪邪 + + + + Save File + 袟斜械褉械谐褌懈 褎邪泄谢 + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + 袩芯屑懈谢泻邪 械泻褋锌芯褉褌褍 + + + + error saving bookmarks + 袩芯屑懈谢泻邪 蟹斜械褉械卸械薪薪褟 蟹邪泻谢邪写懈薪芯泻 + + + + Remove Bookmark + 袙懈谢褍褔懈褌懈 蟹邪泻谢邪写懈薪泻褍 + + + + Insert Bookmark + 袙褋褌邪胁懈褌懈 蟹邪泻谢邪写懈薪泻褍 + + + + Name Change + 袟屑褨薪邪 薪邪蟹胁懈 + + + + Address Change + 袟屑褨薪邪 邪写褉械褋懈 + + + + BookmarksModel + + + Title + 袟邪谐芯谢芯胁芯泻 + + + + Address + 袗写褉械褋邪 + + + + BookmarksToolBar + + + Bookmark + 袟邪泻谢邪写懈薪泻邪 + + + + BrowserApplication + + + (Change: %1 %2) + (袟屑褨薪懈褌懈: %1 %2) + + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + 袙褨写泻褉懈褌芯 %1 胁褨泻芯薪 褌邪 %2 胁泻谢邪写芯泻 +袙懈 褏芯褔械褌械 胁懈泄褌懈 胁 斜褍写褜-褟泻芯屑褍 褉邪蟹褨? + + + + Restore failed + 袧械胁写邪谢械 胁褨写薪芯胁谢械薪薪褟 + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + 袟斜械褉械卸械薪邪 褋械褋褨褟 薪械 斜褍写械 胁褨写薪芯胁谢械薪邪, 褌芯屑褍 褖芯 Arora 谢邪屑邪褦褌褜褋褟, 泻芯谢懈 薪邪屑邪谐邪褦褌褜褋褟 胁褨写薪芯胁懈褌懈 褩褩. + + + + BrowserMainWindow + + + &File + &肖邪泄谢 + + + + &New Window + 袧芯胁械 &胁褨泻薪芯 + + + + &Open File... + 袙褨写泻褉懈褌懈 &褎邪泄谢... + + + + Open &Location... + 袙褨写泻褉懈褌懈 &Location... + + + + &Save As... + &袟斜械褉械谐褌懈 褟泻... + + + + &Import Bookmarks... + &袉屑锌芯褉褌褍胁邪褌懈 蟹邪泻谢邪写懈薪泻懈... + + + + &Export Bookmarks... + &袝泻褋锌芯褉褌褍胁邪褌懈 蟹邪泻谢邪写懈薪泻懈... + + + + P&rint Preview... + &袩芯锌械褉械写薪褨泄 锌械褉械谐谢褟写... + + + + &Print... + &袛褉褍泻... + + + + Private &Browsing... + 袩&褉懈胁邪褌薪械 锌械褉械谐谢褟写邪薪薪褟... + + + + &Quit + &袙懈泄褌懈 + + + + &Edit + &袪械写邪谐褍胁邪褌懈 + + + + &Undo + &袙褨写屑褨薪懈褌懈 + + + + &Redo + &袩芯胁褌芯褉懈褌懈 + + + + Cu&t + &袙懈褉褨蟹邪褌懈 + + + + &Copy + &小泻芯锌褨褞胁邪褌懈 + + + + &Paste + &袙褋褌邪胁懈褌懈 + + + + &Find + &袟薪邪泄褌懈 + + + + Find Nex&t + &袟薪邪泄褌懈 薪邪褋褌褍锌薪械 + + + + Find P&revious + &袟薪邪泄褌懈 锌芯锌械褉械写薪褦 + + + + Prefere&nces... + &袧邪谢邪褕褌褍胁邪薪薪褟... + + + + Ctrl+, + Ctrl+, + + + + &View + &袩械褉械谐谢褟薪褍褌懈 + + + + Show Menu Bar + 袩芯泻邪蟹邪褌懈 锌邪薪械谢褜 屑械薪褞 + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &袟褍锌懈薪懈褌懈 + + + + &Reload Page + &袩械褉械蟹邪胁邪薪褌邪卸懈褌懈 褋褌芯褉褨薪泻褍 + + + + Make Text &Bigger + 袟&斜褨谢褜褕懈褌懈 褕褉懈褎褌 + + + + Make Text &Normal + &袟胁懈褔邪泄薪懈泄 褕褉懈褎褌 + + + + Make Text &Smaller + 袟&屑械薪褕懈褌懈 褕褉懈褎褌 + + + + Page S&ource + &袛卸械褉械谢芯 褋褌芯褉褨薪泻懈 + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + 袧邪 胁械褋褜 &械泻褉邪薪 + + + + Hi&story + &袞褍褉薪邪谢 + + + + Back + 袧邪蟹邪写 + + + + Forward + 袙锌械褉械写 + + + + Home + 袛芯屑褨胁泻邪 + + + + Restore Last Session + 袙褨写薪芯胁懈褌懈 锌芯锌械褉械写薪褞 褋械褋褨褞 + + + + &Bookmarks + &袟邪泻谢邪写懈薪泻懈 + + + + Manage Bookmarks... + 袙锌芯褉褟写泻褍胁邪褌懈 蟹邪泻谢邪写懈薪泻懈... + + + + Add Bookmark... + 袛芯写邪褌懈 蟹邪泻谢邪写懈薪泻懈... + + + + &Window + &袙褨泻薪芯 + + + + &Tools + &袉薪褋褌褉褍屑械薪褌懈 + + + + Web &Search + &袩芯褕褍泻 胁 褌械薪械褌邪褏 + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + &袨褔懈褋褌懈褌懈 芯褋芯斜懈褋褌褨 写邪薪褨 + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + 袙胁褨屑泻薪褍褌懈 Web &Inspector + + + + &Help + &袛芯胁褨写泻邪 + + + + Switch application language + 袩械褉械屑泻薪褍褌懈 屑芯胁褍 锌褉芯谐褉邪屑懈 + + + + About &Qt + 袩褉芯 &Qt + + + + About &Arora + 袩褉芯 &Arora + + + + Navigation + 袩械褉械屑褨褖械薪薪褟 + + + + Show Status Bar + 袩芯泻邪蟹邪褌懈 锌邪薪械谢褜 褋褌邪薪褍 + + + + Hide Status Bar + 小褏芯胁邪褌懈 锌邪薪械谢褜 褋褌邪薪褍 + + + + Show Toolbar + 袩芯泻邪蟹邪褌懈 锌邪薪械谢褜 褨薪褋褌褉褍屑械薪褌褨胁 + + + + Hide Toolbar + 小褏芯胁邪褌懈 锌邪薪械谢褜 褨薪褋褌褉褍屑械薪褌褨胁 + + + + Show Bookmarks Bar + 袩芯泻邪蟹邪褌懈 锌邪薪械谢褜 蟹邪泻谢邪写懈薪芯泻 + + + + Hide Bookmarks Bar + 小褏芯胁邪褌懈 锌邪薪械谢褜 蟹邪泻谢邪写懈薪芯泻 + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + 袙褨写泻褉懈褌懈 褉械褋褍褉褋 褌械薪械褌 + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + 袪械褋褍褉褋 褌械薪械褌 (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + + + + Print Document + 袧邪写褉褍泻褍胁邪褌懈 写芯泻褍屑械薪褌 + + + + Are you sure you want to turn on private browsing? + 袙懈 胁锌械胁薪械薪褨, 褖芯 褏芯褔械褌械 胁胁褨屑泻薪褍褌懈 锌褉懈胁邪褌薪械 锌械褉械谐谢褟写邪薪薪褟? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>袣芯谢懈 锌褉懈胁邪褌薪械 锌械褉械谐谢褟写邪薪薪褟 胁胁褨屑泻薪械薪械, 写械褟泻褨 写褨褩, 褖芯 褋褌芯褋褍褞褌褜褋褟 胁邪褕芯褩 锌褉懈胁邪褌薪芯褋褌褨, 斜褍写褍褌褜 胁懈屑泻薪械薪褨:<ul><li> 小褌芯褉褨薪泻懈 褌械薪械褌 薪械 写芯写邪褞褌褜褋褟 写芯 卸褍褉薪邪谢褍.</li><li> 袝谢械屑械薪褌懈 邪胁褌芯屑邪褌懈褔薪芯 胁懈写邪谢褟褞褌褜褋褟 蟹 胁褨泻薪邪 蟹胁邪薪褌邪卸械薪褜.</li><li> 袧芯胁褨 泻芯褉卸懈泻懈 薪械 蟹斜械褉褨谐邪褞褌褜褋褟, 锌芯褌芯褔薪褨 薪械写芯褋褌褍锌薪褨.</li><li> 袩褨泻褌芯谐褉邪屑懈 褋邪泄褌褨胁 薪械 蟹斜械褉褨谐邪褞褌褜褋褟, 褋械褋褨褩 薪械 屑芯卸褍褌褜 斜褍褌懈 蟹斜械褉械卸械薪褨.</li><li> 袩芯褕褍泻懈 薪械 写芯写邪褞褌褜褋褟 写芯 胁懈褉懈薪邪褞褔芯谐芯 屑械薪褞 胁 锌邪薪械谢褨 锌芯褕褍泻褍.</li></ul>袩芯泻懈 胁懈 薪械 蟹邪泻褉懈褦褌械 胁褨泻薪芯, 屑芯卸械褌械 胁褋械 褖械 薪邪锌懈褋泻邪褌懈 泻薪芯锌泻懈 "袙锌械褉褨写" 褌邪 "袧邪蟹邪写", 褖芯斜 锌芯胁械褉薪褍褌懈褋褟 写芯 胁褨写泻褉懈褌懈褏 褋褌芯褉褨薪芯泻. + + + + Are you sure you want to close the window? There are %1 tabs open + 袙懈 胁锌械胁薪械薪褨, 褖芯 褏芯褔械褌械 蟹邪泻褉懈褌懈 胁褨泻薪芯? 袙褨写泻褉懈褌褨 %1 胁泻谢邪写芯泻 + + + + Web Inspector + Web Inspector + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + 袙械斜褨薪褋锌械泻褌芯褉 斜褍写械 锌褉邪褑褞胁邪褌懈 胁褨褉薪芯 谢懈褕械 写谢褟 褋褌芯褉褨薪芯泻, 褟泻褨 蟹邪胁邪薪褌邪卸械薪褨 锌褨褋谢褟 泄芯谐芯 胁屑懈泻邪薪薪褟. +袙懈 褏芯褔械褌械 锌械褉械蟹邪胁邪薪褌邪卸懈褌懈 胁褋褨 褋褌芯褉褨薪泻懈? + + + + Stop loading the current page + 袟褍锌懈薪懈褌懈 蟹邪胁邪薪褌邪卸械薪薪褟 锌芯褌芯褔薪芯褩 褋褌芯褉褨薪泻懈 + + + + Reload the current page + 袩械褉械蟹邪胁邪薪褌邪卸懈褌懈 锌芯褌芯褔薪褍 褋褌芯褉褨薪泻褍 + + + + Downloads + 袟胁邪薪褌邪卸械薪薪褟 + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + + Clear + 袨褔懈褋褌懈褌懈 + + + + ClearPrivateData + + + Clear Private Data + 袨褔懈褋褌懈褌懈 芯褋芯斜懈褋褌褨 写邪薪褨 + + + + Clear the following items: + 袨褔懈褋褌懈褌懈 薪邪褋褌褍锌薪褨 械谢械屑械薪褌懈: + + + + &Browsing History + 袞褍褉薪邪谢 &锌械褉械谐谢褟写褍 + + + + &Download History + 袞褍褉薪邪谢 &蟹胁邪薪褌邪卸械薪褜 + + + + &Search History + 袞褍褉薪邪谢 锌&芯褕褍泻褍 + + + + &Cookies + &袣芯褉卸懈泻懈 + + + + C&ached Web Pages + 袟邪&泻械褕芯胁邪薪褨 褋褌芯褉褨薪泻懈 褌械薪械褌 + + + + Website &Icons + &袩褨泻褌芯谐褉邪屑懈 褋邪泄褌褨胁 + + + + Clear &Private Data + &袨褔懈褋褌懈褌懈 芯褋芯斜懈褋褌褨 写邪薪褨 + + + + &Cancel + &小泻邪褋褍胁邪褌懈 + + + + CookieExceptionsModel + + + Website + 小邪泄褌 褌械薪械褌 + + + + Rule + 袩褉邪胁懈谢芯 + + + + Allow + 袛芯蟹胁芯谢懈褌懈 + + + + Block + 袟邪斜芯褉芯薪懈褌懈 + + + + Allow For Session + 袛芯蟹胁芯谢懈褌懈 写谢褟 褋械褋褨褩 + + + + CookieModel + + + Website + 小邪泄褌 褌械薪械褌 + + + + Name + 袧邪蟹胁邪 + + + + Path + 楔谢褟褏 + + + + Secure + 袘械蟹锌械褔薪芯 + + + + Expires + 小锌谢懈胁邪褦 + + + + Contents + 袙屑褨褋褌 + + + + true + 褌邪泻 + + + + false + 薪褨 + + + + CookiesDialog + + + Cookies + 袣芯褉卸懈泻懈 + + + + &Remove + &袙懈谢褍褔懈褌懈 + + + + Remove &All Cookies + 袙懈谢褍褔懈褌懈 &胁褋褨 泻芯褉卸懈泻懈 + + + + CookiesExceptionsDialog + + + Cookie Exceptions + 袙懈薪褟褌泻懈 泻芯褉卸懈泻褨胁 + + + + New Exception + 袧芯胁懈泄 胁懈薪褟褌芯泻 + + + + Domain: + 袛芯屑械薪: + + + + Block + 袟邪斜芯褉芯薪懈褌懈 + + + + Allow For Session + 袛芯蟹胁芯谢懈褌懈 写谢褟 褋械褋褨褩 + + + + Allow + 袛芯蟹胁芯谢懈褌懈 + + + + Exceptions + 袙懈薪褟褌泻懈 + + + + &Remove + &袙懈谢褍褔懈褌懈 + + + + Remove &All + 袙懈谢褍褔懈褌懈 &胁褋褨 + + + + Dialog + + + Dialog + 袛褨邪谢芯谐 + + + + Left: + 袥褨胁芯褉褍褔: + + + + Foo Bar Baz Arora LineEdit Manual Test This is the end + Foo Bar Baz Arora LineEdit Manual Test This is the end + + + + Right: + 袩褉邪胁芯褉褍褔: + + + + Empty: + 袩芯褉芯卸薪褜芯: + + + + Foo Bar Baz Arora LineEdit Manual Test + Foo Bar Baz Arora LineEdit Manual Test + + + + Widget + 袙褨写卸械褌 + + + + Site Icon + 袩褨泻褌芯谐褉邪屑邪 褋邪泄褌褍 + + + + RSS + RSS + + + + Bookmark + 袟邪泻谢邪写懈薪泻懈 + + + + Position + 袪芯蟹屑褨褖械薪薪褟 + + + + Left + 袥褨胁芯褉褍褔 + + + + Right + 袩褉邪胁芯褉褍褔 + + + + Add + 袛芯写邪褌懈 + + + + Remove + 袙懈谢褍褔懈褌懈 + + + + Swap Visibility + 袩械褉械屑泻薪褍褌懈 胁懈写懈屑褨褋褌褜 + + + + Add ToolButton + 袛芯写邪褌懈 泻薪芯锌泻褍 褨薪褋褌褉褍屑械薪褌邪 + + + + DownloadDialog + + + Downloads + 袟胁邪薪褌邪卸械薪薪褟 + + + + Clean up + 袨褔懈褋褌懈褌懈 + + + + 0 Items + 0 械谢械屑械薪褌褨胁 + + + + &OK + &袚邪褉邪蟹写 + + + + DownloadItem + + + Form + 肖芯褉屑邪 + + + + Ico + 袩褨泻褌芯谐褉邪屑邪 + + + + Filename + 袧邪蟹胁邪 褎邪泄谢褍 + + + + Try Again + 小锌褉芯斜褍胁邪褌懈 蟹薪芯胁褍 + + + + Stop + 袟褍锌懈薪懈褌懈 + + + + Open + 袙褨写泻褉懈褌懈 + + + + Save File + 袟斜械褉械谐褌懈 褎邪泄谢 + + + + Download canceled: %1 + 袟胁邪薪褌邪卸械薪薪褟 褋泻邪褋芯胁邪薪械: %1 + + + + Error opening output file: %1 + 袩芯屑懈谢泻邪 胁褨写泻褉懈褌褌褟 胁懈褏褨写薪芯谐芯 褎邪泄谢褍: %1 + + + + Error saving: %1 + 袩芯屑懈谢泻邪 蟹斜械褉械卸械薪薪褟: %1 + + + + Network Error: %1 + 袩芯屑懈谢泻邪 屑械褉械卸褨: %1 + + + + seconds + + + + + - %n minutes remaining + + - 蟹邪谢懈褕懈谢邪褋褜 %n 褏胁懈谢懈薪邪 + - 蟹邪谢懈褕懈谢芯褋褜 %n 褏胁懈谢懈薪懈 + - 蟹邪谢懈褕懈谢芯褋褜 %n 褏胁懈谢懈薪 + + + + + - %n seconds remaining + + - 蟹邪谢懈褕懈谢邪褋褜 %n 褋械泻褍薪写邪 + - 蟹邪谢懈褕懈谢芯褋褜 %n 褋械泻褍薪写懈 + - 蟹邪谢懈褕懈谢芯褋褜 %n 褋械泻褍薪写 + + + + + %1 of %2 (%3/sec) %4 + %1 蟹 %2 (%3/褋) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 蟹 %2 - 袟褍锌懈薪械薪褨 + + + + bytes + 斜邪泄褌 + + + + kB + 泻斜邪泄褌 + + + + MB + 袦斜邪泄褌 + + + + DownloadManager + + + %n Download(s) + + %n 蟹胁邪薪褌邪卸械薪薪褟 + %n 蟹胁邪薪褌邪卸械薪薪褟 + %n 蟹胁邪薪褌邪卸械薪褜 + + + + + HistoryDialog + + + Open + 袙褨写泻褉懈褌懈 + + + + Copy + 袣芯锌褨褞胁邪褌懈 + + + + Delete + 袙懈写邪谢懈褌懈 + + + + History + 袉褋褌芯褉褨褟 + + + + &Remove + &袙懈谢褍褔懈褌懈 + + + + Remove &All + 袙懈谢褍褔懈褌懈 &胁褋褨 + + + + HistoryMenu + + + Show All History + 袩芯泻邪蟹邪褌懈 胁褋褞 褨褋褌芯褉褨褞 + + + + Clear History... + 袨褔懈褋褌懈褌懈 褨褋褌芯褉褨褞... + + + + Clear History + 袨褔懈褋褌懈褌懈 褨褋褌芯褉褨褞 + + + + Do you want to clear the history? + 袙懈 斜邪卸邪褦褌械 芯褔懈褋褌懈褌懈 褨褋褌芯褉褨褞? + + + + HistoryModel + + + Title + 袟邪谐芯谢芯胁芯泻 + + + + Address + 袗写褉械褋邪 + + + + HistoryTreeModel + + + Earlier Today + 袪邪薪褨褕械 褋褜芯谐芯写薪褨 + + + + %n item(s) + + %n 械谢械屑械薪褌 + %n 械谢械屑械薪褌邪 + %n 械谢械屑械薪褌褨胁 + + + + + LanguageManager + + + System locale (%1) %2 + 小懈褋褌械屑薪邪 谢芯泻邪谢褜 (%1) %2 + + + + Choose language + 袙懈斜械褉褨褌褜 屑芯胁褍 + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>袙懈 屑芯卸械褌械 锌褉邪褑褞胁邪褌懈 蟹 褨薪褕芯褞 屑芯胁芯褞,<br>褖芯 薪械 褦 褋懈褋褌械屑薪芯褞 蟹邪 蟹邪屑芯胁褔褍胁邪薪薪褟屑.</p><p>袘褍写褜 谢邪褋泻邪, 胁懈斜械褉褨褌褜 屑芯胁褍, 褟泻褍 褋谢褨写 胁懈泻芯褉懈褋褌芯胁褍胁邪褌懈</p> + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>袙胁械写褨褌褜 褨屑'褟 泻芯褉懈褋褌褍胁邪褔邪 褌邪 锌邪褉芯谢褜 写谢褟 "%1" 薪邪 %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>袟'褦写薪邪褌懈褋褜 蟹 锌褉芯泻褋褨 "%1" 胁懈泻芯褉懈褋褌芯胁褍褞褔懈:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + 袩芯屑懈谢泻懈 SSL: + +%1 + +%2 + +袙懈 褏芯褔械褌械 薪械褏褌褍胁邪褌懈 褑褨 锌芯屑懈谢泻懈? + + + + Do you want to accept all these certificates? + 袙懈 褏芯褔械褌械 锌褉懈泄薪褟褌懈 胁褋褨 褑褨 褋械褉褌懈褎褨泻邪褌懈? + + + + PasswordDialog + + + Authentication Required + 袧械芯斜褏褨写薪邪 邪胁褌芯褉懈蟹邪褑褨褟 + + + + DUMMY ICON + DUMMY ICON + + + + INTRO TEXT DUMMY + INTRO TEXT DUMMY + + + + Username: + 袉屑'褟 泻芯褉懈褌褋褍胁邪褔邪: + + + + Password: + 袩邪褉芯谢褜: + + + + PlainTextEditSearch + + + Not Found + 袧械 蟹薪邪泄写械薪芯 + + + + ProxyDialog + + + Proxy Authentication + 袗褍褌械薪褌懈褎褨泻邪褑褨褟 薪邪 锌褉芯泻褋褨 + + + + ICON + ICON + + + + Connect to proxy + 袟'褦写薪邪薪薪褟 蟹 锌褉芯泻褋褨 + + + + Username: + 袉屑'褟 泻芯褉懈褌褋褍胁邪褔邪: + + + + Password: + 袩邪褉芯谢褜: + + + + QObject + + + The file is not an XBEL version 1.0 file. + 笑械 薪械 褎邪泄谢 XBEL胁械褉褋褨褩 1.0. + + + + Unknown title + 袧械胁褨写芯屑邪 薪邪蟹胁邪 + + + + SearchBanner + + + Form + 肖芯褉屑邪 + + + + TextLabel + 孝械泻褋褌芯胁邪袦褨褌泻邪 + + + + < + < + + + + > + > + + + + Done + 袙懈泻芯薪邪薪芯 + + + + SearchLineEdit + + + Search + 袩芯褕褍泻 + + + + Settings + + + Preferences + 袧邪谢邪褕褌褍胁邪薪薪褟 + + + + General + 袟邪谐邪谢褜薪褨 + + + + On startup: + 袩褨写 褔邪褋 蟹邪锌褍褋泻褍: + + + + Show my home page + 袩芯泻邪蟹邪褌懈 屑芯褞 写芯屑邪褕薪褞 褋褌芯褉褨薪泻褍 + + + + Show a blank page + 袩芯泻邪蟹邪褌懈 锌芯褉芯卸薪褞 褋褌芯褉褨薪泻褍 + + + + Restore windows and tabs from last time + 袙褨写薪芯胁懈褌懈 胁褨泻薪邪 薪邪 胁泻谢邪写泻懈 蟹 屑懈薪褍谢芯谐芯 褉邪蟹褍 + + + + Home Page: + 袛芯屑邪褕薪褟 褋褌芯褉褨薪泻邪: + + + + Set to current page + 袙褋褌邪薪芯胁懈褌懈 锌芯褌芯褔薪褍 褋褌芯褉褨薪泻褍 + + + + Remove history items: + 袙懈谢褍褔懈褌懈 械谢械屑械薪褌 褨褋褌芯褉褨褩: + + + + After one day + 袩褨褋谢褟 芯写薪褨褦褩 写芯斜懈 + + + + After one week + 袩褨褋谢褟 芯写薪芯谐芯 褌懈卸薪褟 + + + + After two weeks + 袩褨褋谢褟 写胁芯褏 褌懈卸薪褨胁 + + + + After one month + 袩褨褋谢褟 芯写薪芯谐芯 屑褨褋褟褑褟 + + + + After one year + 袩褨褋谢褟 芯写薪芯谐芯 褉芯泻褍 + + + + Manually + 袙褉褍褔薪褍 + + + + On application exit + 袩褨写 褔邪褋 胁懈褏芯写褍 蟹 锌褉芯谐褉邪屑懈 + + + + Open links from applications: + 袙褨写泻褉懈褌懈 锌芯褋懈谢邪薪薪褟 蟹 锌褉芯谐褉邪屑懈: + + + + In a tab in the current window + 校 胁泻谢邪写褑褨 胁 锌芯褌芯褔薪芯屑褍 胁褨泻薪褨 + + + + In a new window + 袙 薪芯胁芯屑褍 胁褨泻薪褨 + + + + Downloads + 袟胁邪薪褌邪卸械薪薪褟 + + + + Ask for a destination each time + 袟邪锌懈褌褍胁邪褌懈 泻褍写懈 蟹斜械褉褨谐邪褌懈 泻芯卸薪芯谐芯 褉邪蟹褍 + + + + Use this destination: + 袙懈泻芯褉懈褋褌芯胁褍胁邪褌懈 褑械 屑褨褋褑械: + + + + Appearance + 袟芯胁薪褨褕薪褨泄 胁懈谐谢褟写 + + + + Standard font: + 袟胁懈褔邪泄薪懈泄 褕褉懈褎褌: + + + + Times 16 + Times 16 + + + + Select... + 袙懈斜褉邪褌懈... + + + + Fixed-width font: + 楔褉懈褎褌 褎褨泻褋芯胁邪薪芯褩 褕懈褉懈薪懈: + + + + Courier 13 + Courier 13 + + + + Privacy + 袩褉懈胁邪褌薪褨褋褌褜 + + + + Web Content + 袟屑褨褋褌 褌械薪械褌 + + + + Enable Plugins + 袙胁褨屑泻薪褍褌懈 锌谢邪谐褨薪懈 + + + + Enable Javascript + 袙胁褨屑泻薪褍褌懈 Javascript + + + + View Images + 袩械褉械谐谢褟薪褍褌懈 蟹芯斜褉邪卸械薪薪褟 + + + + Cookies + 袣芯褉卸懈泻懈 + + + + Accept Cookies: + 袛芯蟹胁芯谢懈褌懈 泻芯褉卸懈泻懈: + + + + Always + 袟邪胁卸写懈 + + + + Never + 袧褨泻芯谢懈 + + + + Only from sites you navigate to + 孝褨谢褜泻懈 蟹 褋邪泄褌褍, 褟泻懈泄 锌械褉械谐谢褟写邪褦褌械 + + + + Exceptions... + 袙懈薪褟褌泻懈... + + + + Keep Cookies Until: + 袟斜械褉褨谐邪褌懈 泻芯褉卸懈泻懈 写芯: + + + + They expire + 小锌谢懈胁械 褔邪褋 写褨褩 + + + + I exit the application + 锌芯泻懈 薪械 胁懈泄写褍 蟹 锌褉芯谐褉邪屑懈 + + + + At most 90 days + 薪械 斜褨谢褜褕械 90 写褨斜 + + + + Cookies... + 袣芯褉卸懈泻懈... + + + + Tabs + 袙泻谢邪写泻懈 + + + + Select tabs and windows as they are created + 袙懈斜褉邪褌懈 胁泻谢邪写泻懈 褌邪 胁褨泻薪邪 褖芯泄薪芯 胁芯薪懈 褋褌胁芯褉械薪褨 + + + + Confirm when closing multiple tabs + 袟邪锌懈褌褍胁邪褌懈 锌械褉械写 蟹邪泻褉懈褌褌褟屑 斜邪谐邪褌褜芯褏 胁泻谢邪写芯泻 + + + + Proxy + 袩褉芯泻褋褨 + + + + Use proxy server + 袙懈泻芯褉懈褋褌芯胁褍胁邪褌懈 锌褉芯泻褋褨-褋械褉胁械褉 + + + + Type: + 孝懈锌: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host name: + 袧邪蟹胁邪 褏芯褋褌褍: + + + + Port: + 袩芯褉褌: + + + + User Name: + 袉屑'褟 泻芯褉懈褋褌褍胁邪褔邪: + + + + Password: + 袩邪褉芯谢褜: + + + + Advanced + 袛芯写邪褌泻芯胁芯 + + + + Style Sheet: + 楔邪斜谢芯薪 褋褌懈谢褞: + + + + SourceViewer + + + Loading... + 袟邪胁邪薪褌邪卸褍褦褌褜褋褟... + + + + &Edit + &袪械写邪谐褍胁邪褌懈 + + + + &Find + &袟薪邪泄褌懈 + + + + Source of Page + 袛卸械褉械谢芯 褋褌芯褉褨薪泻懈 + + + + TabBar + + + Show Tab Bar + 袩芯泻邪蟹邪褌懈 锌邪薪械谢褜 胁泻谢邪写芯泻 + + + + Hide Tab Bar + 小褏芯胁邪褌懈 锌邪薪械谢褜 胁泻谢邪写芯泻 + + + + New &Tab + 袧芯胁邪 &胁泻谢邪写泻邪 + + + + Duplicate Tab + 袩芯写胁芯褩褌懈 胁泻谢邪写泻褍 + + + + &Close Tab + &袟邪泻褉懈褌懈 胁泻谢邪写泻褍 + + + + Close &Other Tabs + 袟邪泻褉懈褌懈 &褨薪褕褨 胁泻谢邪写泻懈 + + + + Reload Tab + 袩械褉械蟹邪胁邪薪褌邪卸懈褌懈 胁泻谢邪写泻褍 + + + + Reload All Tabs + 袩械褉械蟹邪胁邪薪褌邪卸懈褌懈 胁褋褨 胁泻谢邪写泻懈 + + + + TabWidget + + + New &Tab + 袧芯胁邪 &胁泻谢邪写泻邪 + + + + &Close Tab + &袟邪泻褉懈褌懈 胁泻谢邪写泻褍 + + + + Show Next Tab + 袩芯泻邪蟹邪褌懈 薪邪褋褌褍锌薪褍 胁泻谢邪写泻褍 + + + + Show Previous Tab + 袩芯泻邪蟹邪褌懈 锌芯锌械褉械写薪褞 胁泻谢邪写泻褍 + + + + Recently Closed Tabs + 袧械褖芯写邪胁薪芯 蟹邪泻褉懈褌褨 胁泻谢邪写泻懈 + + + + Untitled + 袘械蟹 薪邪蟹胁懈 + + + + Do you really want to close this page? + 袙懈 写褨泄褋薪芯 褏芯褔械褌械 蟹邪泻褉懈褌懈 褑褞 褋褌芯褉褨薪泻褍? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + 袙懈 蟹屑褨薪懈谢懈 褑褞 褋褌芯褉褨薪泻褍, 褨 泻芯谢懈 蟹邪泻褉懈褦褌械 褩褩, 胁褌褉邪褌懈褌械 蟹屑褨薪懈. +袙懈 写褨泄褋薪芯 褏芯褔械褌械 蟹邪泻褉懈褌懈 褑褞 褋褌芯褉褨薪泻褍? + + + + + ToolbarSearch + + + No Recent Searches + 袧械屑邪褦 薪械褖芯写邪胁薪褨褏 锌芯褕褍泻褨胁 + + + + Recent Searches + 袧械褖芯写邪胁薪褨 锌芯褕褍泻懈 + + + + Clear Recent Searches + 袨褔懈褋褌懈褌懈 薪械褖芯写邪胁薪褨 锌芯褕褍泻懈 + + + + WebPage + + + Error loading page: %1 + 袩芯屑懈谢泻邪 锌褨写 褔邪褋 蟹邪胁邪薪褌邪卸械薪薪褟 褋褌芯褉褨薪泻懈: %1 + + + + WebView + + + Open in New &Window + 袙褨写泻褉懈褌懈 胁 薪芯胁芯屑褍 &胁褨泻薪褨 + + + + Open in New &Tab + 袙褨写泻褉懈褌懈 胁 薪芯胁褨泄 &胁泻谢邪写褑褨 + + + + Save Lin&k + 袟斜械褉械谐褌懈 &锌芯褋懈谢邪薪薪褟 + + + + &Bookmark This Link + &袛芯写邪褌懈 锌芯褋懈谢邪薪薪褟 写芯 蟹邪泻谢邪写懈薪芯泻 + + + + &Copy Link Location + &小泻芯锌褨褞胁邪褌懈 锌芯褋懈谢邪薪薪褟 + + + + Open Image in New &Window + 袙褨写泻褉懈褌懈 蟹芯斜邪卸械薪薪褟 胁 薪芯胁芯屑褍 &胁褨泻薪褨 + + + + Open Image in New &Tab + 袙褨写泻褉懈褌懈 蟹芯斜邪卸械薪薪褟 胁 薪芯胁褨泄 胁&泻谢邪写褑褨 + + + + &Save Image + &袟斜械褉械谐褌懈 蟹芯斜褉邪卸械薪薪褟 + + + + &Copy Image + &袣芯锌褨褞胁邪褌懈 蟹芯斜褉邪卸械薪薪褟 + + + + C&opy Image Location + 袣&芯锌褨褞胁邪褌懈 锌芯褋懈谢邪薪薪褟 薪邪 蟹芯斜褉邪卸械薪薪褟 + + + + Loading... + 袟邪胁邪薪褌邪卸褍褦褌褜褋褟... + + + + WebViewSearch + + + Not Found + 袧械 蟹薪邪泄写械薪懈泄 + + + + tst_SearchLineEdit + + + Search + 袩芯褕褍泻 + + + From 609dacfcdb91567f555e964c18ef770e3da95912 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 7 Oct 2008 13:25:07 -0400 Subject: [PATCH 0230/1254] Fix compile warning when building in release mode --- src/webview.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/webview.cpp b/src/webview.cpp index 0d4e4b70..3a2ff244 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -191,8 +191,10 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) } QFile file(QLatin1String(":/notfound.html")); - bool isOpened = file.open(QIODevice::ReadOnly); - Q_ASSERT(isOpened); + if (!file.open(QIODevice::ReadOnly)) { + qWarning() << "WebPage::handleUnsupportedContent" << "Unable to open notfound.html"; + return; + } QString title = tr("Error loading page: %1").arg(reply->url().toString()); QString html = QString(QLatin1String(file.readAll())) .arg(title) From ee55e4127720732fa8a73938521b0b837d23ac19 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 7 Oct 2008 13:25:34 -0400 Subject: [PATCH 0231/1254] Add script to build OS X package using the new macdeployqt tool in Qt 4.5 --- buildosx.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 buildosx.sh diff --git a/buildosx.sh b/buildosx.sh new file mode 100755 index 00000000..5ed919c4 --- /dev/null +++ b/buildosx.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# +# This script requires the use of the macdeployqt tool that is found in Qt 4.5 +# + +APP="Arora" +VERSION="0.4" +BACKGROUND="src/data/512x512/arora.png" + +DIR="bundle" +if [ -d $DIR.app ] ; then + echo "$DIR.app already exists" + exit 1; +fi + +# build app with Qt libraries +make distclean --quiet +qmake -config release +make --quiet +$QTDIR/bin/macdeployqt $APP.app/ + +# Create Bundle +mkdir $DIR +cp $BACKGROUND $DIR/.Background.png +cp -rf $APP.app $DIR/ +hdiutil create -ov -srcfolder $DIR -format UDBZ -volname "$APP $VERSION" "$APP.dmg" +hdiutil internet-enable -yes "$APP.dmg" +rm -rf $DIR + +mv $APP.dmg $APP-intel-qt4.5.dmg From ea1846e8955cac08bf6b0d94ea4f1ee6409484f3 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 7 Oct 2008 18:19:47 -0400 Subject: [PATCH 0232/1254] Add Malay Language from Hafidz Nasruddin --- src/locale/locale.pri | 1 + src/locale/ms.ts | 1692 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1693 insertions(+) create mode 100644 src/locale/ms.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 307b6f5d..8f789ea6 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -16,6 +16,7 @@ TRANSLATIONS += \ he.ts \ hu.ts \ it.ts \ + ms.ts \ nl.ts \ pl.ts \ pt_BR.ts \ diff --git a/src/locale/ms.ts b/src/locale/ms.ts new file mode 100644 index 00000000..d60a8572 --- /dev/null +++ b/src/locale/ms.ts @@ -0,0 +1,1692 @@ + + + + + AboutDialog + + + About + Perihal + + + + Authors + Penulis + + + + License + Lesen + + + + Lightweight WebKit-based web browser + Pelayan web ringan berasaskan WebKit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Tutup + + + + AddBookmarkDialog + + + Add Bookmark + Tambah Tandabuku + + + + Type a name for the bookmark, and choose where to keep it. + Taipkan nama tandabuku dan pilih di mana harus disimpan. + + + + BookmarksDialog + + + Open + Buka + + + + Open in New Tab + Buka di Tab Baru + + + + Delete + Padam + + + + New Folder + Folder Baru + + + + Bookmarks + Tandabuku + + + + &Remove + &Buang + + + + Add Folder + Tambah Folder + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Ralat semasa menyimpan tanda buku pada baris %1, lajur %2: +%3 + + + + Toolbar Bookmarks + Bar Alat Tandabuku + + + + Menu + Menu + + + + Open File + Buka Fail + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 diimport + + + + Save File + Simpan Fail + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Ralat eksport + + + + error saving bookmarks + ralat menyimpan tandabuku + + + + Remove Bookmark + Buang Tandabuku + + + + Insert Bookmark + Masukkan tandabuku + + + + Name Change + Perubahan Nama + + + + Address Change + Alamat Berubah + + + + BookmarksModel + + + Title + Tajuk + + + + Address + Alamat + + + + BookmarksToolBar + + + Bookmark + Tandabuku + + + + BrowserApplication + + + (Change: %1 %2) + (Ubah: %1 %2) + + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Terdapat %1 tetingkap dan %2 tab masih terbuka +Teruskan untuk keluar? + + + + Restore failed + Gagal mengembalikan + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Arora gagal berfungsi semasa cuba mengembalikan sessi yang disimpan. Sessi berkenaan tidak akan dikembalikan. + + + + BrowserMainWindow + + + &File + &Fail + + + + &New Window + &Tetingkap Baru + + + + &Open File... + &Buka Fail... + + + + Open &Location... + Buka &Lokasi... + + + + &Save As... + &Simpan Sebagai... + + + + &Import Bookmarks... + &Import Tandabuku... + + + + &Export Bookmarks... + &Eksport Tandabuku... + + + + P&rint Preview... + P&rapapar Pencetak... + + + + &Print... + &Pencetak... + + + + Private &Browsing... + Melungsur secara pri&vasi... + + + + &Quit + &Keluar + + + + &Edit + &Edit + + + + &Undo + &Batalkan + + + + &Redo + Buat &Semula + + + + Cu&t + Po&tong + + + + &Copy + &Salin + + + + &Paste + &Tampal + + + + &Find + &Cari + + + + Find Nex&t + Cari Sete&rusnya + + + + Find P&revious + Cari Seb&elumnya + + + + Prefere&nces... + Opsye&n... + + + + Ctrl+, + Ctrl+, + + + + &View + &Lihat + + + + Show Menu Bar + Tunjuk Bar Menu + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &Henti + + + + &Reload Page + &Ulangmuat Laman + + + + Make Text &Bigger + &Besarkan Text + + + + Make Text &Normal + &Normalkan Text + + + + Make Text &Smaller + &Kecilkan Text + + + + Page S&ource + S&umber Laman + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + S&krin Penuh + + + + Hi&story + &Sejarah + + + + Back + Undur + + + + Forward + Maju + + + + Home + Laman Utama + + + + Restore Last Session + Kembalikan Sessi Akhir + + + + &Bookmarks + Tanda&buku + + + + Manage Bookmarks... + Urus Tandabuku... + + + + Add Bookmark... + Tambah Tandabuku... + + + + &Window + &Tetingkap + + + + &Tools + &Alatan + + + + Web &Search + &Carian Web + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + &Hapus Data Peribadi + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + Benarkan Peny&iasat Web + + + + &Help + &Bantuan + + + + Switch application language + Tukar bahasa aplikasi + + + + About &Qt + Berkenaan &Qt + + + + About &Arora + Berkenaan &Arora + + + + Navigation + Navigasi + + + + Show Status Bar + Tunjuk Bar Status + + + + Hide Status Bar + Sembunyi Bar Status + + + + Show Toolbar + Tunjuk Bar Alat + + + + Hide Toolbar + Sembunyi Bar Alat + + + + Show Bookmarks Bar + Tunjuk Bar Tandabuku + + + + Hide Bookmarks Bar + Sembunyi Bar Tandabuku + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Buka Sumber Web + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Sumber Web (*.html *.htm *.svg *.png *.gif *.svgz);;Semua fail (*.*) + + + + Print Document + Cetak Dokumen + + + + Are you sure you want to turn on private browsing? + Anda pasti ingin membuka lungsuran secara privasi? + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Apabila lungsuran secara privasi sedang dibuka, Aksi yang melibatkan privasi anda dilumpuhkan:<ul><li> Laman yang dilawati tidak ditambah ke sejarah.</li><li> Senarai muaturun dibersihkan.</li><li> Cookies baru tidak disimpan, cookies semasa tidak boleh dicapai.</li><li> Ikon laman web dan sessi tidak disimpan.</li><li> Carian tidak disimpan di menu popup kotak carian.</li></ul>Selagi tetingkap tidak ditutup, anda masih boleh klik pada butang Undur dan Maju untuk kembalik ke laman yang pernah dibuka. + + + + Are you sure you want to close the window? There are %1 tabs open + Anda pasti ingin menutup tetingkap ini? Masih ada %1 tab terbuka + + + + Web Inspector + Penyiasat Web + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + Penyiasat Web cuma akan berfungsi dengan betul di laman yang dibuka selepas ia dibenarkan berfungsi. +Anda mahu ulangmuat kesemua laman? + + + + Stop loading the current page + Henti memuat laman semasa + + + + Reload the current page + Ulangmuat laman semasa + + + + Downloads + Muaturun + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + ClearButton + + + Clear + Hapus + + + + ClearPrivateData + + + Clear Private Data + Hapus Data Peribadi + + + + Clear the following items: + Hapuskan perkara berikut: + + + + &Browsing History + Sejarah &Lungsuran + + + + &Download History + Sejarah &Muaturun + + + + &Search History + Sejarah &Carian + + + + &Cookies + Coo&kie + + + + C&ached Web Pages + C&ache Laman Web + + + + Website &Icons + &Ikon Laman web + + + + Clear &Private Data + &Hapus Data Peribadi + + + + &Cancel + &Batal + + + + CookieExceptionsModel + + + Website + Laman web + + + + Rule + Peraturan + + + + Allow + Benar + + + + Block + Larang + + + + Allow For Session + Benarkan Untuk Sessi + + + + CookieModel + + + Website + Laman web + + + + Name + Nama + + + + Path + Path + + + + Secure + Selamat + + + + Expires + Luput + + + + Contents + Kandungan + + + + true + true + + + + false + false + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + &Buang + + + + Remove &All Cookies + Buang Semu&a Cookies + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Pengecualian Cookie + + + + New Exception + Cookie Baru + + + + Domain: + Domain: + + + + Block + Larang + + + + Allow For Session + Benarkan Untuk Sessi + + + + Allow + Benar + + + + Exceptions + Pengecualian + + + + &Remove + &Buang + + + + Remove &All + Buang Semu&a + + + + DownloadDialog + + + Downloads + Muaturun + + + + Clean up + Bersihkan + + + + 0 Items + 0 perkara + + + + &OK + &OK + + + + DownloadItem + + + Form + Borang + + + + Ico + Ico + + + + Filename + Nama fail + + + + Try Again + Cuba Semula + + + + Stop + Henti + + + + Open + Buka + + + + Save File + Simpan Fail + + + + Download canceled: %1 + Muaturun dibatalkan: %1 + + + + Error opening output file: %1 + Ralat membuka fail keluaran: %1 + + + + Error saving: %1 + Ralat menyimpan: %1 + + + + Network Error: %1 + Ralat Rangkaian: %1 + + + + seconds + saat + + + + - %n minutes remaining + + lagi %n minit + + + + + + - %n seconds remaining + + lagi %n saat + + + + + + %1 of %2 (%3/sec) %4 + %1 dari %2 (%3/saat) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 of %2 - Berhenti + + + + bytes + byte + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + %n Download(s) + + %n Muaturun + Muaturun + + + + + HistoryDialog + + + Open + Buka + + + + Copy + Salin + + + + Delete + Padam + + + + History + Sejarah + + + + &Remove + &Buang + + + + Remove &All + Buang Semu&a + + + + HistoryMenu + + + Show All History + Tunjuk Semua Sejarah + + + + Clear History... + Hapus Sejarah... + + + + Clear History + Hapus Sejarah... + + + + Do you want to clear the history? + Anda mahu hapus sejarah? + + + + HistoryModel + + + Title + Tajuk + + + + Address + Alamat + + + + HistoryTreeModel + + + Earlier Today + Awal Hari Ini + + + + %n item(s) + + %n perkara + perkara + + + + + LanguageManager + + + System locale (%1) %2 + Sistem Tempatan (%1) %2 + + + + Choose language + Pilih bahasa + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>Anda boleh menggunakan bahasa selain dari<br>tetapan sistem operasi.</p><p>Sila pilih bahasa yang harus digunakan</p> + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Masukkan nama pengguna dan katalaluan untuk "%1" di %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Berhubung dengan proxy "%1" menggunakan:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + Ralat SSL: + +%1 + +%2 + +Anda mahu abaikan ralat ini? + + + + Do you want to accept all these certificates? + Anda mahu menerima kesemua sijil? + + + + PasswordDialog + + + Authentication Required + Pengesahan Diperlukan + + + + DUMMY ICON + IKON DUMMY + + + + INTRO TEXT DUMMY + TEXT PENGENALAN DUMMY + + + + Username: + Nama pengguna: + + + + Password: + Katalaluan + + + + PlainTextEditSearch + + + Not Found + Tidak Jumpa + + + + ProxyDialog + + + Proxy Authentication + Pengesahan Proxy + + + + ICON + IKON + + + + Connect to proxy + Berhubung dengan proxy + + + + Username: + Nama pengguna: + + + + Password: + Katalaluan + + + + QObject + + + The file is not an XBEL version 1.0 file. + Ini bukan fail XBEL versi 1.0. + + + + Unknown title + Tajuk tidak diketahui + + + + SearchBanner + + + Form + Borang + + + + TextLabel + LabelText + + + + < + < + + + + > + > + + + + Done + Siap + + + + SearchLineEdit + + + Search + Cari + + + + Settings + + + Preferences + Opsyen + + + + General + Umum + + + + On startup: + Bila dibuka: + + + + Show my home page + Tunjuk laman utama saya + + + + Show a blank page + Tunjuk laman kosong + + + + Restore windows and tabs from last time + Kembalikan tetingkap dan tab dari masa lampau + + + + Home Page: + Laman Utama: + + + + Set to current page + Tetapkan kepada laman semasa + + + + Remove history items: + Buang sejarah: + + + + After one day + Selepas sehari + + + + After one week + Selepas seminggu + + + + After two weeks + Selepas dua minggu + + + + After one month + Selepas sebulan + + + + After one year + Selepas setahun + + + + Manually + Secara manual + + + + On application exit + Bila aplikasi keluar + + + + Open links from applications: + Buka pautan dari aplikasi: + + + + In a tab in the current window + Di tab pada tetingkap semasa + + + + In a new window + Di tetingkap baru + + + + Downloads + Muaturun + + + + Ask for a destination each time + Sentiasa menanya destinasi + + + + Use this destination: + Gunakan destinasi ini: + + + + Appearance + Penampilan + + + + Standard font: + Font Standard: + + + + Times 16 + Times 16 + + + + Select... + Pilih... + + + + Fixed-width font: + Font lebar-tetap: + + + + Courier 13 + Courier 13 + + + + Privacy + Privasi + + + + Web Content + Kandungan Web + + + + Enable Plugins + Benarkan Plugin + + + + Enable Javascript + Benarkan Javascript + + + + View Images + Tunjuk Imej + + + + Cookies + Cookie + + + + Accept Cookies: + Terima Cookie: + + + + Always + Sentiasa + + + + Never + Tidak + + + + Only from sites you navigate to + Cuma dari laman yang anda pergi + + + + Exceptions... + Pengecualian... + + + + Keep Cookies Until: + Simpan Cookie Sehingga: + + + + They expire + Ia Lupus + + + + I exit the application + Saya keluar dari aplikasi + + + + At most 90 days + Paling lama 90 hari + + + + Cookies... + Cookie... + + + + Tabs + Tab + + + + Select tabs and windows as they are created + Pilih tab dan tetingkap sebaik ia dicipta + + + + Confirm when closing multiple tabs + Pastikan bila menutup berbilang tab + + + + Proxy + Proxy + + + + Use proxy server + Guna server proxy + + + + Type: + Type: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host name: + Host name: + + + + Port: + Port: + + + + User Name: + Nama pengguna: + + + + Password: + Katalaluan: + + + + Advanced + Lanjut + + + + Style Sheet: + Style Sheet: + + + + SourceViewer + + + Loading... + Memuat... + + + + &Edit + &Edit + + + + &Find + &Cari + + + + Source of Page + Sumber Laman + + + + TabBar + + + Show Tab Bar + Tunjuk Bar Tab + + + + Hide Tab Bar + Sembunyi Bar Tab + + + + New &Tab + &Tab Baru + + + + Duplicate Tab + Salin Tab + + + + &Close Tab + T&utup Tab + + + + Close &Other Tabs + Tutup &Lain-lain Tab + + + + Reload Tab + Ulangmuat Tab + + + + Reload All Tabs + Ulangmuat Semua Tab + + + + TabWidget + + + New &Tab + &Tab Baru + + + + &Close Tab + T&utup Tab + + + + Show Next Tab + Tunjuk Tab Seterusnya + + + + Show Previous Tab + Tunjuk Tab Sebelumnya + + + + Recently Closed Tabs + Tab yang baru ditutup + + + + Untitled + Tiada tajuk + + + + Do you really want to close this page? + Anda benar-benar mahu menutup laman ini? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Anda sudah mengubah laman ini dan jika menutupnya akan menyebabkan kehilangan perubahan ini. +Anda benar-benar mahu teruskan dengan menutup laman ini? + + + + + ToolbarSearch + + + No Recent Searches + Tiada Carian Sebelum Ini + + + + Recent Searches + Carian Sebelum Ini + + + + Clear Recent Searches + Hapus Carian Sebelum Ini + + + + WebPage + + + Error loading page: %1 + Ralat memuat laman: %1 + + + + WebView + + + Open in New &Window + Buka di Tetin&gkap Baru + + + + Open in New &Tab + Buka di Tab &Baru + + + + Save Lin&k + Simpan P&autan + + + + &Bookmark This Link + Tanda&buku Pautan Ini + + + + &Copy Link Location + &Salin Lokasi Pautan + + + + Open Image in New &Window + Buka Imej di Tetin&gkap Baru + + + + Open Image in New &Tab + Buka Imej di Tab &Baru + + + + &Save Image + S&impan Imej + + + + &Copy Image + &Salin Imej + + + + C&opy Image Location + S&alin Lokasi Imej + + + + Loading... + Memuat... + + + + WebViewSearch + + + Not Found + Tidak Jumpa + + + From 70fb951e3212b07ecae7095386b30bcf342b8c36 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 7 Oct 2008 04:01:09 -0400 Subject: [PATCH 0233/1254] WebKit in 4.5 requires phonon for cool html5 audio/video tag support. --- windowsinstaller.nsi | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/windowsinstaller.nsi b/windowsinstaller.nsi index 189c5b0e..b29da6ac 100644 --- a/windowsinstaller.nsi +++ b/windowsinstaller.nsi @@ -40,7 +40,8 @@ Section "Main Components" File "C:\qt-snapshot\bin\QtCore4.dll" File "C:\qt-snapshot\bin\QtGui4.dll" File "C:\qt-snapshot\bin\QtNetwork4.dll" - File "C:\qt-snapshot\bin\QtWebKit4.dll" ;"C:\WebKit\WebKitBuild\Release\lib\QtWebKit4.dll" + File "C:\qt-snapshot\bin\QtWebKit4.dll" + File "C:\qt-snapshot\bin\phonon4.dll" File "C:\openssl-0.9.8h\out32dll\ssleay32.dll" File "C:\openssl-0.9.8h\out32dll\libeay32.dll" @@ -63,6 +64,9 @@ Section "Main Components" File "C:\qt-snapshot\plugins\codecs\qkrcodecs4.dll" File "C:\qt-snapshot\plugins\codecs\qjpcodecs4.dll" File "C:\qt-snapshot\plugins\codecs\qcncodecs4.dll" + + SetOutPath "$INSTDIR\phonon_backend" + File "C:\qt-snapshot\plugins\phonon_backend\phonon_ds94.dll" SectionEnd Section Icons From 0d7bc79f108742c5cfc636ba71e5bf0c2cd07be4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 8 Oct 2008 11:22:42 -0400 Subject: [PATCH 0234/1254] Update Tukish translation from h.ibrahim.gungor Issue: 208 --- src/locale/tr.ts | 445 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 434 insertions(+), 11 deletions(-) diff --git a/src/locale/tr.ts b/src/locale/tr.ts index ebca2de0..b08a4fa2 100644 --- a/src/locale/tr.ts +++ b/src/locale/tr.ts @@ -4,6 +4,7 @@ AboutDialog + Lightweight WebKit-based web browser Webkit tabanl谋 hafif bir web taray谋c谋 @@ -13,36 +14,52 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">锟<html><head><meta name="qrichtext" content="1" /><style type="text/css">锟紁, li { white-space: pre-wrap; }锟</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">锟<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">锟<html><head><meta name="qrichtext" content="1" /><style type="text/css">锟紁, li { white-space: pre-wrap; }锟</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">锟<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <a href="http://arora-browser.org">http://arora-browser.org</a> <a href="http://arora-browser.org">http://arora-browser.org</a> + Authors Yazarlar + License Lisans + Close Kapat + About Hakk谋nda + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + AddBookmarkDialog + Add Bookmark Yer 陌mlerine Ekle + Type a name for the bookmark, and choose where to keep it. Yer imi i莽in bir ad girin ve nerede saklanaca臒谋n谋 belirtin. @@ -50,30 +67,37 @@ p, li { white-space: pre-wrap; } BookmarksDialog + Bookmarks Yer 陌mleri + &Remove &Sil + Add Folder Dizin Ekle + Open A莽 + Open in New Tab Yeni Sekmede A莽 + Delete Sil + New Folder Yeni Dizin @@ -81,60 +105,74 @@ p, li { white-space: pre-wrap; } BookmarksManager + Error when loading bookmarks on line %1, column %2: %3 Sat谋r %1, s眉tun %2'deki yerimini y眉klerken hata olu艧tu: 锟%3 + Toolbar Bookmarks Yer 陌mleri Ara莽 脟ubu臒u + Menu Men眉 + Open File Dosya A莽 + XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) + Imported %1 %1 陌莽e Aktar谋ld谋 + Save File Dosyay谋 Kaydet + %1 Bookmarks.xbel %1 Bookmarks.xbel + Export error D谋艧a aktar谋m hatas谋 + error saving bookmarks - Yer imlerini saklarken hata olu艧tu + yer imlerini saklarken hata olu艧tu + Remove Bookmark Yer 陌mini Sil + Insert Bookmark Yer 陌mini Araya Ekle + Name Change 陌sim De臒i艧tir + Address Change Adres De臒i艧tir @@ -142,10 +180,12 @@ p, li { white-space: pre-wrap; } BookmarksModel + Title Ba艧l谋k + Address Adres @@ -153,6 +193,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar + Bookmark Yer 陌mi @@ -160,328 +201,428 @@ p, li { white-space: pre-wrap; } BrowserApplication + There are %1 windows and %2 tabs open Do you want to quit anyway? %1 pencere ve %2 sekme a莽谋k bulunuyor Yinede 莽谋kmak istiyor musunuz? + Restore failed Geri y眉kleme ba艧ar谋s谋z + The saved session will not be restored because Arora crashed while trying to restore this session. Kaydolan oturum geri y眉klenemeyecek 莽眉nk眉 Arora oturumu geri y眉klerken 莽枚kt眉. + + + (Change: %1 %2) + (De臒i艧im: %1 %2) + BrowserMainWindow + &File Do&sya + &New Window &Yeni Pencere + &Open File... Dosya &A莽... + Open &Location... Kon&umu A莽... + &Save As... &Farkl谋 Kaydet... + &Import Bookmarks... Yeri&mlerini 陌莽e Aktar... + &Export Bookmarks... Yerimlerini D谋&艧a Aktar... + P&rint Preview... Bask谋 &脰nizleme... + &Print... Ya&zd谋r... + Private &Browsing... 脰zel Gez&inme... + &Quit &脟谋k谋艧 + &Edit D&眉zenle + &Undo &Geri Al + &Redo &陌leri Al + Cu&t &Kes + &Copy K&opyala + &Paste &Yap谋艧t谋r + &Find &Bul Find &Next - &Sonrakini Bul + &Sonrakini Bul + Find P&revious &脰ncekini Bul Prefe&rences - Te&rcihler + Te&rcihler + Ctrl+, Ctrl+, + &View &G枚r眉n眉m + Ctrl+| Ctrl+| + Shift+Ctrl+B Shift+Ctrl+B + Ctrl+/ Ctrl+/ + &Stop &Dur + &Reload Page &Sayfay谋 Yeniden Y眉kle + Make Text &Bigger &Yaz谋y谋 B眉y眉t + Make Text &Normal Yaz谋y谋 &Normal Yap + Make Text &Smaller Yaz谋y谋 K&眉莽眉lt + Page S&ource Sayfa Kayna&臒谋 + Ctrl+Alt+U Ctrl+Alt+U + &Full Screen Tam Ek&ran + Hi&story Ge&莽mi艧 + Back Geri + Forward 陌leri + Home Ev + Restore Last Session En Son Oturumu Geri Y眉kle + &Bookmarks &Yer 陌mleri + Manage Bookmarks... Yer 陌mlerini D眉zenle... + Add Bookmark... Yer 陌mi Ekle... + &Window &Pencere + &Tools &Ara莽lar + Web &Search &Arama + Ctrl+K Web Search Ctrl+K + &Clear Private Data &脰zel Verileri Temizle + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete + Enable Web &Inspector A臒 Denet&莽isini Aktif Et + &Help Yard&谋m + About &Qt &Qt Hakk谋nda + About &Arora &Arora Hakk谋nda + Navigation Gezinme + Show Status Bar Durum 脟ubu臒unu G枚ster + Hide Status Bar Durum 脟ubu臒unu Gizle + Show Toolbar Ara莽 脟ubu臒unu G枚ster + Hide Toolbar Ara莽 脟ubu臒unu Gizle + Show Bookmarks Bar Yerimi Ara莽 脟ubu臒unu G枚ster + Hide Bookmarks Bar Yerimi Ara莽 脟ubu臒unu Gizle + Arora Arora + %1 - Arora Page title and Browser name %1 - Arora + Open Web Resource - Sayfa Kayna臒谋n谋 A莽 + A臒 Kayna臒谋n谋 A莽 + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Sayfa Kaynaklar谋 (*.html *.htm *.svg *.png *.gif *.svgz);;T眉m Dosyalar (*.*) + Print Document - D枚k眉man谋 Yazd谋r + Belgeyi Yazd谋r + Are you sure you want to turn on private browsing? Gizli gezinmeyi a莽mak istedi臒inizden emin misiniz? + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Gizli gezinme aktifken, sizin gizlili臒inizle ba臒lant谋l谋 olan baz谋 davran谋艧lar iptal edilecektir:<ul><li> Web sayfalar谋 ge莽mi艧e eklenmeyecekler.</li><li> 陌ndirme penceresindeki 枚臒eler otomatik olarak silinecekler.</li><li> Yeni 莽erezler saklanmayacak, mevcut 莽erezlere eri艧im sa臒lanmayacakt谋r.</li><li> Sayfa ikonlar谋 saklanmayacak, oturum kaydedilmeyecektir.</li><li> Aramalar, arama kutusundaki a莽谋l谋r men眉ye eklenmeyecektir.</li></ul>Siz pencereyi kapatana kadar, a莽t谋臒谋n谋z web sayfas谋na geri d枚nmek i莽in 陌leri ve Geri d眉臒melerine t谋klayabileceksiniz. + Are you sure you want to close the window? There are %1 tabs open Pencereyi kapatmak istedi臒inizden emin misiniz? %1 sekme a莽谋k Page Source of %1 - %1'in Sayfa Kayna臒谋 + %1'in Sayfa Kayna臒谋 + Web Inspector A臒 Denet莽isi + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? A臒 Denet莽isi sadece aktif edildikten sonra y眉klenen sayfalarda d眉zg眉n 莽al谋艧acakt谋r. T眉m sayfalar谋 yenilemeyi istiyor musunuz? + Stop loading the current page Mevcut sayfay谋 y眉klemeyi durdur + Reload the current page Mevcut sayfay谋 yenile + Downloads 陌ndirilenler + Alt+Ctrl+L Download Manager Alt+Ctrl+L + + + Find Nex&t + Sonra&kini Bul + + + + Prefere&nces... + Se&莽enekler... + + + + Show Menu Bar + Men眉 脟ubu臒unu G枚ster + + + + Switch application language + Uygulama dilini de臒i艧tir + ClearButton + Clear Temizle @@ -489,42 +630,52 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? ClearPrivateData + Clear Private Data 脰zel Verileri Temizle + Clear the following items: A艧a臒谋daki 枚臒eleri temizle: + &Browsing History &Gezinme Ge莽mi艧i + &Download History &陌ndirilenler Ge莽mi艧i + &Search History &Arama Ge莽mi艧i + &Cookies &脟erezler + C&ached Web Pages &脰nbelle臒e al谋nm谋艧 Web Sayfalar谋 + Website &Icons Web Sayfas谋 S&imgeleri + Clear &Private Data 脰zel Verileri Te&mizle + &Cancel &陌ptal @@ -532,22 +683,27 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? CookieExceptionsModel + Website Web Sayfas谋 + Rule Kural + Allow 陌zin Ver + Block K谋s谋tla + Allow For Session Bu Oturum 陌莽in 陌zin Ver @@ -555,34 +711,42 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? CookieModel + Website Web Sayfas谋 + Name 陌sim + Path Yol + Secure G眉venli + Expires Sonlanma + Contents - 陌莽erikler + 陌莽erik + true do臒ru + false yanl谋艧 @@ -590,14 +754,17 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? CookiesDialog + Cookies 脟erezler + &Remove &Kald谋r + Remove &All Cookies T眉m 脟erezleri Kald谋&r @@ -605,38 +772,47 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? CookiesExceptionsDialog + Cookie Exceptions 脟erez 陌stisnalar谋 + New Exception Yeni 陌stisna + Domain: - Alan: + Etki Alan谋: + Block Blok + Allow For Session Bu Oturuma 陌zin Ver + Allow 陌zin Ver + Exceptions 陌stisnalar + &Remove &Kald谋r + Remove &All Hepsini Kald谋&r @@ -644,116 +820,175 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? DownloadDialog + Downloads 陌ndirilenler + Clean up Temizle + 0 Items 0 脰臒e + + + &OK + &Tamam + DownloadItem + Form Form + Ico Ico + Filename Dosyaad谋 + Try Again Yeniden Dene + Stop Dur + Open A莽 + Save File Dosyay谋 Kaydet + Download canceled: %1 陌ndirme iptal edildi: %1 + Error opening output file: %1 脟谋kt谋 dosyas谋 a莽谋l谋rken hata olu艧tu: %1 + Error saving: %1 Kaydederken hata olu艧tu: %1 + Network Error: %1 A臒 Hatas谋: %1 + seconds saniye + %1 of %2 (%3/sec) %4 %2'nin %1'i (%3/sn) %4 + ? ? + %1 of %2 - Stopped %2'nin %1'i - Durdu + bytes byte + kB kB + MB MB + + + - %n minutes remaining + + - %n dakika kald谋 + - %n dakika kald谋 + + + + + - %n seconds remaining + + - %n saniye kald谋 + - %n saniye kald谋 + + + + + DownloadManager + + + %n Download(s) + + %n 陌ndirilen + %n 陌ndirilenler + + HistoryDialog + History Ge莽mi艧 + &Remove &Kald谋r + Remove &All &Hepsini Kald谋r + Open A莽 + Copy Kopyala + Delete Sil @@ -761,21 +996,35 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? HistoryMenu + Show All History T眉m Ge莽mi艧i G枚ster + Clear History Ge莽mi艧i Temizle + + + Clear History... + Ge莽mi艧i Temizle... + + + + Do you want to clear the history? + Ge莽mi艧i temizlemek istiyor musunuz? + HistoryModel + Title Ba艧l谋k + Address Adres @@ -783,21 +1032,51 @@ T眉m sayfalar谋 yenilemeyi istiyor musunuz? HistoryTreeModel + Earlier Today Bug眉nden 脰nce + + + %n item(s) + + %n 枚臒e + %n 枚臒e + + + + + LanguageManager + + + System locale (%1) %2 + Sistem yereli (%1) %2 + + + + Choose language + Dil Se莽iniz + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>陌艧letim sisteminin varsay谋lan dilinden<br>ba艧ka bir dil se莽ebilirsiniz.</p><p>L眉tfen kullan谋lacak dili se莽ini</p> + NetworkAccessManager + <qt>Enter username and password for "%1" at %2</qt> <qt>%2 deki %1 i莽in kullan谋c谋 ad谋 ve parola girin</qt> + <qt>Connect to proxy "%1" using:</qt> <qt>Vekil "%1" 'e bunu kullanarak ba臒lan:</qt> + SSL Errors: %1 @@ -814,6 +1093,7 @@ Do you want to ignore these errors? 锟硷考Bu hatalar谋 g枚zard谋 etmek istiyor musunuz? + Do you want to accept all these certificates? T眉m bu sertifikalar谋 kabul etmek istiyor musunuz? @@ -821,45 +1101,63 @@ Do you want to ignore these errors? PasswordDialog + Authentication Required Kimlik Denetimi Gerekli + DUMMY ICON DUMMY ICON + INTRO TEXT DUMMY INTRO TEXT DUMMY + Username: Kullan谋c谋 Ad谋: + Password: Parola: + + PlainTextEditSearch + + + Not Found + Bulunamad谋 + + ProxyDialog + Proxy Authentication Vekil Kimlik Denetimi + ICON ICON + Connect to proxy Proxy'e ba臒lan + Username: Kullan谋c谋 ad谋: + Password: Parola: @@ -867,10 +1165,12 @@ Do you want to ignore these errors? QObject + The file is not an XBEL version 1.0 file. Dosya bir XBEL s眉r眉m 1.0 dosyas谋 de臒il. + Unknown title Bilinmeyen ba艧l谋k @@ -878,22 +1178,27 @@ Do you want to ignore these errors? SearchBanner + Form Form + TextLabel TextLabel + < < + > > + Done Bitti @@ -901,6 +1206,7 @@ Do you want to ignore these errors? SearchLineEdit + Search Ara @@ -908,269 +1214,358 @@ Do you want to ignore these errors? Settings + Preferences Tercihler + General Genel + On startup: - A莽谋l谋艧: + A莽谋l谋艧ta: + Show my home page Giri艧 sayfam谋 g枚ster + Show a blank page Bo艧 bir sayfa g枚ster + Restore windows and tabs from last time En son a莽谋k olan pencere ve sekmeleri geri y眉kle + Home Page: Giri艧 Sayfas谋: + Set to current page Mevcut sayfay谋 ayarla + Remove history items: Ge莽mi艧 枚臒eleri kald谋r: + After one day Bir g眉n sonra + After one week Bir hafta sonra + After two weeks 陌ki hafta sonra + After one month Bir ay sonra + After one year Bir y谋l sonra + Manually Elle + On application exit Uygulama kapan谋rken + Open links from applications: Uygulamalardaki ba臒lant谋lar谋 a莽: + In a tab in the current window Mevcut penceredeki bir sekmede + In a new window Yeni pencerede + Downloads 陌ndirilenler + Ask for a destination each time Her seferinde hedefi sor + Use this destination: Bu hedefi kullan: + Appearance G枚r眉n眉m + Standard font: Standart yaz谋tipi: + Times 16 Times 16 + Select... Se莽... + Fixed-width font: Sabit-geni艧likli yaz谋tipi: + Courier 13 Courier 13 + Privacy Gizlilik + Web Content Web 陌莽eri臒i + Enable Plugins Eklentileri Aktif Et + Enable Javascript Javascript'i Aktif Et + View Images G枚r眉nt眉leri G枚ster + Cookies 脟erezler + Accept Cookies: 脟erezleri Kabul Et: + Always Herzaman + Never Asla + Only from sites you navigate to Sadece 艧u sayfalarda gezinirken + Exceptions... 陌stisnalar... + Keep Cookies Until: 脟erezleri Tut: + They expire S眉resi dolunca + I exit the application Uygulamadan 莽谋karken + At most 90 days En fazla 90 g眉n + Cookies... 脟erezler... + Tabs Sekmeler + Select tabs and windows as they are created Pencere ve sekmeleri olu艧turulduklar谋nda se莽 + Confirm when closing multiple tabs 脟oklu sekmeleri kapat谋rken onay iste + Proxy Vekil + Use proxy server Vekil sunucusu kullan + Type: T眉r: + Socks5 Socks5 + Http Http + Host name: Sunucu ad谋: + Port: Port: + User Name: Kullan谋c谋 Ad谋: + Password: Parola: + Advanced Geli艧mi艧 + Style Sheet: Style Sheet + + SourceViewer + + + Loading... + Y眉kleniyor... + + + + &Edit + D&眉zenle + + + + &Find + &Bul + + + + Source of Page + Sayfan谋n Kayna臒谋 + + TabBar + Show Tab Bar Sekme 脟ubu臒unu G枚ster + Hide Tab Bar Sekme 脟ubu臒unu Gizle + New &Tab Yeni Se&kme + Duplicate Tab Sekmeyi Kopyala + &Close Tab Sekmeyi K&apat + Close &Other Tabs Di臒er Sekmeleri Kapa&t + Reload Tab Sekmeyi Yeniden Y眉kle + Reload All Tabs T眉m Sekmeleri Yeniden Y眉kle @@ -1178,34 +1573,41 @@ Do you want to ignore these errors? TabWidget + New &Tab Yeni Sek&me + &Close Tab Sekmeyi K&apat + Show Next Tab Sonraki Sekmeyi G枚ster + Show Previous Tab 脰nceki Sekmeyi G枚ster + Recently Closed Tabs Yeni Kapat谋lan Sekmeler (Untitled) - (Ba艧l谋ks谋z) + (Ba艧l谋ks谋z) + Do you really want to close this page? Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1213,18 +1615,26 @@ Do you really want to close this page? Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? + + + Untitled + Ba艧l谋ks谋z + ToolbarSearch + No Recent Searches Yeni Arama Yok + Recent Searches Yeni Aramalar + Clear Recent Searches Yeni Aramalar谋 Temizle @@ -1232,6 +1642,7 @@ Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? WebPage + Error loading page: %1 Sayfay谋 y眉klerken hata: %1 @@ -1239,46 +1650,57 @@ Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? WebView + Open in New &Window Yeni &Pencerede A莽 + Open in New &Tab &Yeni Sekmede A莽 + Save Lin&k &Ba臒lant谋y谋 Kaydet + &Bookmark This Link &Bu Ba臒lant谋y谋 Yerimlerine Ekle + &Copy Link Location Ba臒lant谋n谋n Konumunu &Kopyala + Open Image in New &Window G枚r眉nt眉y眉 Yeni &Pencerede A莽 + Open Image in New &Tab &G枚r眉nt眉y眉 Yeni Sekmede A莽 + &Save Image G&枚r眉nt眉y眉 Kaydet + &Copy Image G&枚r眉nt眉y眉 Kopyala + C&opy Image Location G枚&r眉nt眉n眉n Konumunu Kopyala + Loading... Y眉kleniyor... @@ -1286,6 +1708,7 @@ Bu sayfay谋 ger莽ekten kapatmay谋 istiyor musunuz? WebViewSearch + Not Found Bulunamad谋 From 45e27c5c5bb9a413d781ff3bbaba09787b1df565 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 9 Oct 2008 23:40:20 -0400 Subject: [PATCH 0235/1254] On OS X target 10.4 --- src/src.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/src/src.pro b/src/src.pro index d964a365..04f7f9ed 100644 --- a/src/src.pro +++ b/src/src.pro @@ -3,6 +3,7 @@ TEMPLATE = app TARGET = arora mac { TARGET = Arora + QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 } DEFINES += QT_NO_CAST_FROM_ASCII From b10742c1dccd264816d88e095aa3cff6935b8804 Mon Sep 17 00:00:00 2001 From: porphyr Date: Thu, 9 Oct 2008 22:16:28 +0200 Subject: [PATCH 0236/1254] Updated German translation --- src/locale/de.ts | 87 ++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/src/locale/de.ts b/src/locale/de.ts index b94fb7dc..488bc03e 100644 --- a/src/locale/de.ts +++ b/src/locale/de.ts @@ -32,12 +32,12 @@ Lightweight WebKit-based web browser - leichgewichtiger WebKit basierender Webbrowser + leichtgewichtiger WebKit-basierter Webbrowser <a href="http://arora-browser.org">http://arora-browser.org</a> - + <a href="http://arora-browser.org">http://arora-browser.org</a> @@ -51,7 +51,7 @@ p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">锟<html><head><meta name="qrichtext" content="1" /><style type="text/css">锟紁, li { white-space: pre-wrap; }锟</style></head><body style="font-size:9pt;">锟<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> @@ -111,7 +111,8 @@ p, li { white-space: pre-wrap; } Error when loading bookmarks on line %1, column %2: %3 - + Fehler beim Laden der Lesezeichen in Zeile %1, Spalte %2锟: +%3 @@ -151,7 +152,7 @@ p, li { white-space: pre-wrap; } Export error - Export Fehler + Exportfehler @@ -197,7 +198,7 @@ p, li { white-space: pre-wrap; } Bookmark - Leszeichen + Lesezeichen @@ -222,12 +223,12 @@ Arora wirklich beenden? (Change: %1 %2) - + (脛nderung: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. - Die gespeicherte Sitzung wird nicht wiederhergestellt weil bei der letzten Wiederherstellung Arora abgest眉rzt ist. + Die gespeicherte Sitzung wird nicht wiederhergestellt, weil bei der letzten Wiederherstellung Arora abgest眉rzt ist. @@ -260,17 +261,17 @@ Arora wirklich beenden? &Import Bookmarks... - &Lesezeichen importieren... + Lesezeichen &importieren... &Export Bookmarks... - &Lesezeichen exportieren... + Lesezeichen &exportieren... P&rint Preview... - Druckvorschau + Druck&vorschau... @@ -280,12 +281,12 @@ Arora wirklich beenden? Private &Browsing... - Private &Browsing... + &Private Browsing... &Quit - Beenden + &Beenden @@ -455,7 +456,7 @@ Arora wirklich beenden? Web &Search - Web &Suche + Web&suche @@ -466,7 +467,7 @@ Arora wirklich beenden? Enable Web &Inspector - Web Inspector aktivieren + Web-&Inspector aktivieren @@ -599,7 +600,7 @@ Sollen alle Seiten neu geladen werden? &Clear Private Data - Private Daten l枚schen... + Private Daten &l枚schen @@ -620,7 +621,7 @@ Sollen alle Seiten neu geladen werden? Find P&revious - Vorheriges &Ergebnis + &Vorheriges Ergebnis @@ -630,7 +631,7 @@ Sollen alle Seiten neu geladen werden? &Reload Page - Seite aktualisieren + Seite &aktualisieren @@ -660,12 +661,12 @@ Sollen alle Seiten neu geladen werden? Find Nex&t - N盲chstes &Ergebnis + &N盲chstes Ergebnis Prefere&nces... - &Einstellungen + Einstellun&gen... @@ -691,7 +692,7 @@ Sollen alle Seiten neu geladen werden? Clear Private Data - Private Daten l枚schen... + Private Daten l枚schen @@ -726,12 +727,12 @@ Sollen alle Seiten neu geladen werden? Website &Icons - &Webseiten Symbole + &Webseiten-Symbole Clear &Private Data - &Private Daten l枚schen... + &Private Daten l枚schen @@ -843,7 +844,7 @@ Sollen alle Seiten neu geladen werden? Cookie Exceptions - Cookie Ausnahme + Cookie Ausnahmen @@ -919,7 +920,7 @@ Sollen alle Seiten neu geladen werden? Download canceled: %1 - Downloads abgebrochen: %1 + Download abgebrochen: %1 @@ -934,7 +935,7 @@ Sollen alle Seiten neu geladen werden? Network Error: %1 - Netzwerk Fehler: %1 + Netzwerk-Fehler: %1 @@ -1030,7 +1031,7 @@ Sollen alle Seiten neu geladen werden? Error opening output file: %1 - Fehler beim 枚ffnen der Ausgabedatei: %1 + Fehler beim 脰ffnen der Ausgabedatei: %1 @@ -1149,7 +1150,7 @@ Sollen alle Seiten neu geladen werden? System locale (%1) %2 - + System-Vorgabe (%1) %2 @@ -1159,7 +1160,7 @@ Sollen alle Seiten neu geladen werden? <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> - + <p>Sie k枚nnen eine andere Sprache w盲hlen,<br>als im Betriebssystem voreingestellt.</p><p>Bitte w盲hlen Sie die Sprache,<br> die verwendet werden soll @@ -1167,12 +1168,12 @@ Sollen alle Seiten neu geladen werden? <qt>Enter username and password for "%1" at %2</qt> - + <qt>Benutzernamen und Password eingeben f眉r "%1" bei "%2"</qt> <qt>Connect to proxy "%1" using:</qt> - + <qt>Mit Proxy "%1" verbinden mit:</qt> @@ -1183,7 +1184,7 @@ Sollen alle Seiten neu geladen werden? %2 Do you want to ignore these errors? - SSL Errors: + SSL-Fehler: %1 @@ -1379,12 +1380,12 @@ M枚chten Sie diese Fehler ignorieren? In a tab in the current window - in einem Tab im aktuellen Fenster + einem Tab im aktuellen Fenster In a new window - In einem neuen Fenster + einem neuen Fenster @@ -1459,12 +1460,12 @@ M枚chten Sie diese Fehler ignorieren? I exit the application - Ich beende das Programm + das Programm beende At most 90 days - Maximal 90 Tage + maximal 90 Tage @@ -1560,7 +1561,7 @@ M枚chten Sie diese Fehler ignorieren? Standard font: - Standard Schriftart + Standard-Schriftart: @@ -1585,12 +1586,12 @@ M枚chten Sie diese Fehler ignorieren? Select tabs and windows as they are created - Neue Tabs und Fenster anzeigen + Neue erzeugte Tabs und Fenster selektieren Confirm when closing multiple tabs - Nachfragen wenn mehrere Tabs geschlossen werden + Nachfragen, wenn mehrere Tabs geschlossen werden @@ -1615,17 +1616,17 @@ M枚chten Sie diese Fehler ignorieren? Restore windows and tabs from last time - Fenster und Tabs vom letzten Mal wiederherstellen + Letzte Sitzung wiederherstellen On application exit - + Beim Beenden Preferences - &Einstellungen + Einstellungen @@ -1681,7 +1682,7 @@ M枚chten Sie diese Fehler ignorieren? New &Tab - Neuer Tab + Neuer &Tab From b57230b58f8de46010d51d193b02833eda19b429 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 9 Oct 2008 23:41:01 -0400 Subject: [PATCH 0237/1254] include date in the bundle name --- buildosx.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/buildosx.sh b/buildosx.sh index 5ed919c4..9b3262d0 100755 --- a/buildosx.sh +++ b/buildosx.sh @@ -5,7 +5,7 @@ APP="Arora" VERSION="0.4" -BACKGROUND="src/data/512x512/arora.png" +#BACKGROUND="src/data/512x512/arora.png" DIR="bundle" if [ -d $DIR.app ] ; then @@ -21,10 +21,11 @@ $QTDIR/bin/macdeployqt $APP.app/ # Create Bundle mkdir $DIR -cp $BACKGROUND $DIR/.Background.png +#cp $BACKGROUND $DIR/.Background.png cp -rf $APP.app $DIR/ hdiutil create -ov -srcfolder $DIR -format UDBZ -volname "$APP $VERSION" "$APP.dmg" hdiutil internet-enable -yes "$APP.dmg" rm -rf $DIR -mv $APP.dmg $APP-intel-qt4.5.dmg +DATE=`date +"%m-%d-%Y"` +mv $APP.dmg "$APP Snapshot ($DATE) Intel-qt4.5.dmg" \ No newline at end of file From 6a9a6755758c004b26345fe195e23b4f988ba635 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 10 Oct 2008 18:57:20 -0400 Subject: [PATCH 0238/1254] Update ms translation by Hafidz Nasruddin --- src/locale/ms.ts | 90 ++++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/src/locale/ms.ts b/src/locale/ms.ts index d60a8572..51ef935e 100644 --- a/src/locale/ms.ts +++ b/src/locale/ms.ts @@ -225,12 +225,12 @@ Teruskan untuk keluar? &New Window - &Tetingkap Baru + Tetin&gkap Baru &Open File... - &Buka Fail... + Buka &Fail... @@ -280,27 +280,27 @@ Teruskan untuk keluar? &Undo - &Batalkan + &Batal &Redo - Buat &Semula + &Semula Cu&t - Po&tong + P&otong &Copy - &Salin + Sa&lin &Paste - &Tampal + Tam&pal @@ -310,12 +310,12 @@ Teruskan untuk keluar? Find Nex&t - Cari Sete&rusnya + Ca&ri Seterusnya Find P&revious - Cari Seb&elumnya + C&ari Sebelumnya @@ -335,7 +335,7 @@ Teruskan untuk keluar? Show Menu Bar - Tunjuk Bar Menu + Papar Bar Menu @@ -360,7 +360,7 @@ Teruskan untuk keluar? &Reload Page - &Ulangmuat Laman + &Muatsemula Laman @@ -435,7 +435,7 @@ Teruskan untuk keluar? &Window - &Tetingkap + Tetin&gkap @@ -472,7 +472,7 @@ Teruskan untuk keluar? &Help - &Bantuan + Bant&uan @@ -482,12 +482,12 @@ Teruskan untuk keluar? About &Qt - Berkenaan &Qt + Perihal &Qt About &Arora - Berkenaan &Arora + Perihal &Arora @@ -497,7 +497,7 @@ Teruskan untuk keluar? Show Status Bar - Tunjuk Bar Status + Papar Bar Status @@ -507,7 +507,7 @@ Teruskan untuk keluar? Show Toolbar - Tunjuk Bar Alat + Papar Bar Alat @@ -517,7 +517,7 @@ Teruskan untuk keluar? Show Bookmarks Bar - Tunjuk Bar Tandabuku + Papar Bar Tandabuku @@ -574,8 +574,8 @@ Teruskan untuk keluar? The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - Penyiasat Web cuma akan berfungsi dengan betul di laman yang dibuka selepas ia dibenarkan berfungsi. -Anda mahu ulangmuat kesemua laman? + Penyiasat Web cuma akan berfungsi dengan baik di laman yang dibuka selepas ia dibenarkan berfungsi. +Anda mahu memuatsemula kesemua laman? @@ -585,7 +585,7 @@ Anda mahu ulangmuat kesemua laman? Reload the current page - Ulangmuat laman semasa + Muatsemula laman semasa @@ -736,7 +736,7 @@ Anda mahu ulangmuat kesemua laman? Cookies - Cookies + Cookie @@ -746,7 +746,7 @@ Anda mahu ulangmuat kesemua laman? Remove &All Cookies - Buang Semu&a Cookies + Buang Semu&a Cookie @@ -825,7 +825,7 @@ Anda mahu ulangmuat kesemua laman? Form - Borang + Form @@ -988,7 +988,7 @@ Anda mahu ulangmuat kesemua laman? Clear History - Hapus Sejarah... + Hapus Sejarah @@ -1030,7 +1030,7 @@ Anda mahu ulangmuat kesemua laman? System locale (%1) %2 - Sistem Tempatan (%1) %2 + Sistem Lokal (%1) %2 @@ -1088,12 +1088,12 @@ Anda mahu abaikan ralat ini? DUMMY ICON - IKON DUMMY + DUMMY ICON INTRO TEXT DUMMY - TEXT PENGENALAN DUMMY + INTRO TEXT DUMMY @@ -1103,7 +1103,7 @@ Anda mahu abaikan ralat ini? Password: - Katalaluan + Katalaluan: @@ -1111,7 +1111,7 @@ Anda mahu abaikan ralat ini? Not Found - Tidak Jumpa + Tiada di laman ini @@ -1124,7 +1124,7 @@ Anda mahu abaikan ralat ini? ICON - IKON + ICON @@ -1139,7 +1139,7 @@ Anda mahu abaikan ralat ini? Password: - Katalaluan + Katalaluan: @@ -1160,12 +1160,12 @@ Anda mahu abaikan ralat ini? Form - Borang + Form TextLabel - LabelText + TextLabel @@ -1180,7 +1180,7 @@ Anda mahu abaikan ralat ini? Done - Siap + Sudah @@ -1391,22 +1391,22 @@ Anda mahu abaikan ralat ini? Keep Cookies Until: - Simpan Cookie Sehingga: + Simpan cookie sehingga: They expire - Ia Lupus + ia lupus I exit the application - Saya keluar dari aplikasi + saya keluar dari aplikasi At most 90 days - Paling lama 90 hari + sehingga 90 hari @@ -1542,12 +1542,12 @@ Anda mahu abaikan ralat ini? Reload Tab - Ulangmuat Tab + Muatsemula Tab Reload All Tabs - Ulangmuat Semua Tab + Muatsemula Semua Tab @@ -1633,7 +1633,7 @@ Anda benar-benar mahu teruskan dengan menutup laman ini? Open in New &Tab - Buka di Tab &Baru + Buka di &Tab Baru @@ -1653,12 +1653,12 @@ Anda benar-benar mahu teruskan dengan menutup laman ini? Open Image in New &Window - Buka Imej di Tetin&gkap Baru + Buka I&mej di Tetingkap Baru Open Image in New &Tab - Buka Imej di Tab &Baru + Buka &Imej di Tab Baru @@ -1668,7 +1668,7 @@ Anda benar-benar mahu teruskan dengan menutup laman ini? &Copy Image - &Salin Imej + Sa&lin Imej From de2ef8d2301c3a2012fa2145c973d278ca3b19a7 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 10 Oct 2008 19:04:06 -0400 Subject: [PATCH 0239/1254] rename file for locale to work properly --- src/locale/locale.pri | 2 +- src/locale/{ru.ts => ru_RU.ts} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/locale/{ru.ts => ru_RU.ts} (100%) diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 8f789ea6..d878c9a6 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -20,7 +20,7 @@ TRANSLATIONS += \ nl.ts \ pl.ts \ pt_BR.ts \ - ru.ts \ + ru_RU.ts \ tr.ts \ uk.ts diff --git a/src/locale/ru.ts b/src/locale/ru_RU.ts similarity index 100% rename from src/locale/ru.ts rename to src/locale/ru_RU.ts From 442376591c27e9ca7a85146aff2e9155df094c35 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 11 Oct 2008 13:24:22 -0400 Subject: [PATCH 0240/1254] rename tr file --- src/locale/locale.pri | 2 +- src/locale/{tr.ts => tr_TR.ts} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/locale/{tr.ts => tr_TR.ts} (100%) diff --git a/src/locale/locale.pri b/src/locale/locale.pri index d878c9a6..56fa285b 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -21,7 +21,7 @@ TRANSLATIONS += \ pl.ts \ pt_BR.ts \ ru_RU.ts \ - tr.ts \ + tr_TR.ts \ uk.ts isEmpty(QMAKE_LRELEASE) { diff --git a/src/locale/tr.ts b/src/locale/tr_TR.ts similarity index 100% rename from src/locale/tr.ts rename to src/locale/tr_TR.ts From 5dbc26be941267ae9b98c0af1bc6faf2b242df8d Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 11 Oct 2008 13:27:18 -0400 Subject: [PATCH 0241/1254] Move language detection both on the system and in the settings in the languagemanager class to keep the code in one place. --- src/browserapplication.cpp | 6 +----- src/languagemanager.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index eceb0881..7281e848 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -131,11 +131,6 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); settings.endGroup(); - settings.beginGroup(QLatin1String("LanguageManager")); - if (settings.contains(QLatin1String("language"))) - languageManager()->setCurrentLanguage(settings.value(QLatin1String("language")).toString()); - settings.endGroup(); - #if defined(Q_WS_MAC) connect(this, SIGNAL(lastWindowClosed()), this, SLOT(lastWindowClosed())); @@ -144,6 +139,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #ifndef AUTOTESTS QTimer::singleShot(0, this, SLOT(postLaunch())); #endif + LanguageManager(); } BrowserApplication::~BrowserApplication() diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index eea90542..e55c66f0 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -48,6 +48,13 @@ LanguageManager::LanguageManager(QObject *parent) , m_appTranslator(0) , m_loaded(false) { + QSettings settings; + settings.beginGroup(QLatin1String("LanguageManager")); + if (settings.contains(QLatin1String("language"))) { + setCurrentLanguage(settings.value(QLatin1String("language")).toString()); + } else if (!currentLanguage().isEmpty()) { + setCurrentLanguage(currentLanguage()); + } } QString LanguageManager::currentLanguage() const From 7daf90139881340e74eb71fd2be47efa2ac86a1d Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 11 Oct 2008 14:05:30 -0400 Subject: [PATCH 0242/1254] Fix some of the warnings reported when added QMAKE_CXXFLAGS += -Weffc++ --- src/bookmarks.cpp | 4 ++++ src/browsermainwindow.cpp | 18 ++++++++++++++++++ src/downloadmanager.cpp | 4 +++- src/history.cpp | 1 + src/utils/lineedit.cpp | 2 ++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index a3e6d6fb..ececfdea 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -709,6 +709,7 @@ AddBookmarkDialog::AddBookmarkDialog(const QString &url, const QString &title, Q : QDialog(parent) , m_url(url) , m_bookmarksManager(bookmarkManager) + , m_proxyModel(0) { setWindowFlags(Qt::Sheet); if (!m_bookmarksManager) @@ -807,6 +808,9 @@ void BookmarksMenu::setInitialActions(QList actions) BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager) : QDialog(parent) + , m_bookmarksManager(0) + , m_bookmarksModel(0) + , m_proxyModel(0) { m_bookmarksManager = manager; if (!m_bookmarksManager) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 8aac6298..17d9ef17 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -102,12 +102,30 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags) + , m_navigationBar(0) + , m_navigationSplitter(0) + , m_toolbarSearch(0) +#if defined(Q_WS_MAC) + , m_bookmarksToolbarFrame(0) +#endif + , m_bookmarksToolbar(0) , m_tabWidget(new TabWidget(this)) , m_autoSaver(new AutoSaver(this)) + , m_showMenuBarAction(0) , m_historyBack(0) + , m_historyBackMenu(0) , m_historyForward(0) + , m_historyForwardMenu(0) + , m_windowMenu(0) + , m_privateBrowsing(0) , m_stop(0) , m_reload(0) + , m_stopReload(0) + , m_viewToolbar(0) + , m_viewBookmarkBar(0) + , m_viewStatusbar(0) + , m_restoreLastSession(0) + , m_addBookmark(0) { setAttribute(Qt::WA_DeleteOnClose, true); statusBar()->setSizeGripEnabled(true); diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index a3c0bd5a..788194a1 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -90,6 +90,8 @@ DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget * , m_reply(reply) , m_requestFileName(requestFileName) , m_bytesReceived(0) + , m_startedSaving(false) + , m_finishedDownloading(false) , m_gettingFileName(false) { setupUi(this); @@ -414,6 +416,7 @@ void DownloadItem::finished() DownloadManager::DownloadManager(QWidget *parent) : QDialog(parent) , m_autoSaver(new AutoSaver(this)) + , m_model(new DownloadModel(this)) , m_manager(BrowserApplication::networkAccessManager()) , m_iconProvider(0) , m_removePolicy(Never) @@ -424,7 +427,6 @@ DownloadManager::DownloadManager(QWidget *parent) downloadsView->horizontalHeader()->hide(); downloadsView->setAlternatingRowColors(true); downloadsView->horizontalHeader()->setStretchLastSection(true); - m_model = new DownloadModel(this); downloadsView->setModel(m_model); connect(cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup())); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); diff --git a/src/history.cpp b/src/history.cpp index 09617698..a0ff1f9b 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -617,6 +617,7 @@ QModelIndex HistoryMenuModel::parent(const QModelIndex &index) const HistoryMenu::HistoryMenu(QWidget *parent) : ModelMenu(parent) , m_history(0) + , m_historyMenuModel(0) { connect(this, SIGNAL(activated(const QModelIndex &)), this, SLOT(activated(const QModelIndex &))); diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index 30b3709d..d0f97c7e 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -51,6 +51,8 @@ LineEdit::LineEdit(QWidget *parent) LineEdit::LineEdit(const QString &contents, QWidget *parent) : QLineEdit(contents, parent) + , m_leftWidget(0) + , m_rightWidget(0) , m_leftLayout(0) , m_rightLayout(0) { From c24091ff207e93a5ef1570892c3d73ff3ca00a85 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 11 Oct 2008 14:20:52 -0400 Subject: [PATCH 0243/1254] Rename language files the give the four letter language code in the ts file --- src/locale/{da.ts => da_DK.ts} | 0 src/locale/{de.ts => de_DE.ts} | 0 src/locale/{en.ts => en_US.ts} | 0 src/locale/{et.ts => et_EE.ts} | 0 src/locale/{he.ts => he_IL.ts} | 0 src/locale/{hu.ts => hu_HU.ts} | 0 src/locale/{it.ts => it_IT.ts} | 0 src/locale/locale.pri | 20 ++++++++++---------- src/locale/{nl.ts => nl_NL.ts} | 0 src/locale/{pl.ts => pl_PL.ts} | 0 10 files changed, 10 insertions(+), 10 deletions(-) rename src/locale/{da.ts => da_DK.ts} (100%) rename src/locale/{de.ts => de_DE.ts} (100%) rename src/locale/{en.ts => en_US.ts} (100%) rename src/locale/{et.ts => et_EE.ts} (100%) rename src/locale/{he.ts => he_IL.ts} (100%) rename src/locale/{hu.ts => hu_HU.ts} (100%) rename src/locale/{it.ts => it_IT.ts} (100%) rename src/locale/{nl.ts => nl_NL.ts} (100%) rename src/locale/{pl.ts => pl_PL.ts} (100%) diff --git a/src/locale/da.ts b/src/locale/da_DK.ts similarity index 100% rename from src/locale/da.ts rename to src/locale/da_DK.ts diff --git a/src/locale/de.ts b/src/locale/de_DE.ts similarity index 100% rename from src/locale/de.ts rename to src/locale/de_DE.ts diff --git a/src/locale/en.ts b/src/locale/en_US.ts similarity index 100% rename from src/locale/en.ts rename to src/locale/en_US.ts diff --git a/src/locale/et.ts b/src/locale/et_EE.ts similarity index 100% rename from src/locale/et.ts rename to src/locale/et_EE.ts diff --git a/src/locale/he.ts b/src/locale/he_IL.ts similarity index 100% rename from src/locale/he.ts rename to src/locale/he_IL.ts diff --git a/src/locale/hu.ts b/src/locale/hu_HU.ts similarity index 100% rename from src/locale/hu.ts rename to src/locale/hu_HU.ts diff --git a/src/locale/it.ts b/src/locale/it_IT.ts similarity index 100% rename from src/locale/it.ts rename to src/locale/it_IT.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 56fa285b..749aefaf 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -4,21 +4,21 @@ DEPENDPATH += $$PWD TRANSLATIONS += \ cs_CZ.ts \ - da.ts \ - de.ts \ - en.ts \ + da_DK.ts \ + de_DE.ts \ + en_US.ts \ es.ts \ es_CR.ts \ - et.ts \ - fr_FR.ts \ + et_EE.ts \ fr_CA.ts \ + fr_FR.ts \ gl.ts \ - he.ts \ - hu.ts \ - it.ts \ + he_IL.ts \ + hu_HU.ts \ + it_IT.ts \ ms.ts \ - nl.ts \ - pl.ts \ + nl_NL.ts \ + pl_PL.ts \ pt_BR.ts \ ru_RU.ts \ tr_TR.ts \ diff --git a/src/locale/nl.ts b/src/locale/nl_NL.ts similarity index 100% rename from src/locale/nl.ts rename to src/locale/nl_NL.ts diff --git a/src/locale/pl.ts b/src/locale/pl_PL.ts similarity index 100% rename from src/locale/pl.ts rename to src/locale/pl_PL.ts From c080a2214ed2f32a41172c6eaa8d64a68cdfb88e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 15 Oct 2008 15:11:53 -0400 Subject: [PATCH 0244/1254] In the locale selection dialog don't display the system option if the locale file already is listed. --- src/languagemanager.cpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index e55c66f0..0c145383 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -133,26 +133,29 @@ void LanguageManager::chooseNewLanguage() loadAvailableLanguages(); QStringList items; - QString systemLocaleString = QLocale::system().name(); - systemLocaleString = tr("System locale (%1) %2") - .arg(systemLocaleString) - // this is for pretty RTL support - .arg(QChar(0x200E)); // LRM = 0x200E; - items << systemLocaleString; - - int defaultItem = 0; + int defaultItem = -1; + QString current = currentLanguage(); foreach (QString name, m_languages) { QLocale locale(name); - if (name == m_currentLanguage) - defaultItem = items.count(); QString string = QString(QLatin1String("%1, %2 (%3) %4")) .arg(QLocale::languageToString(locale.language())) .arg(QLocale::countryToString(locale.country())) .arg(name) // this is for pretty RTL support .arg(QChar(0x200E)); // LRM = 0x200E + if (name == current) + defaultItem = items.count(); items << string; } + if (defaultItem == -1) { + QString systemLocaleString = QLocale::system().name(); + systemLocaleString = tr("System locale (%1) %2") + .arg(systemLocaleString) + // this is for pretty RTL support + .arg(QChar(0x200E)); // LRM = 0x200E; + items << systemLocaleString; + defaultItem = items.count(); + } bool ok; QString item = QInputDialog::getItem(0, @@ -165,11 +168,8 @@ void LanguageManager::chooseNewLanguage() return; int selection = items.indexOf(item); - if (selection == 0) { - setCurrentLanguage(QString()); - } else { - setCurrentLanguage(m_languages.value(selection - 1)); - } + if (selection != m_languages.count()) + setCurrentLanguage(m_languages.value(selection)); } QString LanguageManager::translationLocation() const From 1a01adf3038fc50a9d75467cdd5ca7c6a3af1e74 Mon Sep 17 00:00:00 2001 From: porphyr Date: Sat, 11 Oct 2008 15:30:05 +0200 Subject: [PATCH 0245/1254] Fix / Workaround for issue 184: Middleclick on open tab has inconsistent behavior. Apparently (checked with qDebug()), the handling of the closeTab signal causes a double-handling of the mouseReleaseEvent. Inserting a return after emitting the signal (i.e. not passing it to the inherited handler) immediately fixed the issue... --- src/tabbar.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tabbar.cpp b/src/tabbar.cpp index 7e8b16e5..3b893cae 100644 --- a/src/tabbar.cpp +++ b/src/tabbar.cpp @@ -229,6 +229,7 @@ void TabBar::mouseReleaseEvent(QMouseEvent *event) int index = tabAt(event->pos()); if (index != -1) { emit closeTab(index); + return; } else { QUrl url(QApplication::clipboard()->text(QClipboard::Selection)); if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) From fac63c936eac3ee1225df7ffb151d99198a1b84e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 16 Oct 2008 00:45:32 -0400 Subject: [PATCH 0246/1254] On some web pages, middle-clicking a link opened it in the same window. --- src/webview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webview.cpp b/src/webview.cpp index 3a2ff244..7d364dde 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -111,7 +111,7 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r // ctrl open in new tab // ctrl-shift open in new tab and select // ctrl-alt open in new window - if (type == QWebPage::NavigationTypeLinkClicked + if ((type == QWebPage::NavigationTypeLinkClicked || type == QWebPage::NavigationTypeOther) && (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton)) { bool newWindow = (m_keyboardModifiers & Qt::AltModifier); From ced7c18414bb0feb2028ba4e43b2988740532d3a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 17 Oct 2008 09:20:38 -0400 Subject: [PATCH 0247/1254] When there are no translations show "Default" rather then system language. --- src/languagemanager.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index 0c145383..95fa53ff 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -148,12 +148,7 @@ void LanguageManager::chooseNewLanguage() items << string; } if (defaultItem == -1) { - QString systemLocaleString = QLocale::system().name(); - systemLocaleString = tr("System locale (%1) %2") - .arg(systemLocaleString) - // this is for pretty RTL support - .arg(QChar(0x200E)); // LRM = 0x200E; - items << systemLocaleString; + items << tr("Default"); defaultItem = items.count(); } From 74483a876e95ea6e1022f78baea38d4db3ffbcde Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 17 Oct 2008 10:06:54 -0400 Subject: [PATCH 0248/1254] Set the default item in the drop down properly --- src/languagemanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index 95fa53ff..ef35f17c 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -135,7 +135,7 @@ void LanguageManager::chooseNewLanguage() QStringList items; int defaultItem = -1; QString current = currentLanguage(); - foreach (QString name, m_languages) { + foreach (const QString name, m_languages) { QLocale locale(name); QString string = QString(QLatin1String("%1, %2 (%3) %4")) .arg(QLocale::languageToString(locale.language())) @@ -148,8 +148,8 @@ void LanguageManager::chooseNewLanguage() items << string; } if (defaultItem == -1) { - items << tr("Default"); defaultItem = items.count(); + items << tr("Default"); } bool ok; From 12f13f855059bccd185be898238398b29ec35d32 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 20 Oct 2008 18:48:03 -0400 Subject: [PATCH 0249/1254] normalize duplicate names --- AUTHORS | 2 +- generateAuthors | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index 02b34d94..bf8e5286 100644 --- a/AUTHORS +++ b/AUTHORS @@ -8,7 +8,7 @@ Ariya Hidayat ariya.hidayat@trolltech.com Josef Kufner jk@myserver.cz Adam Treat treat@kde.org Daniel Albuschat d.albuschat@gmail.com -cfchris6 cfchris6@buster.xtense.dyndns.org +porphyr porphyr@gmx.de Vincenzo Reale smart2128@baslug.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com diff --git a/generateAuthors b/generateAuthors index be71b8cd..7888a578 100755 --- a/generateAuthors +++ b/generateAuthors @@ -1 +1,5 @@ -git log --pretty="format:%an %ae" | sed -e s/smart2128\ /Vincenzo\ Reale\ /g | sort | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' +git log --pretty="format:%an %ae" \ + | sed -e 's/smart2128 /Vincenzo Reale /g' \ + | sed -e 's/buster\.xtense\.dyndns\.org/ts2server\.com/g' \ + | sed -e 's/^cfchris6 /Christian Franke /g' \ + | sort | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' From 61427578471dc51064e5ea8ced1e2a7db3c1bedd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 21 Oct 2008 18:50:19 -0400 Subject: [PATCH 0250/1254] use QT_STRICT_ITERATORS to catch errors when compiling --- src/src.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src.pro b/src/src.pro index 04f7f9ed..acedae07 100644 --- a/src/src.pro +++ b/src/src.pro @@ -6,7 +6,7 @@ mac { QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 } -DEFINES += QT_NO_CAST_FROM_ASCII +DEFINES += QT_NO_CAST_FROM_ASCII QT_STRICT_ITERATORS include(src.pri) From 78e26f412a06871f785b4da348216dea67c932a0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 7 Nov 2008 00:28:33 -0500 Subject: [PATCH 0251/1254] Bump version number --- debian-upstream/changelog.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian-upstream/changelog.in b/debian-upstream/changelog.in index d938507a..7eaae449 100644 --- a/debian-upstream/changelog.in +++ b/debian-upstream/changelog.in @@ -1,4 +1,4 @@ -arora (0.2~git##DATE##-1~##DIST##1~upstream1) ##DIST##; urgency=low +arora (0.4~git##DATE##-1~##DIST##1~upstream1) ##DIST##; urgency=low * Initial release (LP: #231731) From c1a304554f8c062e17620ff8e71133004e3a52e4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 7 Nov 2008 01:04:57 -0500 Subject: [PATCH 0252/1254] When enabling or disabling private browsing only the checkbox on the current window is updated, also when opening a window the checkbox is not updated. Issue: 220 --- src/browsermainwindow.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 17d9ef17..98ebc45d 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -135,6 +135,8 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) setupMenu(); setupToolBar(); + m_privateBrowsing->setChecked(QWebSettings::globalSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled)); + QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this); @@ -865,6 +867,13 @@ void BrowserMainWindow::slotPrivateBrowsing() QMessageBox::Ok); if (button == QMessageBox::Ok) { settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); + m_privateBrowsing->setChecked(true); + + QList windows = BrowserApplication::instance()->mainWindows(); + for (int i = 0; i < windows.count(); ++i) { + BrowserMainWindow *window = windows.at(i); + window->m_privateBrowsing->setChecked(true); + } } } else { settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false); @@ -873,9 +882,9 @@ void BrowserMainWindow::slotPrivateBrowsing() for (int i = 0; i < windows.count(); ++i) { BrowserMainWindow *window = windows.at(i); window->tabWidget()->clear(); + window->m_privateBrowsing->setChecked(false); } } - m_privateBrowsing->setChecked(settings->testAttribute(QWebSettings::PrivateBrowsingEnabled)); } void BrowserMainWindow::closeEvent(QCloseEvent *event) From c51ab33a37d27d855de9644c1591563b0c70c37a Mon Sep 17 00:00:00 2001 From: "Benjamin K. Stuhl" Date: Fri, 7 Nov 2008 11:15:59 -0700 Subject: [PATCH 0253/1254] fix a memory leak when creating the context menu under Qt 4.5+ --- src/webview.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/webview.cpp b/src/webview.cpp index 7d364dde..8df53254 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -284,8 +284,10 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) } #if QT_VERSION >= 0x040500 - if (menu->isEmpty()) + if (menu->isEmpty()) { + delete menu; menu = page()->createStandardContextMenu(); + } #endif if (!menu->isEmpty()) { From 567af5be8b341dd34dd7767914acae9a5eec41fb Mon Sep 17 00:00:00 2001 From: "Benjamin K. Stuhl" Date: Fri, 7 Nov 2008 11:14:39 -0700 Subject: [PATCH 0254/1254] .gitignore Kate backup files --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b101154a..f4dfaf70 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,4 @@ Makefile .qm .gdb_history *.swp - +*~ From b6f5e07a952052e4c1c899ff705ac11403946af5 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 31 Jul 2008 22:56:24 +0200 Subject: [PATCH 0255/1254] Add a new tool to convert bookmarks that are in the html format into the XBel format. --- tools/htmlToXBel/.gitignore | 1 + tools/htmlToXBel/extract.js | 49 +++++++++++ tools/htmlToXBel/htmlToXBel.pro | 20 +++++ tools/htmlToXBel/main.cpp | 87 +++++++++++++++++++ tools/htmlToXBel/source.qrc | 6 ++ .../htmlToXBel/tests/firefox3-bookmarks.html | 47 ++++++++++ tools/htmlToXBel/tests/ie7-bookmarks.html | 30 +++++++ tools/htmlToXBel/tests/opera9-bookmarks.html | 20 +++++ 8 files changed, 260 insertions(+) create mode 100644 tools/htmlToXBel/.gitignore create mode 100644 tools/htmlToXBel/extract.js create mode 100644 tools/htmlToXBel/htmlToXBel.pro create mode 100644 tools/htmlToXBel/main.cpp create mode 100644 tools/htmlToXBel/source.qrc create mode 100644 tools/htmlToXBel/tests/firefox3-bookmarks.html create mode 100644 tools/htmlToXBel/tests/ie7-bookmarks.html create mode 100644 tools/htmlToXBel/tests/opera9-bookmarks.html diff --git a/tools/htmlToXBel/.gitignore b/tools/htmlToXBel/.gitignore new file mode 100644 index 00000000..b611ba2d --- /dev/null +++ b/tools/htmlToXBel/.gitignore @@ -0,0 +1 @@ +htmlToXBel diff --git a/tools/htmlToXBel/extract.js b/tools/htmlToXBel/extract.js new file mode 100644 index 00000000..131da4bf --- /dev/null +++ b/tools/htmlToXBel/extract.js @@ -0,0 +1,49 @@ + +function walk() { + var parent = arguments[0]; + var indent = arguments[1]; + + var result = ""; + var children = parent.childNodes; + var folderName = ""; + var folded = ""; + for (var i = 0; i < children.length; i++) { + var object = children.item(i); + if (object.nodeName == "HR") { + result += ""; + } + if (object.nodeName == "H3") { + folderName = object.innerHTML; + folded = object.folded; + if (object.folded == undefined) + folded = "false"; + else + folded = "true"; + } + if (object.nodeName == "A") { + result += indent + "\n"; + result += indent + indent + "" + object.innerHTML + "\n"; + result += indent + "\n"; + } + + var currentIndent = indent; + if (object.nodeName == "DL") { + result += indent + "\n"; + indent += " "; + result += indent + "" + folderName + "\n"; + } + result += walk(object, indent); + if (object.nodeName == "DL") { + result += currentIndent + "\n"; + } + } + return result; +} + +var xbel = walk(document, " "); + +if (xbel != "") { + xbel = "\n\n\n" + xbel + "\n"; +} + +xbel; diff --git a/tools/htmlToXBel/htmlToXBel.pro b/tools/htmlToXBel/htmlToXBel.pro new file mode 100644 index 00000000..fdd8851e --- /dev/null +++ b/tools/htmlToXBel/htmlToXBel.pro @@ -0,0 +1,20 @@ +TEMPLATE = app +TARGET = htmlToXBel +DEPENDPATH += . +INCLUDEPATH += . + +win32: CONFIG += console +mac:CONFIG -= app_bundle + +QT += network webkit + +# Input +SOURCES += main.cpp + +RCC_DIR = $$PWD/.rcc +UI_DIR = $$PWD/.ui +MOC_DIR = $$PWD/.moc +OBJECTS_DIR = $$PWD/.obj + +RESOURCES += source.qrc + diff --git a/tools/htmlToXBel/main.cpp b/tools/htmlToXBel/main.cpp new file mode 100644 index 00000000..702730c6 --- /dev/null +++ b/tools/htmlToXBel/main.cpp @@ -0,0 +1,87 @@ +/* + * Copyright 2008 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include +#include + +/*! + A tool to convert html bookmark files into the xbel format. + + The html bookmark files should be DOCTYPE: NETSCAPE-Bookmark-file-1 + + More information about XBel can be found here: http://pyxml.sourceforge.net/topics/xbel/ +*/ +int main(int argc, char **argv) +{ + QApplication application(argc, argv); + + QFile inFile; + QFile outFile; + QTextStream in(&inFile); + QTextStream out(&outFile); + + // Either read in from stdin and output to stdout + // or read in from a file and output to a file + // Example: ./app foo.html -o bar.xbel + bool setInput = false; + bool setOutput = false; + QStringList args = application.arguments(); + args.pop_front(); + foreach (QString arg, args) { + if (arg == QLatin1String("-o")) { + setOutput = true; + } else if (setOutput) { + outFile.setFileName(arg); + outFile.open(QIODevice::WriteOnly); + } else if (QFile::exists(arg)) { + setInput = true; + inFile.setFileName(arg); + inFile.open(QIODevice::ReadOnly); + } else { + qWarning() << "Usage: htmlToXBel" + << "[stdin|htmlfile]" << "[stdout|-o outFile]"; + return 1; + } + } + + if (!setInput) + inFile.open(stdin, QIODevice::ReadOnly); + if (!setOutput) + outFile.open(stdout, QIODevice::WriteOnly); + if (inFile.openMode() == QIODevice::NotOpen + || outFile.openMode() == QIODevice::NotOpen) { + qWarning() << "Unable to open streams"; + return 1; + } + + QWebView webView; + webView.setHtml(inFile.readAll()); + QFile jsFile(":/extract.js"); + if (!jsFile.open(QFile::ReadOnly)) { + qWarning() << "Unable to load javascript to extract bookmarks."; + return 1; + } + QString result = webView.page()->mainFrame()->evaluateJavaScript(jsFile.readAll()).toString(); + if (result.isEmpty()) { + qWarning() << "Error while extracting bookmarks."; + return 1; + } + out << result; + return 0; +} diff --git a/tools/htmlToXBel/source.qrc b/tools/htmlToXBel/source.qrc new file mode 100644 index 00000000..5f5bd7df --- /dev/null +++ b/tools/htmlToXBel/source.qrc @@ -0,0 +1,6 @@ + + + extract.js + + + diff --git a/tools/htmlToXBel/tests/firefox3-bookmarks.html b/tools/htmlToXBel/tests/firefox3-bookmarks.html new file mode 100644 index 00000000..5352a48c --- /dev/null +++ b/tools/htmlToXBel/tests/firefox3-bookmarks.html @@ -0,0 +1,47 @@ + + + +Bookmarks +

Bookmarks Menu

+ +

+

Recently Bookmarked +
Recent Tags +
+
Get Bookmark Add-ons +
+

Mozilla Firefox

+

+

Help and Tutorials +
Customize Firefox +
Get Involved +
About Us +

+

Mozilla Firefox Start Page +
Mozilla Firefox Start Page +

Bookmarks Toolbar

+
Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar +

+

Most Visited +

Smart Bookmarks

+

+

Most Visited +
Recently Bookmarked +
+
Recent Tags +

+

Getting Started +
Latest Headlines +

+

Unfiled Bookmarks

+

+

reddit.com: Apple pushes Windows Safari via iTunes updater +
+
reddit.com: what's new online! +
+
xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe +
+

+

diff --git a/tools/htmlToXBel/tests/ie7-bookmarks.html b/tools/htmlToXBel/tests/ie7-bookmarks.html new file mode 100644 index 00000000..c4a55152 --- /dev/null +++ b/tools/htmlToXBel/tests/ie7-bookmarks.html @@ -0,0 +1,30 @@ + + +Bookmarks +

Bookmarks

+

+

Links

+

+

Customize Links +
Free Hotmail +
Windows Marketplace +
Windows Media +
Windows +

+

Microsoft Websites

+

+

IE Add-on site +
IE site on Microsoft.com +
Marketplace +
Microsoft At Home +
Microsoft At Work +
Welcome to IE7 +

+

Yahoo!

+

+

+

MSN.com +
Radio Station Guide +

diff --git a/tools/htmlToXBel/tests/opera9-bookmarks.html b/tools/htmlToXBel/tests/opera9-bookmarks.html new file mode 100644 index 00000000..5cf7b85f --- /dev/null +++ b/tools/htmlToXBel/tests/opera9-bookmarks.html @@ -0,0 +1,20 @@ + + + +Bookmarks +

Bookmarks

+

+

Opera

+

+

Download Opera +
Opera Community +
Opera Web Mail +
Support Desk +

+

Download.com +
Amazon.com +
eBay +
Yahoo! +

From bdc34fb544e4e73cfafe574c616190637c79d831 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 7 Nov 2008 23:26:55 -0500 Subject: [PATCH 0256/1254] Set WM_WINDOW_ROLE to "browser" on the top level windows Issue: 222 --- src/browsermainwindow.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 98ebc45d..96510b6d 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -230,6 +230,9 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) #if defined(Q_WS_MAC) setWindowIcon(QIcon()); #endif +#if defined(Q_WS_X11) + setWindowRole(QLatin1String("browser")); +#endif } BrowserMainWindow::~BrowserMainWindow() From 3bbe5d13da0a9f58e8e9e97fd1dc6439819c3276 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 8 Nov 2008 14:45:11 -0500 Subject: [PATCH 0257/1254] Fix compiler warning with mingw --- src/downloadmanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 788194a1..37d07faf 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -342,11 +342,11 @@ void DownloadItem::updateInfoLabel() if (timeRemaining > 60) { timeRemaining = timeRemaining / 60; timeRemaining = floor(timeRemaining); - remaining = tr("- %n minutes remaining", "", timeRemaining); + remaining = tr("- %n minutes remaining", "", int(timeRemaining)); } else { timeRemaining = floor(timeRemaining); - remaining = tr("- %n seconds remaining", "", timeRemaining); + remaining = tr("- %n seconds remaining", "", int(timeRemaining)); } } info = QString(tr("%1 of %2 (%3/sec) %4")) From b1bed16c07afba63ff3c583feab425a6c8b96d4e Mon Sep 17 00:00:00 2001 From: Alexandre Bique Date: Mon, 27 Oct 2008 09:29:47 +0100 Subject: [PATCH 0258/1254] New line at end of README --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 13de8681..f63028a6 100644 --- a/README +++ b/README @@ -2,4 +2,4 @@ Arora web browser http://www.arora-browser.org -Arora is a cross platform web browser built using Qt and WebKit. \ No newline at end of file +Arora is a cross platform web browser built using Qt and WebKit. From 94ff468269692cdbd4336082a04b1dc1de19df6c Mon Sep 17 00:00:00 2001 From: Alexandre Bique Date: Mon, 27 Oct 2008 22:13:43 +0100 Subject: [PATCH 0259/1254] Adds doxygen support --- Doxyfile | 1473 +++++++++++++++++++++++++++++++++++++++++++++++++++++ arora.pro | 8 + 2 files changed, 1481 insertions(+) create mode 100644 Doxyfile diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 00000000..3a0ae42a --- /dev/null +++ b/Doxyfile @@ -0,0 +1,1473 @@ +# Doxyfile 1.5.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = Arora + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = doc + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, +# Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = YES + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = YES + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by +# doxygen. The layout file controls the global structure of the generated output files +# in an output format independent way. The create the layout file that represents +# doxygen's defaults, run doxygen with the -l option. You can optionally specify a +# file name after the option, if omitted DoxygenLayout.xml will be used as the name +# of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = src + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = YES + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = NO + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = YES + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER +# are set, an additional index file will be generated that can be used as input for +# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated +# HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# Qt Help Project / Namespace. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# Qt Help Project / Virtual Folders. + +QHP_VIRTUAL_FOLDER = doc + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file . + +QHG_LOCATION = + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to FRAME, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. Other possible values +# for this tag are: HIERARCHIES, which will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list; +# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which +# disables this behavior completely. For backwards compatibility with previous +# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE +# respectively. + +GENERATE_TREEVIEW = FRAME + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = NO + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = YES diff --git a/arora.pro b/arora.pro index d97061d7..1667c81d 100644 --- a/arora.pro +++ b/arora.pro @@ -6,3 +6,11 @@ error("Use the qmake include with Qt4.4 or greater, on Debian that is qmake-qt4" TEMPLATE = subdirs SUBDIRS = src + +unix { + # this is an ugly work around to do .PHONY: doc + doxygen.target = doc dox + doxygen.commands = doxygen Doxyfile + doxygen.depends = Doxyfile + QMAKE_EXTRA_UNIX_TARGETS += doxygen +} From 04c5841c561797220eec1f204577f1bf97720762 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 2 Dec 2008 20:54:43 -0500 Subject: [PATCH 0260/1254] Add Chinese language from b.robert.white Issue: 229 --- src/locale/locale.pri | 3 +- src/locale/zh_CN.ts | 1680 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1682 insertions(+), 1 deletion(-) create mode 100644 src/locale/zh_CN.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 749aefaf..50386db1 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -22,7 +22,8 @@ TRANSLATIONS += \ pt_BR.ts \ ru_RU.ts \ tr_TR.ts \ - uk.ts + uk.ts \ + zh_CN.ts \ isEmpty(QMAKE_LRELEASE) { win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts new file mode 100644 index 00000000..0211c46d --- /dev/null +++ b/src/locale/zh_CN.ts @@ -0,0 +1,1680 @@ + + + + + AboutDialog + + + About + 鍏充簬 + + + + Authors + 浣滆 + + + + License + 璁稿彲璇 + + + + Lightweight WebKit-based web browser + 杞诲揩鐨勬祻瑙堝櫒-鍩轰簬Webkit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + + Close + 鍏抽棴 + + + + AddBookmarkDialog + + + Add Bookmark + 娣诲姞涔︾ + + + + Type a name for the bookmark, and choose where to keep it. + 璇疯緭鍏ヤ功绛惧悕锛屽苟閫夋嫨淇濆瓨浣嶇疆 + + + + BookmarksDialog + + + Open + 鎵撳紑 + + + + Open in New Tab + 鍦ㄦ柊鏍囩椤典腑鎵撳紑 + + + + Delete + 鍒犻櫎 + + + + New Folder + 鏂板缓鏂囦欢澶 + + + + Bookmarks + 涔︾ + + + + &Remove + 绉婚櫎(&R) + + + + Add Folder + 娣诲姞鏂囦欢澶 + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + 鍦ㄨ%1锛屽垪%2: +%3瀵煎叆涔︾鏃跺嚭閿 + + + + Toolbar Bookmarks + 宸ュ叿鏍忎功绛 + + + + Menu + 鑿滃崟 + + + + Open File + 鎵撳紑鏂囦欢 + + + + XBEL (*.xbel *.xml) + + + + + Imported %1 + 瀵煎叆鐨%1 + + + + Save File + 淇濆瓨鏂囦欢 + + + + %1 Bookmarks.xbel + + + + + Export error + 瀵煎嚭閿欒 + + + + error saving bookmarks + 淇濆瓨涔︾鍑洪敊 + + + + Remove Bookmark + 绉婚櫎涔︾ + + + + Insert Bookmark + 鎻掑叆涔︾ + + + + Name Change + 鍚嶅瓧鍙樻洿 + + + + Address Change + 鍦板潃鍙樻洿 + + + + BookmarksModel + + + Title + 鏍囬 + + + + Address + 鍦板潃 + + + + BookmarksToolBar + + + Bookmark + 涔︾ + + + + BrowserApplication + + + (Change: %1 %2) + (鍙樻洿锛 %1 %2) + + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + 鏈%1涓獥鍙e拰%2涓爣绛句负鎵撳紑鐘舵 +浠嶆棫纭閫鍑哄悧锛 + + + + Restore failed + 鎭㈠澶辫触 + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + 淇濆瓨鐨勪細璇濅笉浼氭仮澶嶏紝鍥犱负Arora鍦ㄥ皾璇曟仮澶嶈浼氳瘽鏃跺凡宕╂簝銆 + + + + BrowserMainWindow + + + &File + 鏂囦欢(&F) + + + + &New Window + 鏂扮獥鍙(&N) + + + + &Open File... + 鎵撳紑鏂囦欢(&O)... + + + + Open &Location... + 鎵撳紑浣嶇疆(&L)... + + + + &Save As... + 鍙﹀瓨涓(&S)... + + + + &Import Bookmarks... + 瀵煎叆涔︾(&I)... + + + + &Export Bookmarks... + 瀵煎嚭涔︾(&E)... + + + + P&rint Preview... + 鎵撳嵃棰勮(&P)... + + + + &Print... + 鎵撳嵃(&P)... + + + + Private &Browsing... + 闅愮娴忚(&B)... + + + + &Quit + 閫鍑(&Q) + + + + &Edit + 缂栬緫(&E) + + + + &Undo + 鎾ら攢(&U) + + + + &Redo + 閲嶅仛(&R) + + + + Cu&t + 鍓垏(&t) + + + + &Copy + 澶嶅埗(&C) + + + + &Paste + 绮樺笘(&P) + + + + &Find + 鏌ユ壘(&F) + + + + Find Nex&t + 鏌ユ壘涓嬩竴涓(&t) + + + + Find P&revious + 鏌ユ壘鍓嶄竴涓(&r) + + + + Prefere&nces... + 閫夐」(&r)... + + + + Ctrl+, + + + + + &View + 鏌ョ湅(&V) + + + + Show Menu Bar + 鏄剧ず鑿滃崟鏍 + + + + Ctrl+| + + + + + Shift+Ctrl+B + + + + + Ctrl+/ + + + + + &Stop + 鍋滄(&S) + + + + &Reload Page + 閲嶆柊鍔犺浇椤甸潰(&R) + + + + Make Text &Bigger + 瀛椾綋鏀惧ぇ(&B) + + + + Make Text &Normal + 鏅氬瓧浣(&N) + + + + Make Text &Smaller + 瀛椾綋缂╁皬(&S) + + + + Page S&ource + 椤甸潰婧愮爜(&o) + + + + Ctrl+Alt+U + + + + + &Full Screen + 鍏ㄥ睆(&F) + + + + Hi&story + 鍘嗗彶(&s) + + + + Back + 鍚庨 + + + + Forward + 鍓嶈繘 + + + + Home + 涓婚〉 + + + + Restore Last Session + 鎭㈠鏈鍚庝竴娆′細璇 + + + + &Bookmarks + 鏍囩(&B) + + + + Manage Bookmarks... + 绠$悊鏍囩... + + + + Add Bookmark... + 娣诲姞鏍囩... + + + + &Window + 绐楀彛(&W) + + + + &Tools + 宸ュ叿(&T) + + + + Web &Search + Web鎼滅储(&S) + + + + Ctrl+K + Web Search + + + + + &Clear Private Data + 娓呴櫎闅愮鏁版嵁(&C) + + + + Ctrl+Shift+Delete + Clear Private Data + + + + + Enable Web &Inspector + 鍏佽Web &Inspector + + + + &Help + 甯姪(&H) + + + + Switch application language + 鍒囨崲搴旂敤绋嬪簭璇█ + + + + About &Qt + 鍏充簬&Qt + + + + About &Arora + 鍏充簬&Arora + + + + Navigation + 瀵艰埅 + + + + Show Status Bar + 鏄剧ず鐘舵佹爮 + + + + Hide Status Bar + 闅愯棌鐘舵佹爮 + + + + Show Toolbar + 鏄剧ず宸ュ叿鏍 + + + + Hide Toolbar + 闅愯棌宸ュ叿鏍 + + + + Show Bookmarks Bar + 鏄剧ず鏍囩鏍 + + + + Hide Bookmarks Bar + 闅愯棌鏍囩鏍 + + + + Arora + + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + 鎵撳紑Web璧勬簮 + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Web璧勬簮 (*.html *.htm *.svg *.png *.gif *.svgz);;鎵鏈夋枃浠 (*.*) + + + + Print Document + 鎵撳嵃鏂囨。 + + + + Are you sure you want to turn on private browsing? + 鏄惁纭鎵撳紑闅愮娴忚锛 + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>褰撳紑鍚殣绉佹祻瑙堟椂锛屽叧浜庝綘鐨勬煇浜涢殣绉佸姩浣滀笉浼氳璁板綍锛<ul><li> 椤甸潰涓嶄細琚坊鍔犲埌鍘嗗彶涓</li><li>涓嬭浇椤逛細鑷姩浠庝笅杞界獥鍙gЩ闄ゃ </li><li> 鏂扮殑cookies涓嶄細琚瓨鍌紝褰撳墠鐨刢ookies涔熶笉浼氳璁块棶銆</li><li>绔欑偣鍥炬爣涓嶄細琚瓨鍌紝浼氳瘽涔熶笉浼氳淇濆瓨銆 </li><li>鎼滅储鍔ㄤ綔涓嶄細琚坊鍔犲埌鎼滅储妗嗙殑寮瑰嚭鑿滃崟涓</li></ul>鍦ㄥ叧闂獥鍙d箣鍓嶏紝浣犲彲浠ヤ竴鐩撮氳繃鐐瑰嚮鍚庨鍜屽墠杩涙寜閽潵娴忚宸叉墦寮杩囩殑椤甸潰銆 + + + + Are you sure you want to close the window? There are %1 tabs open + 鏄惁纭鍏抽棴绐楀彛锛熻繕鏈%1涓爣绛炬墦寮鐫 + + + + Web Inspector + + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + web inspector鍙湪椤甸潰琚厑璁镐笖琚姞杞藉悗鎵嶈兘姝e父杩愯銆 +甯屾湜閲嶆柊鍔犺浇鎵鏈夐〉闈㈠悧锛 + + + + Stop loading the current page + 鍋滄鍔犺浇褰撳墠椤甸潰 + + + + Reload the current page + 閲嶆柊鍔犺浇褰撳墠椤甸潰 + + + + Downloads + 涓嬭浇 + + + + Alt+Ctrl+L + Download Manager + + + + + ClearButton + + + Clear + 娓呴櫎 + + + + ClearPrivateData + + + Clear Private Data + 娓呴櫎闅愮鏁版嵁 + + + + Clear the following items: + 娓呴櫎浠ヤ笅椤癸細 + + + + &Browsing History + 娴忚鍘嗗彶(&B) + + + + &Download History + 涓嬭浇鍘嗗彶(&D) + + + + &Search History + 鎼滅储鍘嗗彶(&S) + + + + &Cookies + + + + + C&ached Web Pages + 缂撳瓨鐨勯〉闈(&a) + + + + Website &Icons + 缃戠珯鍥炬爣(&I) + + + + Clear &Private Data + 娓呴櫎闅愮鏁版嵁(&P) + + + + &Cancel + 鍙栨秷(&C) + + + + CookieExceptionsModel + + + Website + 缃戠珯 + + + + Rule + 瑙勫垯 + + + + Allow + 鍏佽 + + + + Block + 闃绘尅 + + + + Allow For Session + 浼氳瘽涓厑璁 + + + + CookieModel + + + Website + 缃戠珯 + + + + Name + 鍚嶅瓧 + + + + Path + 璺緞 + + + + Secure + 瀹夊叏 + + + + Expires + 澶辨晥 + + + + Contents + 鍐呭 + + + + true + + + + + false + + + + + CookiesDialog + + + Cookies + + + + + &Remove + 绉婚櫎(&R) + + + + Remove &All Cookies + 绉婚櫎鎵鏈塁ookies(&A) + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Cookie渚嬪 + + + + New Exception + 鏂板缓渚嬪 + + + + Domain: + 鍩燂細 + + + + Block + 闃绘尅 + + + + Allow For Session + 浼氳瘽涓厑璁 + + + + Allow + 鍏佽 + + + + Exceptions + 渚嬪 + + + + &Remove + 绉婚櫎(&R) + + + + Remove &All + 绉婚櫎鎵鏈(&A) + + + + DownloadDialog + + + Downloads + 涓嬭浇 + + + + Clean up + 娓呴櫎 + + + + 0 Items + 0椤 + + + + &OK + + + + + DownloadItem + + + Form + 琛ㄥ崟 + + + + Ico + + + + + Filename + 鏂囦欢鍚 + + + + Try Again + 閲嶆柊灏濊瘯 + + + + Stop + 鍋滄 + + + + Open + 鎵撳紑 + + + + Save File + 淇濆瓨鏂囦欢 + + + + Download canceled: %1 + 涓嬭浇鍙栨秷锛 %1 + + + + Error opening output file: %1 + 鎵撳紑杈撳嚭鏂囦欢鍑洪敊锛 %1 + + + + Error saving: %1 + 淇濆瓨鍑洪敊锛 %1 + + + + Network Error: %1 + 缃戠粶鍑洪敊锛 %1 + + + + seconds + + + + + - %n minutes remaining + + - 杩樻湁 %n 鍒嗛挓 + + + + + - %n seconds remaining + + - 杩樻湁 %n 绉 + + + + + %1 of %2 (%3/sec) %4 + %1 of %2 (%3/绉) %4 + + + + ? + + + + + %1 of %2 - Stopped + %1 of %2 - 鍋滄 + + + + bytes + 瀛楄妭 + + + + kB + + + + + MB + + + + + DownloadManager + + + %n Download(s) + + %n 涓嬭浇 + + + + + HistoryDialog + + + Open + 鎵撳紑 + + + + Copy + 澶嶅埗 + + + + Delete + 鍒犻櫎 + + + + History + 鍘嗗彶 + + + + &Remove + 绉婚櫎(&R) + + + + Remove &All + 绉婚櫎鎵鏈(&A) + + + + HistoryMenu + + + Show All History + 鏄剧ず鎵鏈夊巻鍙 + + + + Clear History... + 娓呴櫎鍘嗗彶... + + + + Clear History + 娓呴櫎鍘嗗彶 + + + + Do you want to clear the history? + 甯屾湜娓呴櫎鍘嗗彶鍚楋紵 + + + + HistoryModel + + + Title + 鏍囬 + + + + Address + 鍦板潃 + + + + HistoryTreeModel + + + Earlier Today + 鏃╀簺鏃跺 + + + + %n item(s) + + %n 椤 + + + + + LanguageManager + + + Default + 缂虹渷 + + + + Choose language + 閫夋嫨璇█ + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>浣犲彲浠ヨ繍琛屽湪鍏跺畠璇█鐜涓<br>鑰屼笉閲囩敤鎿嶄綔绯荤粺鎵缂虹渷鐨勮瑷鐜</p><p>璇烽夋嫨搴旇浣跨敤鐨勮瑷鐜</p> + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>涓 "%1" 鍦 %2 杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>杩炴帴鍒颁唬鐞 "%1" 浣跨敤锛</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL 閿欒锛%1%2甯屾湜蹇界暐璇ラ敊璇悧锛 + + + + Do you want to accept all these certificates? + 纭鎺ュ彈鎵鏈夎瘉涔﹀悧锛 + + + + PasswordDialog + + + Authentication Required + 闇瑕侀獙璇 + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + 鐢ㄦ埛鍚嶏細 + + + + Password: + 瀵嗙爜锛 + + + + PlainTextEditSearch + + + Not Found + 鏈壘鍒 + + + + ProxyDialog + + + Proxy Authentication + 浠g悊楠岃瘉 + + + + ICON + + + + + Connect to proxy + 杩炴帴鍒颁唬鐞 + + + + Username: + 鐢ㄦ埛鍚嶏細 + + + + Password: + 瀵嗙爜锛 + + + + QObject + + + The file is not an XBEL version 1.0 file. + 璇ユ枃浠朵笉鏄増鏈负1.0鐨刋BEL鏂囦欢 + + + + Unknown title + 鏈煡鏂囦欢 + + + + SearchBanner + + + Form + 琛ㄥ崟 + + + + TextLabel + 鏂囨湰鏍囩 + + + + < + + + + + > + + + + + Done + 瀹屾垚 + + + + SearchLineEdit + + + Search + 鎼滅储 + + + + Settings + + + Preferences + 閫夐」 + + + + General + 甯歌 + + + + On startup: + 鍚姩鏃讹細 + + + + Show my home page + 鏄剧ず鎴戠殑涓婚〉 + + + + Show a blank page + 鏄剧ず绌虹櫧椤 + + + + Restore windows and tabs from last time + 鎭㈠鏈鍚庝竴娆$殑绐楀彛鍜屾爣绛 + + + + Home Page: + 涓婚〉锛 + + + + Set to current page + 璁剧疆涓哄綋鍓嶉〉闈 + + + + Remove history items: + 绉婚櫎鍘嗗彶椤癸細 + + + + After one day + 涓澶╁悗 + + + + After one week + 涓鍛ㄥ悗 + + + + After two weeks + 涓ゅ懆鍚 + + + + After one month + 涓涓湀鍚 + + + + After one year + 涓骞村悗 + + + + Manually + 鎵嬪伐 + + + + On application exit + 搴旂敤閫鍑 + + + + Open links from applications: + 浠庡簲鐢ㄧ▼搴忔墦寮閾炬帴锛 + + + + In a tab in the current window + 鍦ㄥ綋鍓嶇獥鍙g殑鏍囩涓 + + + + In a new window + 鍦ㄦ柊绐楀彛涓 + + + + Downloads + 涓嬭浇 + + + + Ask for a destination each time + 姣忔鍧囪闂洰鐨勫湴 + + + + Use this destination: + 浣跨敤璇ョ洰鐨勫湴锛 + + + + Appearance + 澶栬 + + + + Standard font: + 鏍囧噯瀛椾綋 + + + + Times 16 + + + + + Select... + 閫夋嫨... + + + + Fixed-width font: + 瀹氬瀛椾綋锛 + + + + Courier 13 + + + + + Privacy + 闅愮 + + + + Web Content + Web鍐呭 + + + + Enable Plugins + 鍏佽鎻掍欢 + + + + Enable Javascript + 鍏佽Javascript + + + + View Images + 鏌ョ湅鍥剧墖 + + + + Cookies + + + + + Accept Cookies: + 鎺ュ彈Cookies锛 + + + + Always + 鎬绘槸 + + + + Never + 浠庝笉 + + + + Only from sites you navigate to + 鍙厑璁镐粠娴忚杩囩殑绔欑偣 + + + + Exceptions... + 渚嬪... + + + + Keep Cookies Until: + 淇濇寔Cookies鐩村埌锛 + + + + They expire + 瀹冧滑澶辨晥 + + + + I exit the application + 閫鍑哄簲鐢ㄧ▼搴 + + + + At most 90 days + 鏈澶90澶 + + + + Cookies... + + + + + Tabs + 鏍囩 + + + + Select tabs and windows as they are created + 鍦ㄦ爣绛惧拰绐楀彛琚垱寤哄悗閫夋嫨瀹冧滑 + + + + Confirm when closing multiple tabs + 鍏抽棴澶氫釜鏍囩鏃惰繘琛岀‘璁 + + + + Proxy + 浠g悊 + + + + Use proxy server + 浣跨敤浠g悊鏈嶅姟鍣 + + + + Type: + 绫诲瀷锛 + + + + Socks5 + + + + + Http + + + + + Host name: + 涓绘満鍚嶏細 + + + + Port: + 绔彛锛 + + + + User Name: + 鐢ㄦ埛鍚嶏細 + + + + Password: + 瀵嗙爜锛 + + + + Advanced + 楂樼骇 + + + + Style Sheet: + 鏍峰紡琛細 + + + + SourceViewer + + + Loading... + 鍔犺浇... + + + + &Edit + 缂栬緫(&E) + + + + &Find + 鏌ユ壘(&F) + + + + Source of Page + 椤甸潰婧愮爜 + + + + TabBar + + + Show Tab Bar + 鏄剧ず鏍囩鏍 + + + + Hide Tab Bar + 闅愯棌鏍囩鏍 + + + + New &Tab + 鏂版爣绛鹃〉(&T) + + + + Duplicate Tab + 澶嶅埗鏍囩 + + + + &Close Tab + 鍏抽棴鏍囩(&C) + + + + Close &Other Tabs + 鍏抽棴鍏跺畠鏍囩(&O) + + + + Reload Tab + 閲嶆柊鍔犺浇鏍囩 + + + + Reload All Tabs + 閲嶆柊鍔犺浇鎵鏈夋爣绛 + + + + TabWidget + + + New &Tab + 鏂版爣绛鹃〉(&T) + + + + &Close Tab + 鍏抽棴鏍囩(&C) + + + + Show Next Tab + 鏄剧ず涓嬩竴涓爣绛 + + + + Show Previous Tab + 鏄剧ず鍓嶄竴涓爣绛 + + + + Recently Closed Tabs + 鏈杩戝叧闂殑鏍囩 + + + + Untitled + 鏃犳爣棰 + + + + Do you really want to close this page? + 纭鍏抽棴璇ラ〉闈紵 + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + 椤甸潰宸茶淇敼锛屽鏋滃叧闂紝灏嗕涪澶辨墍鏈変慨鏀广傜‘璁ゅ叧闂椤甸潰锛 + + + + ToolbarSearch + + + No Recent Searches + 鏃犳渶杩戞悳绱 + + + + Recent Searches + 鏈杩戞悳绱 + + + + Clear Recent Searches + 娓呴櫎鏈杩戞悳绱 + + + + WebPage + + + Error loading page: %1 + 鍔犺浇椤甸潰鍑洪敊锛 %1 + + + + WebView + + + Open in New &Window + 鍦ㄦ柊绐楀彛涓墦寮(&W) + + + + Open in New &Tab + 鍦ㄦ柊鏍囩椤典腑鎵撳紑(&T) + + + + Save Lin&k + 淇濆瓨閾炬帴(&k) + + + + &Bookmark This Link + 娣诲姞璇ラ摼鎺ュ埌涔︾(&B) + + + + &Copy Link Location + 澶嶅埗閾炬帴鍦板潃(&C) + + + + Open Image in New &Window + 鍦ㄦ柊绐楀彛涓墦寮鍥剧墖(&W) + + + + Open Image in New &Tab + 鍦ㄦ柊鏍囩椤典腑鎵撳紑鍥剧墖(&T) + + + + &Save Image + 淇濆瓨鍥剧墖(&S) + + + + &Copy Image + 澶嶅埗鍥剧墖(&C) + + + + C&opy Image Location + 澶嶅埗鍥剧墖鍦板潃(&o) + + + + Loading... + 鍔犺浇... + + + + WebViewSearch + + + Not Found + 鏈壘鍒 + + + From 24d7b9463be4ac60756a160df4c58f0a1d310929 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 4 Dec 2008 20:56:05 -0500 Subject: [PATCH 0261/1254] Remove translation that is causing build breakage. --- src/locale/locale.pri | 1 - src/locale/pt_BR.ts | 1365 ----------------------------------------- 2 files changed, 1366 deletions(-) delete mode 100644 src/locale/pt_BR.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 50386db1..9ad53ec5 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -19,7 +19,6 @@ TRANSLATIONS += \ ms.ts \ nl_NL.ts \ pl_PL.ts \ - pt_BR.ts \ ru_RU.ts \ tr_TR.ts \ uk.ts \ diff --git a/src/locale/pt_BR.ts b/src/locale/pt_BR.ts deleted file mode 100644 index 3c109112..00000000 --- a/src/locale/pt_BR.ts +++ /dev/null @@ -1,1365 +0,0 @@ - - - - AboutDialog - - About - Sobre - - - Authors - Autores - - - License - Licen莽a - - - Lightweight WebKit-based web browser - Navegador web leve baseado em WebKit - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - - <a href="http://arora-browser.org">http://arora-browser.org</a> - <a href="http://arora-browser.org">http://arora-browser.org</a> - - - Close - Fechar - - - - AddBookmarkDialog - - Add Bookmark - Adicionar aos Favoritos - - - Type a name for the bookmark, and choose where to keep it. - Digite o nome do favorito, e escolhe onde manter ele. - - - - BookmarksDialog - - Bookmarks - Favoritos - - - &Remove - &Remover - - - Add Folder - Adicionar Pasta - - - Open - Abrir - - - Open in New Tab - Abrir em nova aba - - - Delete - Deletar - - - New Folder - Nova Pasta - - - - BookmarksManager - - Error when loading bookmarks on line %1, column %2: -%3 - Erro ao carregar favoritos na linha %1, coluna%2: - - - Toolbar Bookmarks - Barra de Favoritos - - - Menu - Menu - - - Open File - Abrir Arquivo - - - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) - - - Imported %1 - Importado %1 - - - Save File - Salvar Arquivo - - - %1 Bookmarks.xbel - %1 Favoritos.xbel - - - Export error - Erro na exporta莽茫o - - - error saving bookmarks - erro salvando favoritos - - - Remove Bookmark - Remover Favorito - - - Insert Bookmark - Inserir Favorito - - - Name Change - Troca de Nome - - - Address Change - Troca de Endere莽o - - - - BookmarksModel - - Title - T铆tulo - - - Address - Endere莽o - - - - BookmarksToolBar - - Bookmark - Favorito - - - - BrowserApplication - - There are %1 windows and %2 tabs open -Do you want to quit anyway? - Existem %1 janelas e %2 abas abertas -Voc锚 deve sair de qualquer maneira? - - - Restore failed - A restaura莽茫o falhou - - - The saved session will not being restored because last time it was restored Arora crashed. - A sess茫o salva n茫o ser谩 restaurada porque houve um problema na 煤ltima vez que foi restaurada. - - - - BrowserMainWindow - - &File - &Arquivo - - - &New Window - &Nova Janela - - - &Open File... - &Abrir Arquivo... - - - Open &Location... - Abrir &Endere莽o... - - - &Save As... - &Salvar Como... - - - &Import Bookmarks... - &Importar Favoritos - - - &Export Bookmarks... - &Exportar Favoritos - - - P&rint Preview... - Imp&rimir Previs茫o - - - &Print... - Im&primir - - - Private &Browsing... - &Navega莽茫o Privativa... - - - &Quit - &Sair - - - &Edit - &Editar - - - &Undo - &Desfazer - - - &Redo - &Refazer - - - Cu&t - &Recortar - - - &Copy - &Colar - - - &Paste - &Colar - - - &Find - &Procurar - - - &Find Next - &Procurar Pr贸ximo - - - &Find Previous - &Procurar Anterior - - - &Preferences - &Prefer锚ncias - - - Ctrl+, - Ctrl+, - - - &View - &Visualizar - - - Shift+Ctrl+B - Shift+Ctrl+B - - - Ctrl+| - Ctrl+| - - - Ctrl+/ - Ctrl+/ - - - &Stop - &Parar - - - Reload Page - Recarregar P谩gina - - - &Make Text Bigger - &Fazer Texto Maior - - - &Make Text Normal - &Fazer Texto Normal - - - &Make Text Smaller - &Fazer Texto Menor - - - Page S&ource - C贸digo &Fonte - - - Ctrl+Alt+U - Ctrl+Alt+U - - - &Full Screen - &Tela Inteira - - - Hi&story - Hi&st贸rico - - - Back - Voltar - - - Forward - Avan莽ar - - - Home - P谩gina Inicial - - - Restore Last Session - Restaurar 脷ltima Sess茫o - - - &Bookmarks - &Favoritos - - - Manage Bookmarks... - Gerenciar Favoritos - - - Add Bookmark... - Adicionar Favorito... - - - &Window - &Janela - - - &Tools - &Ferramentas - - - Web &Search - &Busca na Web - - - Ctrl+K - Web Search - Ctrl+K - - - &Clear Private Data - &Limpar Dados Pessoais - - - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete - - - Enable Web &Inspector - Ativar Web &Inspector - - - &Help - &Ajuda - - - About &Qt - Sobre &Qt - - - About &Arora - Sobre &Arora - - - Navigation - Navega莽茫o - - - Show Status Bar - Mostrar Barra de Status - - - Hide Status Bar - Esconder Barra de Status - - - Show Toolbar - Mostrar Barra de Ferramentas - - - Hide Toolbar - Esconder Barra de Ferramentas - - - Show Bookmarks bar - Mostrar barra de Favoritos - - - Hide Bookmarks bar - Esconder barra de Favoritos - - - Arora - Arora - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - Open Web Resource - Abrir Recurso Web - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;Todos Arquivos (*.*) - - - Print Document - Imprimir Documento - - - Are you sure you want to turn on private browsing? - Voc锚 tem certeza de que deseja ativar a navega莽茫o privativa? - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>Quando a navega莽茫o privativa est谩 ativada, algumas a莽玫es que afetam a sua privacidade ser茫o desabilitadas:<ul><li> P谩ginas n茫o ser茫o adicionadas ao hist贸rico.</li><li> 脥tems ser茫o removidos automaticamente da janela de Downloads.</li><li> Novos cookies n茫o ser茫o guardados, cookies atuais n茫o poder茫o ser acessados.</li><li> 脥cones de sites n茫o ser茫o armazenados, sess玫es n茫o ser茫o salvas.</li><li> Buscas n茫o ser茫o adicionadas ao menu na caixa de busca.</li></ul>At茅 voc锚 fechar a janela, voc锚 poder谩 continuar clicando nos bot玫es "Voltar" e "Avan莽ar" para retornar as p谩ginas que voc锚 j谩 abriu. - - - Are you sure you want to close the window? There are %1 tabs open - Voc锚 tem certeza de que quer fechar a Janela? Existem %1 abas abertas - - - Page Source of %1 - C贸digo Fonte da p谩gina %1 - - - Web Inspector - Web Inspector - - - The web inspector will only work correctly for pages that were loaded after enabling. -Do you want to reload all pages? - O inspetor web s贸 funcionar谩 corretamente para p谩ginas que forem carregadas ap贸s a ativa莽茫o. -Voc锚 deseja recarregar todas as p谩ginas? - - - Stop loading the current page - Parar de carregar a p谩gina atual - - - Reload the current page - Recarregar p谩gina atual - - - Downloads - Downloads - - - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L - - - Find &Next - Encontrar &Pr贸ximo - - - Find P&revious - Encontrar &Anterior - - - Prefe&rences - Prefe&r锚ncias - - - &Reload Page - &Recarregar P谩gina - - - Make Text &Bigger - Tornar o Texto M&aior - - - Make Text &Normal - Tornar o Texto &Normal - - - Make Text &Smaller - Tornar o Texto M&enor - - - Show Bookmarks Bar - Mostrar Barra de Favoritos - - - Hide Bookmarks Bar - Esconder Barra de Favoritos - - - - ClearButton - - Clear - Limpar - - - - ClearPrivateData - - Clear Private Data - Limpar Dados Pessoais - - - Clear the following items: - Limpar os seguintes itens: - - - &Browsing History - &Navegar pelo Hist贸rico - - - &Download History - &Baixar Hist贸rico - - - &Search History - &Buscar Hist贸rico - - - &Cookies - &Cookies - - - C&ache - C&ache - - - Website &Icons - &脥cones do Site - - - Clear &Private Data - Limpar Informa莽玫es &Pessoais - - - &Cancel - &Cancelar - - - - CookieExceptionsModel - - Website - Site - - - Status - Status - - - Allow - Permitir - - - Block - Bloquear - - - Allow For Session - Permitir Para Sess茫o - - - - CookieModel - - Website - Site - - - Name - Nome - - - Path - Caminho - - - Secure - Seguro - - - Expires - Expira - - - Contents - Conte煤do - - - - CookiesDialog - - Cookies - Cookies - - - &Remove - &Remover - - - Remove &All Cookies - Remover &Todos Cookies - - - - CookiesExceptionsDialog - - Cookie Exceptions - Exce莽茫o Cookie - - - New Exception - Nova Exce莽茫o - - - Domain: - Dom铆nio: - - - Block - Bloquear - - - Allow For Session - Permitir para essa Sess茫o - - - Allow - Permitir - - - Exceptions - Exce莽玫es - - - &Remove - &Remover - - - Remove &All - Remover &Todos - - - - DownloadDialog - - Downloads - Downloads - - - Clean up - Limpar - - - 0 Items - 0 itens - - - - DownloadItem - - Form - Formul谩rio - - - Ico - Ico - - - Filename - Nome do Arquivo - - - Try Again - Tentar Novamente - - - Stop - Parar - - - Open - Abrir - - - Save File - Salvar Arquivo - - - Download canceled: %1 - Download cancelado: %1 - - - Error opening save file: %1 - Erro abrindo arquivo saldo: %1 - - - Error saving: %1 - Erro salvando: %1 - - - Network Error: %1 - Erro na Rede: %1 - - - seconds - segundos - - - minutes - minutos - - - - %4 %5 remaining - - %4 %5 restante - - - %1 of %2 (%3/sec) %4 - %1 de %2 (%3/segundo) %4 - - - ? - ? - - - %1 of %2 - Stopped - %1 de %2 - Parado - - - bytes - bytes - - - kB - kB - - - MB - MB - - - - %n minutes remaining - - Faltam %n minutos - - - - %n seconds remaining - - Faltam %n segundos - - - - DownloadManager - - 1 Download - 1 Download - - - %1 Downloads - %1 Downloads - - - %n Download(s) - %n Download(s) - - - - HistoryDialog - - History - Hist贸rico - - - &Remove - &Remover - - - Remove &All - Remover &Todos - - - Open - Abrir - - - Copy - Copiar - - - Delete - Deletar - - - - HistoryMenu - - Show All History - Mostrar Todos Hist贸rico - - - Clear History - Limpar Hist贸rico - - - - HistoryModel - - Title - T铆tulo - - - Address - Endere莽o - - - - HistoryTreeModel - - Earlier Today - Hoje mais cedo - - - %1 items - %1 itens - - - %n item(s) - %n item(ns) - - - - NetworkAccessManager - - <qt>Enter username and password for "%1" at %2</qt> - <qt>Informe usu谩rio e senha para \"%1\" e \"%2\"</qt> - - - <qt>Connect to proxy "%1" using:</qt> - <qt>Conectar a proxy \"%1\" usando:</qt> - - - SSL Errors: - -%1 - -%2 - -Do you want to ignore these errors? - Erros SSL: - -%1 - -%2 - -Voc锚 deseja ignorar esses erros? - - - Do you want to accept all these certificates? - Voc锚 deseja aceitar todos esses certificados? - - - - PasswordDialog - - Authentication Required - Atentica莽茫o Requerida - - - DUMMY ICON - DUMMY ICON - - - INTRO TEXT DUMMY - INTRO TEXT DUMMY - - - Username: - Usu谩rio: - - - Password: - Senha: - - - - ProxyDialog - - Proxy Authentication - Autentica莽茫o Proxy - - - ICON - ICON - - - Connect to proxy - Conectar a proxy - - - Username: - Usu谩rio: - - - Password: - Senha: - - - - QObject - - The file is not an XBEL version 1.0 file. - O arquivo n茫o 茅 um arquivo XBEL vers茫o 1.0 - - - Unknown title - T铆tulo desconhecido - - - - SearchBanner - - Form - Formul谩rio - - - TextLabel - TextLabel - - - < - < - - - > - > - - - Done - Feito - - - - SearchLineEdit - - Search - Busca - - - - Settings - - Settings - Prefer锚ncias - - - General - Geral - - - Home: - P谩gtina Inicial: - - - Set to current page - Setar a p谩gina atual - - - Remove history items: - Remover itens do hist贸rico: - - - After one day - Depois de um dia - - - After one week - Depois de uma semana - - - After two weeks - Depois de 2 semanas - - - After one month - Depois de um m锚s - - - After one year - Depois de um ano - - - Manually - Manualmente - - - Open links from applications: - Abrir links de uma aplica莽茫o: - - - In a tab in the current window - Em uma aba na janela atual - - - In a new window - Em uma nova janela - - - Downloads - Downloads - - - Ask for a destination each time - Perguntar um destino todas as vezes - - - Use this destination: - Use esse destino: - - - Appearance - Apar锚ncia - - - Standard font: - Fonte padr茫o: - - - Times 16 - Times 16 - - - Select... - Selecionar... - - - Fixed-width font: - Fonte com largura fixa: - - - Courier 13 - Courier 13 - - - Privacy - Privacidade - - - Web Content - Conte煤do Web - - - Enable Plugins - Permitir Plugins - - - Enable Javascript - Permitir JavaScript - - - Cookies - Cookies - - - Accept Cookies: - Aceitar Cookies: - - - Always - Sempre - - - Never - Nunca - - - Only from sites you navigate to - Apenas sites que voc锚 navegar - - - Exceptions... - Exce莽玫es... - - - Keep until: - Manter at茅: - - - They expire - Eles expirarem - - - I exit the application - Eu fecho a aplica莽茫o - - - At most 90 days - Mais de 90 dias - - - Cookies... - Cookies... - - - Proxy - Proxy - - - Enable proxy - Ativar proxy - - - Type: - Tipo: - - - Socks5 - Socks5 - - - Http - Http - - - Host: - Host: - - - Port: - Porta: - - - User Name: - Usu谩rio: - - - Password: - Senha: - - - Advanced - Avan莽ado - - - Style Sheet: - Folha de Estilo: - - - On startup: - Ao iniciar: - - - Show my home page - Exibir minha p谩gina inicial - - - Show a blank page - Exibir uma p谩gina em branco - - - Restore windows and tabs from last time - Restaurar janelas e abas da 煤ltima sess茫o - - - On application exit - Ao sair do aplicativo - - - Enable Images - Habilitar Imagens - - - Tabs - Abas - - - Select tabs and windows as they are created - Selecionar abas e janelas como foram criadas - - - Confirm when closing multiple tabs - Confirmar ao fechar m煤ltiplas abas - - - - TabBar - - New &Tab - Nova &Aba - - - Duplicate Tab - Duplicar Aba - - - &Close Tab - &Fechar Aba - - - Close &Other Tabs - Fechar &Outras Abas - - - Reload Tab - Recarregar Aba - - - Reload All Tabs - Recarregar Todas as Abas - - - Show Tab Bar - Exibir Barra de Abas - - - Hide Tab Bar - Esconder Barra de Abas - - - - TabWidget - - New &Tab - Nova &Aba - - - &Close Tab - &Fechar Aba - - - Show Next Tab - Mostrar Pr贸xima Aba - - - Show Previous Tab - Mostrar Aba Anterior - - - Recently Closed Tabs - Abas Recentemente Fechadas - - - (Untitled) - (Sem T铆tulo) - - - Do you really want to close this page? - Voc锚 deseja fechar essa p谩gina? - - - You have modified this page and when closing it you would lose the modification. -Do you really want to close this page? - - Voc锚 modificou essa p谩gina e quando fechar voc锚 perder谩 as modifica莽玫es. -Voc锚 realmente deseja fechar essa p谩gina? - - - - ToolbarSearch - - Google - Google - - - No Recent Searches - Sem Pesquisas Recentes - - - Recent Searches - Pesquisas Recentes - - - Clear Recent Searches - Limpar Pesquisas Recentes - - - - WebPage - - Error loading page: %1 - Erro carregando p谩gina: %1 - - - - WebView - - Open in New &Window - Abrir em uma Nova &Janela - - - Open in New &Tab - Abrir em uma Nova &Aba - - - Save Lin&k - Salvar Lin&k - - - &Bookmark This Link - &Adicionar Link a Favoritos - - - &Copy Link Location - &Copar Endere莽o do Link - - - Open Image in New &Window - Abrir Imagem em uma Nova &Janela - - - Open Image in New &Tab - Abrir imagem em uma Nova &Aba - - - &Save Image - &Salvar Imagem - - - &Copy Image - &Copiar Imagem - - - C&opy Image Location - C&opiar Endere莽o da Imagem - - - Loading... - Carregando... - - - - WebViewSearch - - Not Found - N茫o Encontrado - - - From 2a7d65a1229b48c3b5d2bbc69e3058e1ae7fec89 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 19 Dec 2008 18:33:24 -0500 Subject: [PATCH 0262/1254] Add lanagemanager autotest --- autotests/autotests.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/autotests/autotests.pro b/autotests/autotests.pro index 7f7a8f7e..cd73ac1a 100644 --- a/autotests/autotests.pro +++ b/autotests/autotests.pro @@ -4,6 +4,7 @@ SUBDIRS = addbookmarkdialog \ downloadmanager \ edittreeview \ history \ + languagemanager \ lineedit \ historyfiltermodel \ searchlineedit \ From 23fdc662de79dde27ac61df9f5e85740ed6adac9 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 19 Dec 2008 18:35:49 -0500 Subject: [PATCH 0263/1254] Add webviewsearch manualtest --- manualtests/manualtests.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manualtests/manualtests.pro b/manualtests/manualtests.pro index 1bdffec9..09d66f42 100644 --- a/manualtests/manualtests.pro +++ b/manualtests/manualtests.pro @@ -6,5 +6,5 @@ SUBDIRS = bookmarks \ locationbar \ searchlineedit \ singleapplication \ - squeezelabel - + squeezelabel \ + webviewsearch From ae02b69f3f80b269f649fad80422ec325840def8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 19 Dec 2008 18:38:51 -0500 Subject: [PATCH 0264/1254] Add Xbel convert tool and build tools --- arora.pro | 2 +- tools/tools.pro | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arora.pro b/arora.pro index 1667c81d..b7df3503 100644 --- a/arora.pro +++ b/arora.pro @@ -5,7 +5,7 @@ error("Use the qmake include with Qt4.4 or greater, on Debian that is qmake-qt4" } TEMPLATE = subdirs -SUBDIRS = src +SUBDIRS = src tools unix { # this is an ugly work around to do .PHONY: doc diff --git a/tools/tools.pro b/tools/tools.pro index dd97c9f8..dc6277ca 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -1,2 +1,3 @@ TEMPLATE = subdirs -SUBDIRS = cacheinfo +SUBDIRS = cacheinfo \ + htmlToXBel From 7b5123b6012e0401b57948b83cb6637bb6bf3b95 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Tue, 23 Dec 2008 15:03:33 +0100 Subject: [PATCH 0265/1254] add Slovak (sk_SK) translation --- src/locale/locale.pri | 1 + src/locale/sk_SK.ts | 1695 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1696 insertions(+) create mode 100644 src/locale/sk_SK.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 9ad53ec5..297218af 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -20,6 +20,7 @@ TRANSLATIONS += \ nl_NL.ts \ pl_PL.ts \ ru_RU.ts \ + sk_SK.ts \ tr_TR.ts \ uk.ts \ zh_CN.ts \ diff --git a/src/locale/sk_SK.ts b/src/locale/sk_SK.ts new file mode 100644 index 00000000..f139b8b6 --- /dev/null +++ b/src/locale/sk_SK.ts @@ -0,0 +1,1695 @@ + + + + + AboutDialog + + + About + O prehliada膷i + + + + Authors + Autori + + + + License + Licencia + + + + Lightweight WebKit-based web browser + Jednoduch媒 webov媒 prehliada膷 zalo啪en媒 na WebKite + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Zavrie钮 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + AddBookmarkDialog + + + Add Bookmark + Prida钮 z谩lo啪ku + + + + Type a name for the bookmark, and choose where to keep it. + Nap铆拧te n谩zov z谩lo啪ky a vyberte, kam ju chcete ulo啪i钮. + + + + BookmarksDialog + + + Open + Otvori钮 + + + + Delete + Vymaza钮 + + + + New Folder + Nov谩 zlo啪ka + + + + Bookmarks + Z谩lo啪ky + + + + &Remove + &Vymaza钮 + + + + Add Folder + Prida钮 zlo啪ku + + + + Open in New Tab + Otvori钮 v novom paneli + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Chyba pri na膷铆tavan铆 zalo啪iek na riadku %1, st暮pci %2: %3 + + + + Toolbar Bookmarks + N谩strojov谩 li拧ta z谩lo啪iek + + + + Menu + Menu + + + + Open File + Otvori钮 s煤bor + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + Importovan茅 %1 + + + + Save File + Ulo啪i钮 s煤bor + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Chyba pri exporte + + + + error saving bookmarks + chyba pri ukladan铆 z谩lo啪iek + + + + Remove Bookmark + Vymaza钮 z谩lo啪ku + + + + Insert Bookmark + Vlo啪i钮 z谩lo啪ku + + + + Name Change + Zmena n谩zvu + + + + Address Change + Zmena adresy + + + + BookmarksModel + + + Title + Titulok + + + + Address + Adresa + + + + BookmarksToolBar + + + Bookmark + Z谩lo啪ky + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + M谩te otvoren媒ch %1 okien a %2 panelov +Chcete ich v拧etky uzavrie钮? + + + + Restore failed + Obnovenie zlyhalo + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Ulo啪en谩 rel谩cia nebude obnoven谩, preto啪e Arora spadla pri pokuse o jej obnovenie. + + + + (Change: %1 %2) + (Zmena: %1 %2) + + + + BrowserMainWindow + + + &File + &S煤bor + + + + &New Window + &Nov茅 okno + + + + &Open File... + Otvori钮 &soubor... + + + + Open &Location... + &Otvori钮 adresu ... + + + + &Save As... + &Ulo啪i钮 ako... + + + + &Import Bookmarks... + &Importova钮 z谩lo啪ky ... + + + + &Export Bookmarks... + &Exportova钮 z谩lo啪ky ... + + + + P&rint Preview... + N谩&h木ad tla膷e ... + + + + &Print... + &Tla膷 ... + + + + Private &Browsing... + S煤kro&mn茅 prehliadanie ... + + + + &Quit + U&kon膷i钮 + + + + &Edit + 脷pr&avy + + + + &Undo + &Sp盲钮 + + + + &Redo + Zn&ovu + + + + Cu&t + &Vystrihn煤钮 + + + + &Copy + &Kop铆rova钮 + + + + &Paste + V&lo啪i钮 + + + + &Find + N谩&js钮 + + + + Ctrl+, + Ctrl+, + + + + &View + &Zobrazi钮 + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+| + Ctrl+| + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + Z&astavi钮 + + + + Page S&ource + &Zdrojov媒 k贸d str谩nky + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + &Cel谩 obrazovka + + + + Hi&story + &Hist贸ria + + + + Back + Sp盲钮 + + + + Forward + Vpred + + + + Home + Domov + + + + Restore Last Session + Obnovi钮 posledn煤 rel谩ciu + + + + &Bookmarks + Z谩l&o啪ky + + + + Manage Bookmarks... + Spravova钮 z谩lo啪ky ... + + + + Add Bookmark... + Prida钮 z谩lo啪ku ... + + + + &Window + &Okno + + + + &Tools + &N谩stroje + + + + Web &Search + &H木adanie na webe + + + + Ctrl+K + Web Search + Ctrl+K + + + + Enable Web &Inspector + Povoli钮 Web &Inspector + + + + &Help + N谩po&veda + + + + About &Qt + O &Qt + + + + About &Arora + O &Arore + + + + Navigation + Navig谩cia + + + + Show Status Bar + Zobrazi钮 stavov媒 riadok + + + + Hide Status Bar + Skry钮 stavov媒 riadok + + + + Show Toolbar + Zobrazi钮 panel n谩strojov + + + + Hide Toolbar + Skry钮 panel n谩strojov + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Otvori钮 webov煤 str谩nku + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Webov茅 dokumenty (*.html *.htm *.svg *.png *.gif *.svgz);;V拧etky s煤bory (*.*) + + + + Print Document + Vytla膷i钮 dokument + + + + Are you sure you want to turn on private browsing? + Naozaj chcete zapn煤钮 s煤kromn茅 prehliadanie? + + + + Are you sure you want to close the window? There are %1 tabs open + Naozaj chcete zavrie钮 okno? Je v nom otvoren媒ch %1 panelov + + + + Web Inspector + Webov媒 in拧pektor + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + Webov媒 in拧pektor bude fungova钮 iba pre str谩nky na膷铆tan茅 po jeho povoleni. +Chcete znovu na膷铆ta钮 v拧etky str谩nky? + + + + Stop loading the current page + Zastav铆 na膷铆tanie aktu谩lnej str谩nky + + + + Reload the current page + Znovu na膷铆ta aktu谩lnu str谩nku + + + + Downloads + Preberanie + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + &Clear Private Data + Zmaza啪 &s煤kromn茅 d谩ta + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Ak je zapnut茅 s煤kromn茅 prehliadanie, niektor茅 akcie naru拧uj煤ce tvoje s煤kromie bud煤 zak谩zan茅:<ul><li> Str谩nky nie s煤 prid谩van茅 do hist贸rie.</li><li> Polo啪ky s煤 automaticky vymazan茅 z okna preberania.</li><li> Nov茅 cookies nie s煤 ulo啪en茅, aktu谩lne nebud煤 pr铆stupn茅.</li><li> Ikony str谩nek nie s煤 ukl谩dan茅, podobne ako rel谩cie.</li><li> H木adan茅 v媒razy nie s煤 prid谩van茅 do menu v pol铆膷ku h木adania.</li></ul>Pokia木 nie je okno zavren茅, je mo啪n茅 klika钮 Sp盲钮 a Vpred pre vr谩tenie na sk么r otvoren茅 str谩nky. + + + + Show Bookmarks Bar + Zobrazi钮 panel z谩lo啪iek + + + + Hide Bookmarks Bar + Skry钮 panel z谩lo啪iek + + + + Find P&revious + N谩js钮 &predo拧l茅 + + + + &Reload Page + O&bnovi钮 str谩nku + + + + Make Text &Bigger + Z&v盲膷拧i钮 text + + + + Make Text &Normal + &Norm谩lna ve木kos钮 textu + + + + Make Text &Smaller + Z&men拧i钮 text + + + + Find Nex&t + N谩j&s钮 dal拧ie + + + + Prefere&nces... + Nasta&venia ... + + + + Show Menu Bar + Uk谩za钮 menu + + + + Switch application language + Vybra钮 jazyk + + + + ClearButton + + + Clear + Vy膷isti钮 + + + + ClearPrivateData + + + Clear Private Data + Vymaza钮 s煤kromn茅 d谩ta + + + + Clear the following items: + Vymaza钮 tieto polo啪ky: + + + + &Browsing History + &Hist贸ria prehliadania + + + + &Download History + Hist贸ria &preberania + + + + &Search History + Hist贸ria h木a&dania + + + + &Cookies + &Cookies + + + + Website &Icons + Ikony str谩nok + + + + Clear &Private Data + &Vy膷isti钮 s煤kromn茅 d谩ta + + + + &Cancel + &Zru拧i钮 + + + + C&ached Web Pages + Str谩nky v &cache + + + + CookieExceptionsModel + + + Website + Adresa + + + + Allow + Povoli钮 + + + + Block + Blokova钮 + + + + Allow For Session + Povoli钮 pre rel谩ciu + + + + Rule + Pravidlo + + + + CookieModel + + + Website + Adresa + + + + Name + N谩zov + + + + Path + Cesta + + + + Secure + Zabezpe膷en茅 + + + + Expires + Vypr拧铆 + + + + Contents + Obsah + + + + true + 谩no + + + + false + nie + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + &Vymaza钮 + + + + Remove &All Cookies + Vymaza钮 &v拧etky + + + + CookiesExceptionsDialog + + + Cookie Exceptions + V媒nimky pre cookies + + + + New Exception + Nov谩 v媒nimka + + + + Domain: + Dom茅na: + + + + Block + Blokova钮 + + + + Allow For Session + Povoli钮 pre rel谩ciu + + + + Allow + Povoli钮 + + + + Exceptions + V媒nimky + + + + &Remove + &Vymaza钮 + + + + Remove &All + Vymaza钮 &v拧etky + + + + DownloadDialog + + + Downloads + Preberanie + + + + Clean up + Vy膷isti钮 + + + + 0 Items + 0 polo啪iek + + + + &OK + &OK + + + + DownloadItem + + + Form + Form + + + + Ico + Ico + + + + Filename + N谩zov s煤boru + + + + Try Again + Sk煤si钮 znova + + + + Stop + Zastavi钮 + + + + Open + Otvori钮 + + + + Save File + Ulo啪i钮 s煤bor + + + + Download canceled: %1 + Preberanie zru拧en茅: %1 + + + + Error saving: %1 + Chyba pri ukladan铆: %1 + + + + Network Error: %1 + Chyba siete: %1 + + + + seconds + sek煤nd + + + + %1 of %2 (%3/sec) %4 + %1 z %2 (%3/s) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 z %2 - Zastaven茅 + + + + bytes + bajtov + + + + kB + KiB + + + + MB + MiB + + + + - %n minutes remaining + + - %n min煤ta ost谩va + - %n min煤ty ost谩vaj煤 + - %n min煤t ost谩va + + + + + - %n seconds remaining + + - %n sekunda ost谩va + - %n sekundy ost谩vaj煤 + - %n sek煤nd ost谩va + + + + + Error opening output file: %1 + Chyba pri otv谩ran铆 v媒stupn茅ho s煤boru: %1 + + + + DownloadManager + + + %n Download(s) + + %n preberanie + %n preberania + %n preberan铆 + + + + + HistoryDialog + + + Open + Otvori钮 + + + + Copy + Kop铆rova钮 + + + + Delete + Vymaza钮 + + + + History + Hist贸ria + + + + &Remove + &Vymaza钮 + + + + Remove &All + Vymaza钮 &v拧etky + + + + HistoryMenu + + + Show All History + Zobrazi钮 cel煤 hist贸riu + + + + Clear History + Vymaza钮 hist贸riu + + + + Clear History... + Vymaza钮 hist贸riu ... + + + + Do you want to clear the history? + Chcete vymaza钮 hist贸riu? + + + + HistoryModel + + + Title + N谩zov + + + + Address + Adresa + + + + HistoryTreeModel + + + Earlier Today + Dnes + + + + %n item(s) + + %n polo啪ka + %n polo啪ky + %n polo啪iek + + + + + LanguageManager + + + Default + Prednastaven媒 + + + + Choose language + Vybra钮 jazyk + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>Aroru je mo啪n茅 pou啪铆va钮 v inom jazyku ako v tom,<br>ktor媒 je prednastaven媒 v opera膷nom syst茅me.</p><p>Vybete si jazyk, ktor媒 m谩 by钮 pou啪it媒</p> + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Zadajte u啪铆vate木sk茅 meno a heslo pre "%1" na %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Pripoji钮 sa k proxy "%1" pou啪it铆m:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + Chyby SSL: + +%1 + +%2 + +Chcete ignorova钮 tieto chyby? + + + + Do you want to accept all these certificates? + Chcete prija钮 v拧etky tieto certifik谩ty? + + + + PasswordDialog + + + Authentication Required + Vy啪adovan茅 prihl谩senie + + + + DUMMY ICON + DUMMY ICON + + + + INTRO TEXT DUMMY + INTRO TEXT DUMMY + + + + Username: + U啪铆vate木sk茅 meno: + + + + Password: + Heslo: + + + + PlainTextEditSearch + + + Not Found + Neexistuje + + + + ProxyDialog + + + Proxy Authentication + Prihl谩senie k proxy + + + + ICON + ICON + + + + Connect to proxy + Pripoji钮 k proxy + + + + Username: + U啪铆vate木sk茅 meno: + + + + Password: + Heslo: + + + + QObject + + + The file is not an XBEL version 1.0 file. + S煤bor nie je XBEL verzie 1.0. + + + + Unknown title + Nezn谩m媒 titulok + + + + SearchBanner + + + Form + Form + + + + TextLabel + TextLabel + + + + < + < + + + + > + > + + + + Done + Hotovo + + + + SearchLineEdit + + + Search + H木ada钮 + + + + Settings + + + General + Hlavn茅 + + + + Set to current page + Nastav na aktu谩lnu str谩nku + + + + Remove history items: + Odstr谩ni钮 polo啪ky hist贸rie: + + + + After one day + Po jednom dni + + + + After one week + Po jednom t媒啪dni + + + + After two weeks + Po dvoch t媒啪d艌och + + + + After one month + Po mesiaci + + + + After one year + Po roku + + + + Manually + Ru膷ne + + + + Open links from applications: + Otvori钮 odkazy z aplik谩ci铆: + + + + In a tab in the current window + V paneli v aktu谩lnom okne + + + + In a new window + V novom okne + + + + Appearance + Vzh木ad + + + + Standard font: + 艩tandardn茅 p铆smo: + + + + Times 16 + Times 16 + + + + Select... + Vybra钮 ... + + + + Fixed-width font: + P铆smo s pevnou 拧铆rkou: + + + + Courier 13 + Courier 13 + + + + Privacy + S煤kromie + + + + Web Content + Obsah webu + + + + Enable Plugins + Povoli钮 plug-iny + + + + Enable Javascript + Povoli钮 JavaScript + + + + Cookies + Cookies + + + + Accept Cookies: + Prij铆ma钮 cookies: + + + + Always + V啪dy + + + + Never + Nikdy + + + + Only from sites you navigate to + Iba z nav拧t铆ven媒ch str谩nok + + + + Exceptions... + V媒nimky ... + + + + They expire + Vypr拧铆 + + + + I exit the application + Ukon膷enie aplik谩cie + + + + At most 90 days + Maxim谩lne 90 dn铆 + + + + Cookies... + Cookies ... + + + + Proxy + Proxy + + + + Type: + Typ: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Port: + Port: + + + + User Name: + U啪ivatelsk茅 meno: + + + + Password: + Heslo: + + + + Advanced + Roz拧铆ren茅 + + + + Style Sheet: + CSS 拧t媒l: + + + + Downloads + Preberanie + + + + Ask for a destination each time + V啪dy sa p媒ta钮 na umiestnenie preberania + + + + Use this destination: + Pou啪i钮 toto umiestnenie: + + + + On application exit + Pri ukon膷en铆 aplik谩cie + + + + Tabs + Panely + + + + Select tabs and windows as they are created + Prep铆na钮 na okn谩 a panely ke膹 s煤 vytvoren茅 + + + + Confirm when closing multiple tabs + Vy啪adova钮 potvrdenie pri zatv谩ran铆 viacer媒ch panelov + + + + On startup: + Po spusten铆: + + + + Show my home page + Zobrazi钮 moju domovsk煤 str谩nku + + + + Show a blank page + Zobrazi钮 pr谩zdnu str谩nku + + + + Restore windows and tabs from last time + Obnovi钮 okn谩 a panely z poslednej rel谩cie + + + + Preferences + Nastavenia + + + + Home Page: + Domovsk谩 str谩nka: + + + + View Images + Zobrazi钮 obr谩zky + + + + Keep Cookies Until: + Ponechat cookies pokia木: + + + + Use proxy server + Pou啪i钮 proxy server + + + + Host name: + Meno hostite木a: + + + + SourceViewer + + + Loading... + Nahr谩vam ... + + + + &Edit + 脷pr&avy + + + + &Find + N谩&js钮 + + + + Source of Page + Zdrojov媒 s煤bor + + + + TabBar + + + New &Tab + &Nov媒 panel + + + + Duplicate Tab + Duplikova钮 panel + + + + &Close Tab + &Zavrie钮 panel + + + + Close &Other Tabs + Zavrie钮 o&statn茅 panely + + + + Reload Tab + &Obnovi钮 panel + + + + Reload All Tabs + O&bnovi钮 v拧etky panely + + + + Show Tab Bar + Zobrazi钮 li拧tu panelov + + + + Hide Tab Bar + Skry钮 li拧tu panelov + + + + TabWidget + + + New &Tab + &Nov媒 panel + + + + &Close Tab + &Zavrie钮 panel + + + + Show Next Tab + Uk谩za钮 膹al拧铆 panel + + + + Show Previous Tab + Uk谩za钮 predch谩dzaj煤ci panel + + + + Recently Closed Tabs + Zatvoren茅 panely + + + + Do you really want to close this page? + Naozaj chcete zatvori钮 tento panel? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Str谩nka bola zmenen谩 a pri zatvoren铆 budu v拧etky zmeny straten茅. +Ste si ist媒, 啪e chcete zavrie钮 t煤to str谩nku? + + + + + Untitled + Nepomenovan媒 + + + + ToolbarSearch + + + No Recent Searches + 沤iadne posledn茅 h木adania + + + + Recent Searches + Posledn茅 h木adania + + + + Clear Recent Searches + Vymaza钮 posledn茅 h木adania + + + + WebPage + + + Error loading page: %1 + Chyba pri na膷铆tavan铆 str谩nky: %1 + + + + WebView + + + Open in New &Window + Otvori钮 v &novom okne + + + + Open in New &Tab + O&tvori钮 v novom paneli + + + + Save Lin&k + Ulo啪i钮 o&dkaz + + + + &Bookmark This Link + &Vytvori钮 z谩lo啪ku pre tento odkaz + + + + &Copy Link Location + &Kop铆rova钮 adresu odkazu + + + + Open Image in New &Window + Otvori钮 obr谩zok v novom okne + + + + Open Image in New &Tab + Otvori钮 obr谩zok v novom paneli + + + + &Save Image + Ulo啪i钮 obr谩zok + + + + &Copy Image + Kop铆rova钮 o&br谩zok + + + + C&opy Image Location + Kop铆rova钮 adresu ob&r谩zka + + + + Loading... + Nahr谩vam ... + + + + WebViewSearch + + + Not Found + Neexistuje + + + From abc189aeb9c3cc376ceabe8bc2c4913b5095b9df Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Wed, 31 Dec 2008 03:47:08 -0200 Subject: [PATCH 0266/1254] Only build tools/cacheinfo if Qt >= 4.5, as it uses QNetworkCacheMetaData --- tools/tools.pro | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/tools.pro b/tools/tools.pro index dc6277ca..1f1b0e2c 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -1,3 +1,7 @@ TEMPLATE = subdirs -SUBDIRS = cacheinfo \ - htmlToXBel +SUBDIRS = htmlToXBel + +# Only compile cacheinfo if we're using Qt >= 4.5 +!lessThan($$[QT_MINOR_VERSION], 5) { + SUBDIRS += cacheinfo +} From 6006260bfb250932ce9f3ee29a4771e749fe4903 Mon Sep 17 00:00:00 2001 From: faw Date: Thu, 1 Jan 2009 23:29:47 +0100 Subject: [PATCH 0267/1254] Display missing Copy action in context menu if a link is selected. --- src/webview.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index 8df53254..66280ba8 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -267,6 +267,8 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) menu->addAction(tr("Save Lin&k"), this, SLOT(downloadLinkToDisk())); menu->addAction(tr("&Bookmark This Link"), this, SLOT(bookmarkLink()))->setData(r.linkUrl().toString()); menu->addSeparator(); + if (!page()->selectedText().isEmpty()) + menu->addAction(pageAction(QWebPage::Copy)); menu->addAction(tr("&Copy Link Location"), this, SLOT(copyLinkToClipboard())); if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled)) menu->addAction(pageAction(QWebPage::InspectElement)); From 4c3107073e5603366e5e836c4ea8650cacc85954 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 7 Jan 2009 00:38:09 -0500 Subject: [PATCH 0268/1254] Add email to copyright --- src/utils/proxystyle.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/proxystyle.h b/src/utils/proxystyle.h index 3f2ded25..30d8356a 100644 --- a/src/utils/proxystyle.h +++ b/src/utils/proxystyle.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2008, Benjamin C. Meyer + * Copyright (c) 2008, Benjamin C. Meyer * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From ca76c987e9766b41bff38793d4308e24cd40eeb1 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 7 Jan 2009 00:45:36 -0500 Subject: [PATCH 0269/1254] Change license from GPL to BSD for the LineEdit Utility class --- src/utils/lineedit.cpp | 39 ++++++++++++++++++++++++--------------- src/utils/lineedit.h | 39 ++++++++++++++++++++++++--------------- src/utils/lineedit_p.h | 39 ++++++++++++++++++++++++--------------- 3 files changed, 72 insertions(+), 45 deletions(-) diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index d0f97c7e..0a5836a6 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -1,20 +1,29 @@ -/* - * Copyright 2008 Benjamin C. Meyer +/** + * Copyright (c) 2008 - 2009, Benjamin C. Meyer * - * 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 2 of the License, or - * (at your option) any later version. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - * 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, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #include "lineedit.h" diff --git a/src/utils/lineedit.h b/src/utils/lineedit.h index 603ea048..ff3dd0d4 100644 --- a/src/utils/lineedit.h +++ b/src/utils/lineedit.h @@ -1,20 +1,29 @@ -/* - * Copyright 2008 Benjamin C. Meyer - * - * 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 2 of the License, or - * (at your option) any later version. +/** + * Copyright (c) 2008 - 2009, Benjamin C. Meyer * - * 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. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #ifndef LINEEDIT_H diff --git a/src/utils/lineedit_p.h b/src/utils/lineedit_p.h index 62a19104..4418562e 100644 --- a/src/utils/lineedit_p.h +++ b/src/utils/lineedit_p.h @@ -1,20 +1,29 @@ -/* - * Copyright 2008 Benjamin C. Meyer +/** + * Copyright (c) 2008 - 2009, Benjamin C. Meyer * - * 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 2 of the License, or - * (at your option) any later version. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Benjamin Meyer nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. * - * 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, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301 USA + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #ifndef LINEEDIT_P_H From 479be0cb7b8c0f0ae8907acb59b62669cabe3345 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Thu, 8 Jan 2009 21:53:20 +0100 Subject: [PATCH 0270/1254] 1/2 Added option for showing only one close Button --- src/settings.cpp | 9 +++++++++ src/settings.ui | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/settings.cpp b/src/settings.cpp index 061c2072..497d16f5 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -85,6 +85,9 @@ SettingsDialog::SettingsDialog(QWidget *parent) connect(standardFontButton, SIGNAL(clicked()), this, SLOT(chooseFont())); connect(fixedFontButton, SIGNAL(clicked()), this, SLOT(chooseFixedFont())); +#if QT_VERSION < 0x040500 + oneCloseButton->setVisible(false); // no other mode than one close button with qt <4.5 +#endif loadDefaults(); loadFromSettings(); } @@ -216,6 +219,9 @@ void SettingsDialog::loadFromSettings() settings.beginGroup(QLatin1String("tabs")); selectTabsWhenCreated->setChecked(settings.value(QLatin1String("selectNewTabs"), false).toBool()); confirmClosingMultipleTabs->setChecked(settings.value(QLatin1String("confirmClosingMultipleTabs"), true).toBool()); +#if QT_VERSION >= 0x040500 + oneCloseButton->setChecked(settings.value(QLatin1String("oneCloseButton"),false).toBool()); +#endif settings.endGroup(); } @@ -318,6 +324,9 @@ void SettingsDialog::saveToSettings() settings.beginGroup(QLatin1String("tabs")); settings.setValue(QLatin1String("selectNewTabs"), selectTabsWhenCreated->isChecked()); settings.setValue(QLatin1String("confirmClosingMultipleTabs"), confirmClosingMultipleTabs->isChecked()); +#if QT_VERSION >= 0x040500 + settings.setValue(QLatin1String("oneCloseButton"), oneCloseButton->isChecked()); +#endif settings.endGroup(); BrowserApplication::instance()->loadSettings(); diff --git a/src/settings.ui b/src/settings.ui index 0c626cdd..c532d1e9 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -472,6 +472,16 @@ + + + + Show only one close button instead of one for each tab + + + false + + + From e66d6599c34b152227dfe99e902f20baa35d714e Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Thu, 8 Jan 2009 21:54:03 +0100 Subject: [PATCH 0271/1254] 2/2 Changes on TabWidget to show only one close button if enabled --- src/tabwidget.cpp | 58 +++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index ffee3ce5..69e7d44b 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -128,12 +128,20 @@ TabWidget::TabWidget(QWidget *parent) m_closeTabAction->setShortcuts(QKeySequence::Close); connect(m_closeTabAction, SIGNAL(triggered()), this, SLOT(closeTab())); -#if QT_VERSION < 0x040500 - m_newTabAction->setIcon(QIcon(QLatin1String(":addtab.png"))); - m_newTabAction->setIconVisibleInMenu(false); +#if QT_VERSION >= 0x040500 + QSettings settings; + settings.beginGroup(QLatin1String("tabs")); + bool oneCloseButton = settings.value(QLatin1String("oneCloseButton"), false).toBool(); + if (oneCloseButton) { +#endif + // With Qt < 4.5 do this always, with >=4.5 only if enabled. + m_newTabAction->setIcon(QIcon(QLatin1String(":addtab.png"))); + m_newTabAction->setIconVisibleInMenu(false); - m_closeTabAction->setIcon(QIcon(QLatin1String(":closetab.png"))); - m_closeTabAction->setIconVisibleInMenu(false); + m_closeTabAction->setIcon(QIcon(QLatin1String(":closetab.png"))); + m_closeTabAction->setIconVisibleInMenu(false); +#if QT_VERSION >= 0x040500 + } #endif m_nextTabAction = new QAction(tr("Show Next Tab"), this); @@ -166,23 +174,29 @@ TabWidget::TabWidget(QWidget *parent) m_recentlyClosedTabsAction->setEnabled(false); #if QT_VERSION >= 0x040500 - m_tabBar->setTabsClosable(true); - connect(m_tabBar, SIGNAL(tabCloseRequested(int)), - this, SLOT(closeTab(int))); - m_tabBar->setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab); -#else - // corner buttons - QToolButton *addTabButton = new QToolButton(this); - addTabButton->setDefaultAction(m_newTabAction); - addTabButton->setAutoRaise(true); - addTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly); - setCornerWidget(addTabButton, Qt::TopLeftCorner); - - QToolButton *closeTabButton = new QToolButton(this); - closeTabButton->setDefaultAction(m_closeTabAction); - closeTabButton->setAutoRaise(true); - closeTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly); - setCornerWidget(closeTabButton, Qt::TopRightCorner); + if(oneCloseButton) { +#endif + // corner buttons + // With Qt < 4.5 do this always, with >=4.5 only if enabled. + QToolButton *addTabButton = new QToolButton(this); + addTabButton->setDefaultAction(m_newTabAction); + addTabButton->setAutoRaise(true); + addTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly); + setCornerWidget(addTabButton, Qt::TopLeftCorner); + + QToolButton *closeTabButton = new QToolButton(this); + closeTabButton->setDefaultAction(m_closeTabAction); + closeTabButton->setAutoRaise(true); + closeTabButton->setToolButtonStyle(Qt::ToolButtonIconOnly); + setCornerWidget(closeTabButton, Qt::TopRightCorner); +#if QT_VERSION >= 0x040500 + } else { + m_tabBar->setTabsClosable(true); + + connect(m_tabBar, SIGNAL(tabCloseRequested(int)), + this, SLOT(closeTab(int))); + m_tabBar->setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab); + } #endif connect(this, SIGNAL(currentChanged(int)), From e804dc4e9a13753d4a5bd6aebadfabee1d163996 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Fri, 2 Jan 2009 20:50:18 +0100 Subject: [PATCH 0272/1254] Don't open bookmarks folders in bookmarks manager as if they were normal bookmarks. --- src/bookmarks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index ececfdea..10d01161 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -902,7 +902,7 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) void BookmarksDialog::open(TabWidget::Tab tab) { QModelIndex index = tree->currentIndex(); - if (!index.parent().isValid()) + if (tree->model()->hasChildren(index)) return; emit openUrl( index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl(), From 59b2fba74f37c9b9f98f9b8916b311d951c243c8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 10 Jan 2009 16:03:36 -0500 Subject: [PATCH 0273/1254] Don't show Open actions if the item is a Folder --- src/bookmarks.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 10d01161..432cfe4e 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -889,7 +889,9 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) QMenu menu; QModelIndex index = tree->indexAt(pos); index = index.sibling(index.row(), 0); - if (index.isValid() && !tree->model()->hasChildren(index)) { + QModelIndex sourceIndex = m_proxyModel->mapToSource(index); + const BookmarkNode *node = m_bookmarksModel->node(sourceIndex); + if (index.isValid() && node->type() != BookmarkNode::Folder) { menu.addAction(tr("Open"), this, SLOT(openInCurrentTab())); menu.addAction(tr("Open in New Tab"), this, SLOT(openInNewTab())); menu.addSeparator(); From 8f5c666995a825f8546a0d49a5cf2c22b70d35c6 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sat, 3 Jan 2009 16:14:34 +0100 Subject: [PATCH 0274/1254] Refine my fix for bookmarks manager. --- src/bookmarks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 432cfe4e..29933784 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -904,7 +904,7 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) void BookmarksDialog::open(TabWidget::Tab tab) { QModelIndex index = tree->currentIndex(); - if (tree->model()->hasChildren(index)) + if (tree->model()->hasChildren(index) || !index.parent().isValid()) return; emit openUrl( index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl(), From 45e45c4cf7e83098f177a5d7877654e3dd4409eb Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sat, 10 Jan 2009 16:18:19 +0100 Subject: [PATCH 0275/1254] Don't add empty tabs if closed to recently closed tabs menu. --- src/tabwidget.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 69e7d44b..c7543314 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -602,7 +602,9 @@ void TabWidget::closeTab(int index) return; bool hasFocus = false; - if (WebView *tab = webView(index)) { + WebView *tab = webView(index); + + if (tab && !tab->url().isEmpty()) { if (tab->isModified()) { QMessageBox closeConfirmation(tab); closeConfirmation.setWindowFlags(Qt::Sheet); From 3e000e5b6edb1bfc683244a372d77fa9ff14848e Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Fri, 2 Jan 2009 21:58:32 +0100 Subject: [PATCH 0276/1254] Finish Polish translation. --- src/locale/pl_PL.ts | 686 +++++++++++++++++++++++++++----------------- 1 file changed, 428 insertions(+), 258 deletions(-) diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index 561eb882..bfee2b39 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -1,6 +1,7 @@ - - + + + AboutDialog @@ -10,36 +11,36 @@ Authors - + Autorzy License - + Licencja Lightweight WebKit-based web browser - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - + Lekka bazuj膮ca na silniku WebKit przegl膮darka <a href="http://arora-browser.org">http://arora-browser.org</a> - + Close - + Zamknij + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + @@ -58,22 +59,22 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open Otw贸rz - + Open in New Tab Otw贸rz w nowej karcie - + Delete Usu艅 - + New Folder Nowy katalog @@ -184,7 +185,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Zak艂adka @@ -192,112 +193,122 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Obecnie otwartych jest %1 okien i %2 kart Czy mimo to chcesz zako艅czy膰? - + Restore failed - + Przywracanie nie powiod艂o si臋 The saved session will not being restored because last time it was restored Arora crashed. - + Zapisana sesja nie zostanie przywr贸cona poniewa偶 ostatnim razem Arora wywali艂a si臋. + + + + (Change: %1 %2) + (Zmiana: %1 %2) + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Zapisana sesja nie mog艂a zosta膰 przywr贸cona poniewa偶 Arora wysypa艂a si臋. BrowserMainWindow - + &File &Plik - + &New Window &Nowe okno - + &Open File... &Otw贸rz plik... - + Open &Location... Otw贸rz &lokacj臋... - + &Save As... Zapi&sz jako... - + &Import Bookmarks... &Importuj zak艂adki... - + &Export Bookmarks... &Eksportuj zak艂adki... - + P&rint Preview... Podgl膮d wyd&ruku... - + &Print... &Drukuj... - + Private &Browsing... &Prywatne przegl膮danie... - + &Quit &Zako艅cz - + &Edit &Edytuj - + &Undo &Cofnij - + &Redo &Pon贸w - + Cu&t Wy&tnij - + &Copy &Kopiuj - + &Paste &Wklej - + &Find &Znajd藕 @@ -317,32 +328,32 @@ Czy mimo to chcesz zako艅czy膰? &Preferencje - + Ctrl+, Ctrl+, - + &View &Widok - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop &Zatrzymaj @@ -367,134 +378,134 @@ Czy mimo to chcesz zako艅czy膰? &Zmniejsz rozmiar tekstu - + Page S&ource 殴r贸d艂&o strony - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Tryb pe艂noekranowy - + Hi&story Hi&storia - + Back Wstecz - + Forward Do przodu - + Home Strona domowa - + Restore Last Session Odtw贸rz ostatni膮 sesj臋 - + &Bookmarks &Zak艂adki - + Manage Bookmarks... Zarz膮dzaj zak艂adkami... - + Add Bookmark... Dodaj zak艂adk臋... - + &Window &Okno - + &Tools &Narz臋dzia - + Web &Search Wy&szukiwanie - + Ctrl+K Web Search Ctrl+K - + &Clear Private Data Wy&czy艣膰 prywatne dane - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - + Enable Web &Inspector - W艂膮cz &inspektora stron + W艂膮cz &inspektora stron - + &Help &Pomoc - + About &Qt Informacje o &Qt - + About &Arora Informacje o programie &Arora - + Navigation Nawigacja - + Show Status Bar Poka偶 pasek stanu - + Hide Status Bar Schowaj pasek stanu - + Show Toolbar Poka偶 pasek narz臋dziowy - + Hide Toolbar Schowaj pasek narz臋dziowy @@ -509,33 +520,33 @@ Czy mimo to chcesz zako艅czy膰? Schowaj pasek zak艂adek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource - Otw贸rz plik internetowy + Otw贸rz plik internetowy - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Pliki internetowe (*.html *.htm *.svg *.png *.gif *.svgz);;Wszystkie pliki (*.*) + Pliki internetowe (*.html *.htm *.svg *.png *.gif *.svgz);;Wszystkie pliki (*.*) - + Print Document Drukuj dokument - + Are you sure you want to turn on private browsing? Czy jeste艣 pewny 偶e chcesz w艂膮czy膰 prywatne przegl膮danie sieci? @@ -545,44 +556,44 @@ Czy mimo to chcesz zako艅czy膰? <b>%1</b><br><br>Kiedy prywatne przegl膮danie sieci jest w艂膮czone, niekt贸re dzia艂ania dotycz膮ce twojej prywatno艣ci s膮 wy艂膮czone:<ul><li> Strony internetowe nie s膮 dodawane do historii.</li><li> Lista pobierania jest automatycznie czyszczona.</li><li> Nowe ciasteczka nie s膮 zapisywane a dost臋p do przechowywanych jest uniemo偶liwiony.</li><li> Ikony stron nie s膮 przechowywane a sesje nie b臋d膮 zapisane.</li><li> Wyszukiwania nie s膮 dodawane do listy w menu pola wyszukiwania.</li></ul>Dop贸ki okno nie zostanie zamkni臋te, mo偶na u偶ywa膰 przycisk贸w Wstecz i Do przodu, by powr贸ci膰 do wcze艣niej otwartych stron. - + Are you sure you want to close the window? There are %1 tabs open - Czy jeste艣 pewien, 偶e chcesz zamkn膮膰 okno? %1 kart jest otwartch + Czy jeste艣 pewien, 偶e chcesz zamkn膮膰 okno? %1 kart jest otwartych Page Source of %1 - 殴r贸d艂o strony %1 + 殴r贸d艂o strony %1 - + Web Inspector - Inspektor stron + Inspektor stron - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - Inspektor stron porawnie dzia艂a tylko dla stron, kt贸re zosta艂y za艂adowane po w艂膮czeniu inspektora. + Inspektor stron porawnie dzia艂a tylko dla stron, kt贸re zosta艂y za艂adowane po w艂膮czeniu inspektora. Czy chcesz od艣wie偶y膰 wszystkie strony? - + Stop loading the current page Zatrzymaj 艂adowenie strony - + Reload the current page Od艣wie偶 stron臋 - + Downloads Pobieranie - + Alt+Ctrl+L Download Manager Alt+Ctrl+L @@ -590,58 +601,78 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Find &Next - + Znajd藕 &nast臋pny - + Find P&revious - + Znajd藕 &poprzedni Prefe&rences - + Prefe&rencje - + &Reload Page - + Od艣wie偶 st&ron臋 - + Make Text &Bigger - + Zwi臋ksz rozmiar tekstu - + Make Text &Normal - + Znormalizuj rozmiar tekstu - + Make Text &Smaller - + Zmniejsz rozmiar tekstu - + Show Bookmarks Bar - + Poka偶 pasek zak艂adek - + Hide Bookmarks Bar - + Schowaj pasek zak艂adek - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - + <b>%1</b><br /><br />Kiedy prywatne przegl膮danie jest w艂膮czone, niekt贸re akcje wp艂ywaj膮ce na Twoj膮 prywatno艣膰 s膮 wy艂膮czone.<ul><li>Historia nie jest uzupe艂niana o odwiedzane strony.</li><li>Pobrane pliki s膮 automatycznie usuwane z okna Pobierania.</li><li>Nowe ciasteczka nie s膮 przechowywane, aktualnie istniej膮ce nie mog膮 by膰 modyfikowane.</li><li>Ikony stron nie b臋d膮 przechowywane</li><li>Sesja nie zostanie zapisana.</li><li>Wyszukiwania nie s膮 dodawane do historii wyszukiwa艅.</li></ul>Dop贸ki nie zamkniesz okna, mo偶esz zawsze uzy膰 przycisk贸w Wstecz i Do przodu, by wr贸ci膰 do stron, kt贸re przegl膮da艂e艣. + + + + Find Nex&t + Znajd藕 &nast臋pny + + + + Prefere&nces... + Prefe&rencje + + + + Show Menu Bar + Poka偶 pasek menu + + + + Switch application language + Zmie艅 j臋zyk aplikacji ClearButton - + Clear Wyczy艣膰 @@ -649,55 +680,60 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? ClearPrivateData - + Clear Private Data Wyczy艣膰 prywatne dane - + Clear the following items: Wyczy艣膰 nast臋puj膮ce elementy: - + &Browsing History &Historia przegl膮dania - + &Download History Historia po&bierania - + &Search History Historia &wyszukiwania - + &Cookies &Ciasteczka C&ache - P&ami臋膰 podr臋czn膮 + P&ami臋膰 podr臋czn膮 - + Website &Icons &Ikony stron - + Clear &Private Data Wyczy艣膰 &prywatne dane - + &Cancel &Anuluj + + + C&ached Web Pages + Zapisane w cache strony + CookieExceptionsModel @@ -709,7 +745,7 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Status - Stan + Stan @@ -726,6 +762,11 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Allow For Session Zezw贸l na czas sesji + + + Rule + Zasada + CookieModel @@ -759,6 +800,16 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Contents Zawarto艣膰 + + + true + prawda + + + + false + fa艂sz + CookiesDialog @@ -843,6 +894,11 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? 0 Items 0 element贸w + + + &OK + &OK + DownloadItem @@ -877,32 +933,32 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Otw贸rz - + Save File Zapisz plik - + Download canceled: %1 Pobieranie anulowane: %1 Error opening save file: %1 - B艂膮d przy otwieraniu zapisanego pliku: %1 + B艂膮d przy otwieraniu zapisanego pliku: %1 - + Error saving: %1 B艂膮d przy zapisie: %1 - + Network Error: %1 B艂膮d sieci: %1 - + seconds sekund @@ -917,53 +973,58 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? - %4 %5 pozosta艂o - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/sek) %4 - + ? ? - + %1 of %2 - Stopped %1 z %2 - Zatrzymano - + bytes bajt贸w - + kB kB - + MB MB - + - %n minutes remaining - - - - + + - %n minuta pozosta艂a + - %n minuty pozosta艂y + - % minut pozosta艂o - + - %n seconds remaining - - - - + + - %n sekunda pozosta艂a + - %n sekundy pozosta艂y + - %n sekund pozosta艂o + + + Error opening output file: %1 + B艂膮d w trakcie otwierania pliku docelowego: %1 + DownloadManager @@ -978,29 +1039,29 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? %1 pobiera艅 - + %n Download(s) - - - - + + %n pobieranie + %n pobierania + %n pobiera艅 HistoryDialog - + Open Otw贸rz - + Copy Kopiuj - + Delete Skasuj @@ -1023,25 +1084,35 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryMenu - + Show All History Poka偶 ca艂膮 histori臋 - + Clear History Wyczy艣膰 histori臋 + + + Clear History... + Wyczy艣膰 histori臋... + + + + Do you want to clear the history? + Chcesz wyczy艣ci膰 histori臋? + HistoryModel - + Title Tytu艂 - + Address Adres @@ -1049,7 +1120,7 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryTreeModel - + Earlier Today Dzisiaj @@ -1059,29 +1130,47 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? %1 element贸w - + %n item(s) - - - - + + %n element + %n elementy + %n element贸w + + LanguageManager + + + Default + Domy艣lny + + + + Choose language + Wybierz j臋zyk + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>Mo偶esz u偶ywa膰 innego j臋zyka ni偶<br />domy艣lny systemowy.</p><p>Wybierz j臋zyk, z kt贸rego chcia艂by艣 korzysta膰.</p> + + NetworkAccessManager - + <qt>Enter username and password for "%1" at %2</qt> <qt>Wpisz nazw臋 u偶ytkownika i has艂o dla "%1" na %2</qt> - + <qt>Connect to proxy "%1" using:</qt> <qt>Po艂膮cz si臋 z proxy "%1" u偶ywaj膮c:</qt> - + SSL Errors: %1 @@ -1098,7 +1187,7 @@ Do you want to ignore these errors? Czy chcesz zignorowa膰 te b艂臋dy? - + Do you want to accept all these certificates? Czy chcesz zaakceptowa膰 te certyfikaty? @@ -1131,6 +1220,14 @@ Czy chcesz zignorowa膰 te b艂臋dy? Has艂o: + + PlainTextEditSearch + + + Not Found + Nie znaleziono + + ProxyDialog @@ -1182,7 +1279,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? TextLabel - EtykietkaTekstowa + Etykietka Tekstowa @@ -1203,7 +1300,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? SearchLineEdit - + Search Szukaj @@ -1213,7 +1310,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Settings - Ustawienia + Ustawienia @@ -1223,281 +1320,349 @@ Czy chcesz zignorowa膰 te b艂臋dy? Home: - Strona domowa: + Strona domowa: - + Set to current page Ustaw jako obecn膮 stron臋 - + Remove history items: Usu艅 elementy historii: - + After one day Po jednym dniu - + After one week Po tygodniu - + After two weeks Po dw贸ch tygodniach - + After one month Po miesi膮cu - + After one year Po roku - + Manually R臋cznie - + Open links from applications: Otw贸rz linki z aplikacji: - + In a tab in the current window W karcie w obecnym oknie - + In a new window W nowym oknie - + Downloads Pobieranie - + Ask for a destination each time Za ka偶dym razem pytaj o miejsce do zapisu - + Use this destination: U偶yj nast臋puj膮cego miejsca docelowego: - + Appearance Wygl膮d - + Standard font: Standardowa czcionka: - + Times 16 - Times 16 + Times 16 - + Select... Wybierz... - + Fixed-width font: O sta艂ej szeroko艣ci: - + Courier 13 - Courier 13 + Courier 13 - + Privacy Prywatno艣膰 - + Web Content Zawarto艣膰 sieci - + Enable Plugins W艂膮cz wtyczki - + Enable Javascript W艂膮cz obs艂ug臋 j臋zyka Javascript - + Cookies Ciasteczka - + Accept Cookies: Akceptuj ciasteczka: - + Always Zawsze - + Never Nigdy - + Only from sites you navigate to Tylko ze stron, kt贸re odwiedzasz - + Exceptions... Wyj膮tki... Keep until: - Przechowuj: + Przechowuj: - + They expire a偶 wygasn膮 - + I exit the application do zamkni臋cia programu - + At most 90 days najwy偶ej 90 dni - + Cookies... Ciasteczka... - + Proxy Proxy Enable proxy - W艂膮cz proxy + W艂膮cz proxy - + Type: Typ: - + Socks5 Socks5 - + Http Http Host: - Host: + Host: - + Port: Port: - + User Name: Nazwa u偶ytkownika: - + Password: Has艂o: - + Advanced Zaawansowane - + Style Sheet: Arkusz styl贸w: On startup: - + Po uruchomieniu: Show my home page - + Poka偶 moj膮 stron臋 domow膮 Show a blank page - + Poka偶 pust膮 stron臋 Restore windows and tabs from last time - + Przywr贸膰 okna i karty z poprzedniej sesji - + On application exit - + Przy zamykaniu aplikacji Enable Images - + W艂膮cz obrazki - + Tabs - + Karty - + Select tabs and windows as they are created - + Wybierz karty i okna tak jak zosta艂y utworzone - + Confirm when closing multiple tabs + Potwierd藕 przy zamykaniu wielu kart + + + + Preferences + Preferencje + + + + Home Page: + Strona domowa: + + + + View Images + Wy艣wietlaj obrazki + + + + Keep Cookies Until: + Przechowuj ciastka: + + + + Use proxy server + U偶yj serwera proxy: + + + + Host name: + Host name: + + + + SourceViewer + + + Loading... + 艁adowanie... + + + + &Edit + &Edytuj + + + + &Find + &Znajd藕 + + + + &View + &Widok + + + + &Wrap lines + Za&wijaj wiersze + + + + Source of Page + 殴r贸d艂o strony + + + + Ctrl+W @@ -1536,66 +1701,71 @@ Czy chcesz zignorowa膰 te b艂臋dy? Show Tab Bar - + Poka偶 pasek kart Hide Tab Bar - + Schowaj pasek kart TabWidget - + New &Tab Nowa &karta - + &Close Tab &Zamknij kart臋 - + Show Next Tab Poka偶 nast臋pn膮 kart臋 - + Show Previous Tab Poka偶 poprzedni膮 kart臋 - + Recently Closed Tabs Ostatnio zamykane karty (Untitled) - (Bez nazwy) + (Bez nazwy) - + Do you really want to close this page? Czy na pewno chcesz zamkn膮膰 t臋 stron臋? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? Wprowadzi艂e艣 modyfikacje na tej strone i kiedy j膮 zamkniesz to utracisz wszystkie zmiany. Czy na pewno chcesz zamkn膮膰 t臋 stron臋? + + + Untitled + Nowy + ToolbarSearch Google - Google + Google @@ -1616,7 +1786,7 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebPage - + Error loading page: %1 B艂膮d podczas 艂adowania strony: %1 @@ -1624,65 +1794,65 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebView - + Open in New &Window Otw贸rz w nowym &oknie - + Open in New &Tab Otw贸rz w nowej &karcie - + Save Lin&k &Zapisz element docelowy - + &Bookmark This Link Dodaj ten odno艣nik do &zak艂adek - + &Copy Link Location &Kopiuj adres odno艣nika - + Open Image in New &Window Otw贸rz obrazek w nowym o&knie - + Open Image in New &Tab Otw贸rz obrazek w nowej k&arcie - + &Save Image &Zapisz obrazek - + &Copy Image &Kopiuj obrazek - + C&opy Image Location K&opiuj adres obrazka - + Loading... - + 艁adowanie... WebViewSearch - + Not Found Nie znaleziono From 2a155fa524d72c9a9861d144c22dd1f7a0e3cb77 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sat, 3 Jan 2009 00:25:12 +0100 Subject: [PATCH 0277/1254] Make tab reload action in context menu work. --- src/tabwidget.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index c7543314..f7b1a550 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -235,9 +235,9 @@ void TabWidget::reloadTab(int index) if (index < 0 || index >= count()) return; - QWidget *widget = this->widget(index); - if (WebView *tab = qobject_cast(widget)) + if (WebView *tab = webView(index)) { tab->reload(); + } } void TabWidget::moveTab(int fromIndex, int toIndex) @@ -543,8 +543,7 @@ void TabWidget::toolBarVisibilityChangeRequestedCheck(bool visible) void TabWidget::reloadAllTabs() { for (int i = 0; i < count(); ++i) { - QWidget *tabWidget = widget(i); - if (WebView *tab = qobject_cast(tabWidget)) { + if (WebView *tab = webView(i)) { tab->reload(); } } From 12855c1b0a2cc91748d09f00efc29e65b968beaf Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 10 Jan 2009 17:08:29 -0500 Subject: [PATCH 0278/1254] Use the new git command rather then the old way of git-command --- git_hooks/pre-commit | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/git_hooks/pre-commit b/git_hooks/pre-commit index 0597b2c9..4fc44072 100755 --- a/git_hooks/pre-commit +++ b/git_hooks/pre-commit @@ -1,7 +1,7 @@ #!/bin/sh -e # # An example hook script to verify what is about to be committed. -# Called by git-commit with no arguments. The hook should +# Called by git commit with no arguments. The hook should # exit with non-zero status after issuing an appropriate message if # it wants to stop the commit. # @@ -11,9 +11,9 @@ # Lines you introduce should not have trailing whitespace. # Also check for an indentation that has SP before a TAB. -if git-rev-parse --verify HEAD 2>/dev/null +if git rev-parse --verify HEAD 2>/dev/null then - git-diff-index -p -M --cached HEAD + git diff-index -p -M --cached HEAD else # NEEDSWORK: we should produce a diff with an empty tree here # if we want to do the same verification for the initial import. From 3dc6507662214b518338229aff75857c1dbf18e0 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sat, 10 Jan 2009 13:15:32 +0100 Subject: [PATCH 0279/1254] Allow filtering bookmarks and histories by URLs as well. --- src/bookmarks.cpp | 1 + src/history.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 29933784..9fe03fb7 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -823,6 +823,7 @@ BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager) tree->setTextElideMode(Qt::ElideMiddle); m_bookmarksModel = m_bookmarksManager->bookmarksModel(); m_proxyModel = new TreeProxyModel(this); + m_proxyModel->setFilterKeyColumn(-1); connect(search, SIGNAL(textChanged(QString)), m_proxyModel, SLOT(setFilterFixedString(QString))); connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeSelected())); diff --git a/src/history.cpp b/src/history.cpp index a0ff1f9b..161e24c6 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -711,6 +711,7 @@ HistoryDialog::HistoryDialog(QWidget *parent, HistoryManager *setHistory) : QDia tree->setTextElideMode(Qt::ElideMiddle); QAbstractItemModel *model = history->historyTreeModel(); TreeProxyModel *proxyModel = new TreeProxyModel(this); + proxyModel->setFilterKeyColumn(-1); connect(search, SIGNAL(textChanged(QString)), proxyModel, SLOT(setFilterFixedString(QString))); connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeSelected())); From 309db5253b501d9a2fee48ccb65da1b55dbb47b4 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 12 Jan 2009 02:36:43 -0500 Subject: [PATCH 0280/1254] Uncheck the privicy action when user aborts initial private browsing dialog. --- src/browsermainwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 96510b6d..63ddc13a 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -877,6 +877,8 @@ void BrowserMainWindow::slotPrivateBrowsing() BrowserMainWindow *window = windows.at(i); window->m_privateBrowsing->setChecked(true); } + } else { + m_privateBrowsing->setChecked(false); } } else { settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false); From 9250967a37083ce5cd0eeac45bfdab9e6271c312 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 14 Jan 2009 23:00:53 -0500 Subject: [PATCH 0281/1254] Support HTTP proxies which listen in ports higher than 10000 --- src/settings.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings.ui b/src/settings.ui index c532d1e9..a471de84 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -565,7 +565,7 @@ - 10000 + 65535 1080 From af22ae5a9fcec6b110918f9434c494f92a71c928 Mon Sep 17 00:00:00 2001 From: faw Date: Thu, 1 Jan 2009 23:30:39 +0100 Subject: [PATCH 0282/1254] Save more space in full screen mode - hide menu and status bars. --- src/browsermainwindow.cpp | 15 +++++++++++++++ src/browsermainwindow.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 63ddc13a..cdca9015 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -343,6 +343,8 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) statusBar()->setVisible(showStatusbar); updateStatusbarActionText(showStatusbar); + + m_statusBarVisible = showStatusbar; m_navigationSplitter->restoreState(splitterState); @@ -368,6 +370,8 @@ QAction *BrowserMainWindow::showMenuBarAction() const void BrowserMainWindow::setupMenu() { + m_menuBarVisible = true; + menuBar()->clear(); new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(slotSwapFocus())); @@ -641,6 +645,8 @@ void BrowserMainWindow::slotAddBookmark() void BrowserMainWindow::slotViewMenuBar() { menuBar()->setVisible(!menuBar()->isVisible()); + + m_menuBarVisible = menuBar()->isVisible(); } void BrowserMainWindow::slotViewToolbar() @@ -697,6 +703,9 @@ void BrowserMainWindow::slotViewStatusbar() updateStatusbarActionText(true); statusBar()->show(); } + + m_statusBarVisible = statusBar()->isVisible(); + m_autoSaver->changeOccurred(); } @@ -976,8 +985,14 @@ void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen) { if (makeFullScreen) { setWindowState(windowState() | Qt::WindowFullScreen); + + menuBar()->hide(); + statusBar()->hide(); } else { setWindowState(windowState() & ~Qt::WindowFullScreen); + + menuBar()->setVisible(m_menuBarVisible); + statusBar()->setVisible(m_statusBarVisible); } } diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 9eabaa94..6cf2b310 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -193,6 +193,9 @@ private slots: QAction *m_restoreLastSession; QAction *m_addBookmark; + bool m_menuBarVisible; + bool m_statusBarVisible; + QIcon m_reloadIcon; QIcon m_stopIcon; }; From b9f7154777e6545ac9b3db787ac284b8de115330 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Mon, 19 Jan 2009 11:30:57 +0100 Subject: [PATCH 0283/1254] [PATCH] Make arora work with the latest Qt 4.5 snapshot, where QLocalServer no longer automatically deletes the old socket on AddressInUseError. --- src/utils/singleapplication.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/utils/singleapplication.cpp b/src/utils/singleapplication.cpp index 782fb75c..1d516d8a 100644 --- a/src/utils/singleapplication.cpp +++ b/src/utils/singleapplication.cpp @@ -69,6 +69,11 @@ bool SingleApplication::startSingleServer() if (!m_localServer->listen(serverName())) { if (QAbstractSocket::AddressInUseError == m_localServer->serverError()) { // cleanup from a segfaulted server +#ifdef Q_OS_UNIX + QString fullServerName = QLatin1String("/tmp/") + serverName(); + if (QFile::exists(fullServerName)) + QFile::remove(fullServerName); +#endif if (!m_localServer->listen(serverName())) { qWarning() << "SingleApplication: Unable to start single server."; } else { From c199f1f9aeb5e0d7857364dfbe926f2bfaf06f8f Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 15:43:56 -0500 Subject: [PATCH 0284/1254] Add translation to ja_JP from axasia Issue: 249 --- src/locale/ja_JP.ts | 1697 +++++++++++++++++++++++++++++++++++++++++ src/locale/locale.pri | 1 + 2 files changed, 1698 insertions(+) create mode 100644 src/locale/ja_JP.ts diff --git a/src/locale/ja_JP.ts b/src/locale/ja_JP.ts new file mode 100644 index 00000000..4a613556 --- /dev/null +++ b/src/locale/ja_JP.ts @@ -0,0 +1,1697 @@ + + + + + + AboutDialog + + + About + About + + + + Authors + 钁椾綔鑰 + + + + License + 銉┿偆銈汇兂銈 + + + + Lightweight WebKit-based web browser + WebKit 銉欍兗銈广伄杌姐亜銉栥儵銈︺偠 + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + 闁夈仒銈 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + AddBookmarkDialog + + + Add Bookmark + 銉栥儍銈優銉笺偗銇拷鍔 + + + + Type a name for the bookmark, and choose where to keep it. + 銉栥儍銈優銉笺偗鍚嶃倰鍏ュ姏銇椼仸銆佷繚瀛樺厛銈掗伕鎶炪仐銇︺亸銇犮仌銇. + + + + BookmarksDialog + + + Open + 闁嬨亸 + + + + Open in New Tab + 鏂般仐銇勩偪銉栥仹闁嬨亸 + + + + Delete + 鍓婇櫎 + + + + New Folder + 鏂般仐銇勩儠銈┿儷銉 + + + + Bookmarks + 銉栥儍銈優銉笺偗 + + + + &Remove + 鍓婇櫎(&R) + + + + Add Folder + 銉曘偐銉儉銇拷鍔 + + + + BookmarksManager + + + Open File + 銉栥儍銈優銉笺偗銇偆銉炽儩銉笺儓 + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + %1 銈掋偆銉炽儩銉笺儓銇椼伨銇椼仧 + + + + Save File + 銉栥儍銈優銉笺偗銇偍銈偣銉濄兗銉 + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Error when loading bookmarks on line %1, column %2: +%3 + %1 琛岀洰 %2 鏂囧瓧鐩伄銉栥儍銈優銉笺偗銈掕銇胯炯銇夸腑銇偍銉┿兗: +%3 + + + + Toolbar Bookmarks + Toolbar Bookmarks + + + + Menu + Menu + + + + Export error + 銈ㄣ偗銈广儩銉笺儓 銈ㄣ儵銉 + + + + error saving bookmarks + 銉栥儍銈優銉笺偗銇繚瀛樹腑銇偍銉┿兗 + + + + Remove Bookmark + Remove Bookmark + + + + Insert Bookmark + 銉栥儍銈優銉笺偗銇拷鍔 + + + + Name Change + 鍚嶅墠澶夋洿 + + + + Address Change + 銈€儔銉偣澶夋洿 + + + + BookmarksModel + + + Title + 銈裤偆銉堛儷 + + + + Address + 銈€儔銉偣 + + + + BookmarksToolBar + + + Bookmark + 銉栥儍銈優銉笺偗 + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + %1 鍊嬨伄銈︺偅銉炽儔銈︺仺 %2 鍊嬨伄銈裤儢銇岄枊銇勩仸銇勩伨銇. +鏈綋銇祩浜嗐仐銇俱仚銇? + + + + Restore failed + 寰╁厓銇け鏁 + + + + (Change: %1 %2) + (Change: %1 %2) + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + 銇撱伄銈汇儍銈枫儳銉炽倰寰╁厓銈掕│銇裤仸 Arora 銇屻偗銉┿儍銈枫儱銇椼仧鐐恒佷繚瀛樸仌銈屻仧銈汇儍銈枫儳銉炽伅寰╁厓銇曘倢銇亜鍙兘鎬с亴銇傘倞銇俱仚銆 + + + + BrowserMainWindow + + + &File + 銉曘偂銈ゃ儷(&F) + + + + &New Window + 鏂般仐銇勩偊銈c兂銉夈偊(&N) + + + + &Open File... + 闁嬨亸(&O)... + + + + Open &Location... + URL銈掗枊銇(&L)... + + + + &Save As... + 鍚嶅墠銈掋仱銇戙仸淇濆瓨(&A)... + + + + &Import Bookmarks... + 銉栥儍銈優銉笺偗銈掋偆銉炽儩銉笺儓(&I)... + + + + &Export Bookmarks... + 銉栥儍銈優銉笺偗銈掋偍銈偣銉濄兗銉(&E)... + + + + P&rint Preview... + 鍗板埛銉椼儸銉撱儱銉(&R)... + + + + &Print... + 鍗板埛(&P)... + + + + Private &Browsing... + 銉椼儵銈ゃ儥銉笺儓 銉€兗銉(&B)... + + + + &Quit + 绲備簡(&Q) + + + + &Edit + 绶ㄩ泦(&E) + + + + &Undo + 鍏冦伀鎴汇仚(&U) + + + + &Redo + 銈勩倞鐩淬仚(&R) + + + + Cu&t + 鍒囥倞鍙栥倞(&T) + + + + &Copy + 銈炽償銉(&C) + + + + &Paste + 璨笺倞浠樸亼(&P) + + + + &Find + 妞滅储(&F) + + + + Find Nex&t + 娆°倰妞滅储(&T) + + + + Find P&revious + 鍓嶃倰妞滅储(&R) + + + + Prefere&nces... + 瑷畾(&N)... + + + + Ctrl+, + Ctrl+, + + + + &View + 琛ㄧず(&V) + + + + Show Menu Bar + 銉°儖銉ャ兗 銉愩兗銈掕〃绀 + + + + Ctrl+| + Ctrl+| + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + 鍋滄(&S) + + + + &Reload Page + 鍐嶈杈(&R) + + + + Make Text &Bigger + 鏂囧瓧銈掑ぇ銇嶃亸銇欍倠(&B) + + + + Make Text &Normal + 鏂囧瓧銈掗氬父銈点偆銈恒伀銇欍倠(&N) + + + + Make Text &Smaller + 鏂囧瓧銈掑皬銇曘亸銇欍倠(&S) + + + + Page S&ource + 銈姐兗銈广倰琛ㄧず(&O) + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + 鍏ㄧ敾闈㈣〃绀(&F) + + + + Hi&story + 灞ユ(&S) + + + + Back + 鎴汇倠 + + + + Forward + 閫层個 + + + + Home + 銉涖兗銉 + + + + Restore Last Session + 鏈寰屻伄銈汇儍銈枫儳銉炽倰寰╁厓 + + + + &Bookmarks + 銉栥儍銈優銉笺偗(&B) + + + + Manage Bookmarks... + 銉栥儍銈優銉笺偗銇鐞... + + + + Add Bookmark... + 銉栥儍銈優銉笺偗銇拷鍔... + + + + &Window + 銈︺偅銉炽儔銈(&W) + + + + &Tools + 銉勩兗銉(&T) + + + + Web &Search + Web 妞滅储(&S) + + + + Ctrl+K + Web Search + Ctrl+K + + + + &Clear Private Data + 銉椼儵銈ゃ儛銈枫兗鎯呭牨銇墛闄(&C) + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Enable Web &Inspector + Web 銈ゃ兂銈广儦銈偪銈掓湁鍔瑰寲(&I) + + + + &Help + 銉樸儷銉(&H) + + + + Switch application language + 瑷瑾炪伄鍒囥倞鏇裤亪 + + + + About &Qt + Qt 銇仱銇勩仸(&Q) + + + + About &Arora + Arora 銇仱銇勩仸(&A) + + + + Navigation + 銉娿儞銈层兗銈枫儳銉 + + + + Show Status Bar + 銈广儐銉笺偪銈 銉愩兗銈掕〃绀 + + + + Hide Status Bar + 銈广儐銉笺偪銈 銉愩兗銈掗殸銇 + + + + Show Toolbar + 銉勩兗銉儛銉笺倰琛ㄧず + + + + Hide Toolbar + 銉勩兗銉儛銉笺倰闅犮仚 + + + + Show Bookmarks Bar + 銉栥儍銈優銉笺偗 銉愩兗銈掕〃绀 + + + + Hide Bookmarks Bar + 銉栥儍銈優銉笺偗 銉愩兗銈掗殸銇 + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + Web 銉偨銉笺偣銈掗枊銇 + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Web 銉偨銉笺偣 (*.html *.htm *.svg *.png *.gif *.svgz);;鍏ㄣ仸銇儠銈°偆銉 (*.*) + + + + Print Document + 銉夈偔銉ャ儭銉炽儓銇嵃鍒 + + + + Are you sure you want to turn on private browsing? + 銉椼儵銈ゃ儥銉笺儓 銉€兗銉夈伀绉昏銇椼伨銇欍亱? + + + + Are you sure you want to close the window? There are %1 tabs open + %1 鍊嬨伄銈裤儢銈掗枊銇勩仸銇勩伨銇欍亴銆併偊銈c兂銉夈偊銈掗枆銇樸伨銇欍亱? + + + + Web Inspector + Web 銈ゃ兂銈广儦銈偪 + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + Web 銈ゃ兂銈广儦銈偪銇併儦銉笺偢銈掕銇胯炯銈鍓嶃亱銈夋湁鍔广伀銇仯銇︺亜銇亼銈屻伆姝c仐銇忓嫊浣溿仐銇俱仜銈. +鍏ㄣ仸銇儦銉笺偢銈掑啀瑾炯銇椼伨銇欍亱? + + + + Stop loading the current page + 鐝惧湪銇儦銉笺偢銇杈笺倰涓銇椼伨銇 + + + + Reload the current page + 鐝惧湪銇儦銉笺偢銈掑啀瑾炯 + + + + Downloads + 銉銈︺兂銉兗銉 + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>銉椼儵銈ゃ儥銉笺儓 銉€兗銉夈伀绉昏銇椼仧鍫村悎銆併亗銇仧銇儣銉┿偆銉愩偡銉笺倰瀹堛倠鐐恒併亜銇忋仱銇嬨伄姗熻兘銇埗闄愩仌銈屻伨銇:<ul><li> 琛ㄧず銇椼仧銉氥兗銈搞伅灞ユ銇拷鍔犮仌銈屻伨銇涖倱銆</li><li> 銉銈︺兂銉兗銉夊饱姝淬伅娈嬨倞銇俱仜銈撱</li><li> 鏂般仐銇忓彈銇戝彇銇c仧 Cookie 銇繚瀛樸仌銈屻伨銇涖倱銆傛棦銇繚瀛樻笀銇裤伄 Cookie 銈掑弬鐓с仚銈嬩簨銈傘仹銇嶃伨銇涖倱銆</li><li> Web 銈点偆銉堛伄銈€偆銈炽兂銈勩偦銉冦偡銉с兂銇繚瀛樸仌銈屻伨銇涖倱銆</li><li> 妞滅储銉溿儍銈偣銇绱㈠饱姝淬伀杩藉姞銇曘倢銇俱仜銈撱</li></ul>銈︺偅銉炽儔銈︺倰闁夈仒銈嬨伨銇ч柌瑕с仐銇 Web 銉氥兗銈搞伀鎴汇倠/閫层個銉溿偪銉炽仹鎴汇倠浜嬨亴銇с亶銇俱仚銆 + + + + ClearButton + + + Clear + 銈儶銈 + + + + ClearPrivateData + + + Clear Private Data + 銉椼儵銈ゃ儛銈枫兗鎯呭牨銇墛闄 + + + + Clear the following items: + 浠ヤ笅銇爡鐩倰鍓婇櫎銇椼伨銇: + + + + &Browsing History + 琛ㄧず銇椼仧銉氥兗銈搞伄灞ユ(&B) + + + + &Download History + 銉銈︺兂銉兗銉夊饱姝(&D) + + + + &Search History + 妞滅储灞ユ(&S) + + + + &Cookies + Cookie(&C) + + + + C&ached Web Pages + 銈儯銉冦偡銉ャ仌銈屻仧 Web 銉氥兗銈(&A) + + + + Website &Icons + Web 銈点偆銉堛伄銈€偆銈炽兂(&I) + + + + Clear &Private Data + 鍓婇櫎瀹熻(&P) + + + + &Cancel + 銈儯銉炽偦銉(&C) + + + + CookieExceptionsModel + + + Website + Web 銈点偆銉 + + + + Rule + 銉兗銉 + + + + Allow + 瑷卞彲 + + + + Block + 涓嶈ū鍙 + + + + Allow For Session + 銈汇儍銈枫儳銉冲唴銇伩瑷卞彲 + + + + CookieModel + + + Website + Web 銈点偆銉 + + + + Name + 鍚嶅墠 + + + + Path + 銉戙偣 + + + + Secure + 瀹夊叏 + + + + Expires + 鏈熼檺 + + + + Contents + 鍐呭 + + + + true + 銇亜 + + + + false + 銇勩亜銇 + + + + CookiesDialog + + + Cookies + Cookies + + + + &Remove + 鍓婇櫎(&R) + + + + Remove &All Cookies + 鍏ㄣ仸銇 Cookie 銈掑墛闄(&A) + + + + CookiesExceptionsDialog + + + Domain: + 銉夈儭銈ゃ兂: + + + + Block + 銉栥儹銉冦偗 + + + + Allow For Session + 銈汇儍銈枫儳銉冲唴銇伩瑷卞彲 + + + + Allow + 瑷卞彲 + + + + &Remove + 鍓婇櫎(&R) + + + + Remove &All + 鍏ㄣ仸鍓婇櫎(&A) + + + + Cookie Exceptions + Cookie 渚嬪鏉′欢 + + + + New Exception + 鏂般仐銇勪緥澶栨潯浠 + + + + Exceptions + 渚嬪鏉′欢 + + + + DownloadDialog + + + Downloads + 銉銈︺兂銉兗銉 + + + + Clean up + 灞ユ銇秷鍘 + + + + 0 Items + 0 浠 + + + + &OK + &OK + + + + DownloadItem + + + Form + Form + + + + Open + 闁嬨亸 + + + + Ico + Ico + + + + Filename + Filename + + + + Try Again + 銉儓銉┿偆 + + + + Stop + 鍋滄 + + + + Save File + 銉栥儍銈優銉笺偗銇偍銈偣銉濄兗銉 + + + + Download canceled: %1 + %1 銇儉銈︺兂銉兗銉夈伅涓銇椼伨銇椼仧 + + + + Error opening output file: %1 + 淇濆瓨銉曘偂銈ゃ儷銇綔鎴愪腑銇偍銉┿兗:%1 + + + + Error saving: %1 + 淇濆瓨涓伀銈ㄣ儵銉:%1 + + + + Network Error: %1 + 銉嶃儍銉堛儻銉笺偗 銈ㄣ儵銉:%1 + + + + seconds + + + + + - %n minutes remaining + + - 娈嬨倞 %n 鍒 + + + + + - %n seconds remaining + + - 娈嬨倞 %n 绉 + + + + + %1 of %2 (%3/sec) %4 + %1 / %2 (%3/sec) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 / %2 - 鍋滄銇椼伨銇椼仧 + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + DownloadManager + + + %n Download(s) + + %n 浠躲伄銉銈︺兂銉兗銉 銈€偆銉嗐儬 + + + + + HistoryDialog + + + Open + 闁嬨亸 + + + + Copy + 銈炽償銉 + + + + Delete + 鍓婇櫎 + + + + History + 灞ユ + + + + &Remove + 鍓婇櫎(&R) + + + + Remove &All + 鍏ㄣ仸鍓婇櫎(&A) + + + + HistoryMenu + + + Show All History + 鍏ㄣ仸銇饱姝淬倰琛ㄧず + + + + Clear History... + 灞ユ銈掋偗銉偄... + + + + Clear History + 灞ユ銈掋偗銉偄 + + + + Do you want to clear the history? + 灞ユ銈掋偗銉偄銇椼伨銇欍亱? + + + + HistoryModel + + + Title + 銈裤偆銉堛儷 + + + + Address + 銈€儔銉偣 + + + + HistoryTreeModel + + + Earlier Today + 鏈棩 + + + + %n item(s) + + %n 浠 + + + + + LanguageManager + + + Default + 銉囥儠銈┿儷銉 + + + + Choose language + 瑷瑾炪伄閬告姙 + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>OS銇儑銉曘偐銉儓瑷畾銇ㄣ伅鐣般仾銈嬭█瑾炪仹鍕曚綔銇曘仜銈嬩簨銇屻仹銇嶃伨銇.</p><p>浣跨敤銇椼仧銇勮█瑾炪倰閬告姙銇椼仸涓嬨仌銇</p> + + + + NetworkAccessManager + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL 銈ㄣ儵銉: + +%1 + +%2 + +銈ㄣ儵銉笺倰鐒¤銇椼伨銇欍亱? + + + + Do you want to accept all these certificates? + 鍏ㄣ仸銇鏄庢浉銈掑彈銇戝叆銈屻伨銇欍亱? + + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>%1(%2)銇偄銈偦銈广仚銈嬨伀銇儲銉笺偠鍚嶃仺銉戙偣銉兗銉夈亴蹇呰銇с仚</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>銉椼儹銈偡 銈点兗銉 "%1" 銇帴缍:</qt> + + + + PasswordDialog + + + Authentication Required + 瑾嶈瑕佹眰 + + + + DUMMY ICON + DUMMY ICON + + + + INTRO TEXT DUMMY + INTRO TEXT DUMMY + + + + Username: + 銉︺兗銈跺悕: + + + + Password: + 銉戙偣銉兗銉: + + + + PlainTextEditSearch + + + Not Found + 瑕嬨仱銇嬨倞銇俱仜銈 + + + + ProxyDialog + + + Proxy Authentication + 銉椼儹銈偡瑾嶈 + + + + ICON + ICON + + + + Connect to proxy + 銉椼儹銈偡銇帴缍 + + + + Username: + 銉︺兗銈跺悕: + + + + Password: + 銉戙偣銉兗銉: + + + + QObject + + + The file is not an XBEL version 1.0 file. + XBEL 銉愩兗銈搞儳銉 1.0 銉曘偂銈ゃ儷銇с伅銇傘倞銇俱仜銈. + + + + Unknown title + 涓嶆槑銇偪銈ゃ儓銉 + + + + SearchBanner + + + Form + Form + + + + TextLabel + TextLabel + + + + < + < + + + + > + > + + + + Done + 闁夈仒銈 + + + + SearchLineEdit + + + Search + 妞滅储 + + + + Settings + + + Preferences + 瑷畾 + + + + General + 鍏ㄨ埇 + + + + On startup: + 璧峰嫊鏅: + + + + Show my home page + 銉涖兗銉犮儦銉笺偢銈掗枊銇 + + + + Show a blank page + 绌虹櫧銉氥兗銈搞倰闁嬨亸 + + + + Restore windows and tabs from last time + 鏈寰屻伀闁嬨亜銇︺亜銇熴偊銈c兂銉夈偊銇ㄣ偪銉栥倰寰╁厓銇欍倠 + + + + Home Page: + 銉涖兗銉犮儦銉笺偢: + + + + Set to current page + 鐝惧湪銇儦銉笺偢銈掍娇鐢 + + + + Remove history items: + 灞ユ銈掑墛闄ゃ仚銈嬨偪銈ゃ儫銉炽偘: + + + + After one day + 1鏃ュ緦 + + + + After one week + 1閫遍枔寰 + + + + After two weeks + 2閫遍枔寰 + + + + After one month + 1銉舵湀寰 + + + + After one year + 1骞村緦 + + + + Manually + 鎵嬪嫊 + + + + On application exit + 銈€儣銉偙銉笺偡銉с兂绲備簡鏅 + + + + Open links from applications: + 銉兂銈倰闁嬨亸鏅傘伄鍕曚綔: + + + + In a tab in the current window + 琛ㄧず銇椼仸銇勩倠銈裤儢銇ч枊銇 + + + + In a new window + 鏂般仐銇勩偊銈c兂銉夈偊銇ч枊銇 + + + + Downloads + 銉銈︺兂銉兗銉 + + + + Ask for a destination each time + 姣庡洖淇濆瓨鍏堛倰鎸囧畾銇欍倠 + + + + Use this destination: + 銉囥儠銈┿儷銉堛伄淇濆瓨鍏: + + + + Appearance + 澶栬Τ + + + + Standard font: + 妯欐簴銇儠銈┿兂銉: + + + + Times 16 + Times 16 + + + + Select... + 閬告姙... + + + + Fixed-width font: + 鍥哄畾骞呫儠銈┿兂銉: + + + + Courier 13 + Courier 13 + + + + Privacy + 銉椼儵銈ゃ儛銈枫兗 + + + + Web Content + 銈炽兂銉嗐兂銉 + + + + Enable Plugins + 銉椼儵銈般偆銉炽倰鏈夊姽銇仚銈 + + + + Enable Javascript + Javascript 銈掓湁鍔广伀銇欍倠 + + + + View Images + 鐢诲儚銈掕〃绀 + + + + Cookies + Cookie + + + + Exceptions... + 渚嬪... + + + + Keep Cookies Until: + Cookie 銇繚鎸佹湡闁: + + + + I exit the application + arora 銇岀祩浜嗐仚銈嬨伨銇 + + + + At most 90 days + 鏈闀90鏃ラ枔 + + + + Cookies... + Cookie 銈掕〃绀... + + + + Tabs + 銈裤儢 + + + + Select tabs and windows as they are created + 銈裤儢銈勩偊銈c兂銉夈偊銈掍綔鎴愩仐銇熸檪銇Щ鍕曘仚銈 + + + + Confirm when closing multiple tabs + 瑜囨暟銇偪銉栥倰闁夈仒銈嬫檪銇⒑瑾嶃仚銈 + + + + Proxy + 銉椼儹銈偡 + + + + Use proxy server + 銉椼儹銈偡銈掍娇鐢ㄣ仚銈 + + + + Type: + 绋: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host name: + 銉涖偣銉堝悕: + + + + Port: + 銉濄兗銉: + + + + User Name: + 銉︺兗銈跺悕: + + + + Password: + 銉戙偣銉兗銉: + + + + Advanced + 鎷″嫉 + + + + Style Sheet: + 銈广偪銈ゃ儷銈枫兗銉: + + + + Accept Cookies: + Cookie 銇岄併倝銈屻仸銇嶃仧銈: + + + + Always + 鍙椼亼鍙栥倠 + + + + Never + 鍙椼亼鍙栥倝銇亜 + + + + Only from sites you navigate to + 銈点兗銉夈儜銉笺儐銈c伄 Cookie 銇劇瑕 + + + + They expire + Cookie 銇湁鍔规湡闄愩亴鍒囥倢銈嬨伨銇 + + + + Show only one close button instead of one for each tab + 銈裤儢姣庛伄闁夈仒銈嬨儨銈裤兂銈掋仱銇戙仾銇 + + + + SourceViewer + + + Loading... + 瑾伩杈笺倱銇с亜銇俱仚... + + + + &Edit + 绶ㄩ泦(&E) + + + + &Find + 妞滅储(&F) + + + + Source of Page + 銈姐兗銈硅〃绀 + + + + TabBar + + + Show Tab Bar + 銈裤儢 銉愩兗銈掕〃绀 + + + + Hide Tab Bar + 銈裤儢 銉愩兗銈掗殸銇 + + + + New &Tab + 鏂般仐銇勩偪銉(&T) + + + + Duplicate Tab + 銈裤儢銈掕瑁 + + + + &Close Tab + 銈裤儢銈掗枆銇樸倠(&C) + + + + Close &Other Tabs + 浠栥伄銈裤儢銈掗枆銇樸倠(&O) + + + + Reload Tab + 銈裤儢銈掑啀瑾炯 + + + + Reload All Tabs + 鍏ㄣ仸銇偪銉栥倰鍐嶈杈 + + + + TabWidget + + + New &Tab + 鏂般仐銇勩偪銉(&T) + + + + &Close Tab + 銈裤儢銈掗枆銇樸倠(&C) + + + + Show Next Tab + 娆°伄銈裤儢 + + + + Show Previous Tab + 鍓嶃伄銈裤儢 + + + + Recently Closed Tabs + 鏈杩戦枆銇樸仧銈裤儢 + + + + Untitled + (鐒¢) + + + + Do you really want to close this page? + 鏈綋銇亾銇儦銉笺偢銈掗枆銇樸伨銇欍亱? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + 銇撱伄銉氥兗銈搞伅澶夋洿銇曘倢銇︺亜銇俱仚銇屻併儦銉笺偢銈掗枆銇樸倠銇ㄥ鏇淬伅澶便倧銈屻仸銇椼伨銇勩伨銇. +鏈綋銇亾銇儦銉笺偢銈掗枆銇樸伨銇欍亱? + + + + ToolbarSearch + + + No Recent Searches + 妞滅储灞ユ銇屻亗銈娿伨銇涖倱 + + + + Recent Searches + 妞滅储灞ユ + + + + Clear Recent Searches + 妞滅储灞ユ銇秷鍘 + + + + WebPage + + + Error loading page: %1 + %1 銇銇胯炯銇裤仹銈ㄣ儵銉 + + + + WebView + + + Open in New &Window + 鏂般仐銇勩偊銈c兂銉夈偊銇ч枊銇(&W) + + + + Open in New &Tab + 鏂般仐銇勩偪銉栥仹闁嬨亸(&T) + + + + Save Lin&k + 鍚嶅墠銈掍粯銇戙仸銉兂銈厛銈掍繚瀛(&K) + + + + &Bookmark This Link + 銇撱伄銉兂銈倰銉栥儍銈優銉笺偗(&B) + + + + &Copy Link Location + 銉兂銈伄URL銈掋偝銉斻兗(&C) + + + + Open Image in New &Window + 鏂般仐銇勩偊銈c兂銉夈偊銇х敾鍍忋倰闁嬨亸(&W) + + + + Open Image in New &Tab + 鏂般仐銇勩偪銉栥仹鐢诲儚銈掗枊銇(&T) + + + + &Save Image + 鐢诲儚銈掍繚瀛(&S) + + + + &Copy Image + 鐢诲儚銈掋偝銉斻兗(&C) + + + + C&opy Image Location + 鐢诲儚銇甎RL銈掋偝銉斻兗(&O) + + + + Loading... + 瑾伩杈笺伩涓... + + + + WebViewSearch + + + Not Found + 瑕嬨仱銇嬨倞銇俱仜銈 + + + diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 297218af..4e6d760b 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -16,6 +16,7 @@ TRANSLATIONS += \ he_IL.ts \ hu_HU.ts \ it_IT.ts \ + ja_JP.ts \ ms.ts \ nl_NL.ts \ pl_PL.ts \ From 7ca9f18a639fc781983c85b31e7b5fffe43fbd70 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 15:56:03 -0500 Subject: [PATCH 0285/1254] Set a parent on the QLocalServer so it will be deleted when the application closes and the socket will be closed. --- src/utils/singleapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/singleapplication.cpp b/src/utils/singleapplication.cpp index 1d516d8a..49db929d 100644 --- a/src/utils/singleapplication.cpp +++ b/src/utils/singleapplication.cpp @@ -62,7 +62,7 @@ bool SingleApplication::startSingleServer() if (m_localServer) return false; - m_localServer = new QLocalServer(); + m_localServer = new QLocalServer(this); connect(m_localServer, SIGNAL(newConnection()), this, SLOT(newConnection())); bool success = false; From be7b6826425f9f2b611bf8f5f26e03c2bde17ea5 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Tue, 20 Jan 2009 00:15:25 +0100 Subject: [PATCH 0286/1254] Added privacy indicator and introduced privacyChanged signal --- src/browserapplication.cpp | 12 ++++++++++++ src/browserapplication.h | 5 +++++ src/browsermainwindow.cpp | 35 ++++++++++++----------------------- src/browsermainwindow.h | 1 + src/data/data.qrc | 1 + src/data/private.png | Bin 0 -> 565 bytes src/locationbar.cpp | 12 ++++++++++++ src/locationbar.h | 5 +++++ src/tabwidget.cpp | 2 ++ 9 files changed, 50 insertions(+), 23 deletions(-) create mode 100644 src/data/private.png diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 7281e848..6a882d18 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -431,6 +431,8 @@ BrowserMainWindow *BrowserApplication::newMainWindow() { BrowserMainWindow *browser = new BrowserMainWindow(); m_mainWindows.prepend(browser); + connect(this, SIGNAL(privacyChanged(bool)), browser, SLOT(slotPrivacyChanged(bool))); + browser->slotPrivacyChanged(isPrivate()); browser->show(); return browser; } @@ -510,3 +512,13 @@ QString BrowserApplication::dataDirectory() #endif } +bool BrowserApplication::isPrivate() +{ + return QWebSettings::globalSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled); +} + +void BrowserApplication::setPrivate(bool isPrivate) +{ + QWebSettings::globalSettings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, isPrivate); + emit instance()->privacyChanged(isPrivate); +} diff --git a/src/browserapplication.h b/src/browserapplication.h index c06c0e13..2d87c8c5 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -101,6 +101,8 @@ class BrowserApplication : public SingleApplication static LanguageManager *languageManager(); static QString dataDirectory(); + static bool isPrivate(); + static void setPrivate(bool isPrivate); #if defined(Q_WS_MAC) bool event(QEvent *event); #endif @@ -118,6 +120,9 @@ private slots: void postLaunch(); void openUrl(const QUrl &url); +signals: + void privacyChanged(bool isPrivate); + private: void clean(); diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index cdca9015..1f677f08 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -860,9 +860,7 @@ void BrowserMainWindow::printRequested(QWebFrame *frame) void BrowserMainWindow::slotPrivateBrowsing() { - QWebSettings *settings = QWebSettings::globalSettings(); - bool pb = settings->testAttribute(QWebSettings::PrivateBrowsingEnabled); - if (!pb) { + if (!BrowserApplication::isPrivate()) { QString title = tr("Are you sure you want to turn on private browsing?"); QString text = tr("%1

When private browsing is turned on," " some actions concerning your privacy will be disabled:" @@ -877,28 +875,19 @@ void BrowserMainWindow::slotPrivateBrowsing() QMessageBox::StandardButton button = QMessageBox::question(this, QString(), text, QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok); - if (button == QMessageBox::Ok) { - settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); - m_privateBrowsing->setChecked(true); - - QList windows = BrowserApplication::instance()->mainWindows(); - for (int i = 0; i < windows.count(); ++i) { - BrowserMainWindow *window = windows.at(i); - window->m_privateBrowsing->setChecked(true); - } - } else { + if (button == QMessageBox::Ok) + BrowserApplication::setPrivate(true); + else m_privateBrowsing->setChecked(false); - } - } else { - settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false); + } else + BrowserApplication::setPrivate(false); +} - QList windows = BrowserApplication::instance()->mainWindows(); - for (int i = 0; i < windows.count(); ++i) { - BrowserMainWindow *window = windows.at(i); - window->tabWidget()->clear(); - window->m_privateBrowsing->setChecked(false); - } - } +void BrowserMainWindow::slotPrivacyChanged(bool isPrivate) +{ + m_privateBrowsing->setChecked(isPrivate); + if (!isPrivate) + tabWidget()->clear(); } void BrowserMainWindow::closeEvent(QCloseEvent *event) diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 6cf2b310..ac7e2ea0 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -103,6 +103,7 @@ class BrowserMainWindow : public QMainWindow public slots: void loadPage(const QString &url); void slotHome(); + void slotPrivacyChanged(bool isPrivate); protected: void closeEvent(QCloseEvent *event); diff --git a/src/data/data.qrc b/src/data/data.qrc index 750d26b4..77ea24ae 100644 --- a/src/data/data.qrc +++ b/src/data/data.qrc @@ -7,6 +7,7 @@ defaultbookmarks.xbel loading.gif defaulticon.png + private.png ../../AUTHORS ../../LICENSE.GPL2 diff --git a/src/data/private.png b/src/data/private.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5e43f68b91185b727dc586453a56f0e6f43d71 GIT binary patch literal 565 zcmV-50?Pe~P)bT>Ri0 zKHi_<@jfAmQ6@E#`d=8>#{nWT2H?Vvvq|#ck3^EcEP$nKHv8Tk52E?}nx4UpJewi z0})wvUAI*#l@@xvo-^(hL~B92wSjhP16m8Fro&XH(-{lH@S5wopKaTIAR+<)Pep{) zYBeTlw5BQEB@4xfw(ZfjJr;@)!+WGLG$c*EUXOzyh?G)w3&5vzIz3ydRL zy}g}xQ54kxd?dMhsQFu!MZ^aXliWX+^Z))6hJEf+%&00000NkvXXu0mjf DllksJ literal 0 HcmV?d00001 diff --git a/src/locationbar.cpp b/src/locationbar.cpp index d5a015a6..31a5914f 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -83,6 +84,7 @@ LocationBar::LocationBar(QWidget *parent) : LineEdit(parent) , m_webView(0) , m_siteIcon(0) + , m_privacyIndicator(0) { // Urls are always LeftToRight setLayoutDirection(Qt::LeftToRight); @@ -92,6 +94,11 @@ LocationBar::LocationBar(QWidget *parent) m_siteIcon = new LocationBarSiteIcon(this); addWidget(m_siteIcon, LeftSide); + // privacy indicator at rightmost position + m_privacyIndicator = new QLabel; + m_privacyIndicator->setPixmap(QPixmap(QLatin1String(":private.png"))); + addWidget(m_privacyIndicator, RightSide); + // clear button on the right ClearButton *m_clearButton = new ClearButton(this); connect(m_clearButton, SIGNAL(clicked()), @@ -121,6 +128,11 @@ void LocationBar::setWebView(WebView *webView) this, SLOT(update())); } +void LocationBar::setPrivate(bool isPrivate) +{ + m_privacyIndicator->setVisible(isPrivate); +} + void LocationBar::webViewUrlChanged(const QUrl &url) { if (hasFocus()) diff --git a/src/locationbar.h b/src/locationbar.h index c6ee0de4..1039bb8f 100644 --- a/src/locationbar.h +++ b/src/locationbar.h @@ -26,6 +26,7 @@ #include class WebView; +class QLabel; class LocationBarSiteIcon; class LocationBar : public LineEdit { @@ -35,6 +36,9 @@ class LocationBar : public LineEdit LocationBar(QWidget *parent = 0); void setWebView(WebView *webView); +public slots: + void setPrivate(bool isPrivate); + protected: void paintEvent(QPaintEvent *event); void focusOutEvent(QFocusEvent *event); @@ -47,6 +51,7 @@ private slots: QPointer m_webView; LocationBarSiteIcon *m_siteIcon; QColor m_defaultBaseColor; + QLabel *m_privacyIndicator; }; #endif // LOCATIONBAR_H diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index f7b1a550..bea18d81 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -453,6 +453,8 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) } locationBar->setCompleter(m_lineEditCompleter); connect(locationBar, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); + connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), locationBar, SLOT(setPrivate(bool))); + locationBar->setPrivate(BrowserApplication::isPrivate()); m_lineEdits->addWidget(locationBar); m_lineEdits->setSizePolicy(locationBar->sizePolicy()); From c9dd314b6fe9ea8da3c187bfbb42f73169020d0b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 18:57:59 -0500 Subject: [PATCH 0287/1254] A few code style fixes --- src/browserapplication.cpp | 4 ++-- src/browserapplication.h | 1 + src/browsermainwindow.cpp | 10 ++++++---- src/locationbar.cpp | 5 ++++- src/tabwidget.cpp | 2 -- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 6a882d18..78db069b 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -431,8 +431,8 @@ BrowserMainWindow *BrowserApplication::newMainWindow() { BrowserMainWindow *browser = new BrowserMainWindow(); m_mainWindows.prepend(browser); - connect(this, SIGNAL(privacyChanged(bool)), browser, SLOT(slotPrivacyChanged(bool))); - browser->slotPrivacyChanged(isPrivate()); + connect(this, SIGNAL(privacyChanged(bool)), + browser, SLOT(slotPrivacyChanged(bool))); browser->show(); return browser; } diff --git a/src/browserapplication.h b/src/browserapplication.h index 2d87c8c5..dd7ef90f 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -103,6 +103,7 @@ class BrowserApplication : public SingleApplication static bool isPrivate(); static void setPrivate(bool isPrivate); + #if defined(Q_WS_MAC) bool event(QEvent *event); #endif diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 1f677f08..77baae22 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -135,7 +135,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags) setupMenu(); setupToolBar(); - m_privateBrowsing->setChecked(QWebSettings::globalSettings()->testAttribute(QWebSettings::PrivateBrowsingEnabled)); + m_privateBrowsing->setChecked(BrowserApplication::isPrivate()); QWidget *centralWidget = new QWidget(this); BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel(); @@ -875,12 +875,14 @@ void BrowserMainWindow::slotPrivateBrowsing() QMessageBox::StandardButton button = QMessageBox::question(this, QString(), text, QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok); - if (button == QMessageBox::Ok) + if (button == QMessageBox::Ok) { BrowserApplication::setPrivate(true); - else + } else { m_privateBrowsing->setChecked(false); - } else + } + } else { BrowserApplication::setPrivate(false); + } } void BrowserMainWindow::slotPrivacyChanged(bool isPrivate) diff --git a/src/locationbar.cpp b/src/locationbar.cpp index 31a5914f..15561944 100644 --- a/src/locationbar.cpp +++ b/src/locationbar.cpp @@ -95,9 +95,12 @@ LocationBar::LocationBar(QWidget *parent) addWidget(m_siteIcon, LeftSide); // privacy indicator at rightmost position - m_privacyIndicator = new QLabel; + m_privacyIndicator = new QLabel(this); m_privacyIndicator->setPixmap(QPixmap(QLatin1String(":private.png"))); addWidget(m_privacyIndicator, RightSide); + connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), + this, SLOT(setPrivate(bool))); + setPrivate(BrowserApplication::isPrivate()); // clear button on the right ClearButton *m_clearButton = new ClearButton(this); diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index bea18d81..f7b1a550 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -453,8 +453,6 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) } locationBar->setCompleter(m_lineEditCompleter); connect(locationBar, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed())); - connect(BrowserApplication::instance(), SIGNAL(privacyChanged(bool)), locationBar, SLOT(setPrivate(bool))); - locationBar->setPrivate(BrowserApplication::isPrivate()); m_lineEdits->addWidget(locationBar); m_lineEdits->setSizePolicy(locationBar->sizePolicy()); From 52e3117778a989d836eb921049cfb62397843d4f Mon Sep 17 00:00:00 2001 From: faw Date: Thu, 1 Jan 2009 23:33:34 +0100 Subject: [PATCH 0288/1254] Added an option in source viewer menu for wrapping code lines. --- src/sourceviewer.cpp | 17 +++++++++++++++++ src/sourceviewer.h | 3 +++ 2 files changed, 20 insertions(+) diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index f77ffb73..b3ce6d76 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -44,6 +44,8 @@ SourceViewer::SourceViewer(const QString &source, , m_menuBar(new QMenuBar(this)) , m_editMenu(new QMenu(tr("&Edit"), m_menuBar)) , m_findAction(new QAction(tr("&Find"), m_editMenu)) + , m_viewMenu(new QMenu(tr("&View"), m_menuBar)) + , m_setWrappingAction(new QAction(tr("&Wrap lines"), m_viewMenu)) { setWindowTitle(QString(tr("Source of Page ")).append(title)); resize(640, 480); @@ -64,6 +66,13 @@ SourceViewer::SourceViewer(const QString &source, connect(m_findAction, SIGNAL(triggered()), m_plainTextEditSearch, SLOT(showFind())); + m_menuBar->addMenu(m_viewMenu); + m_viewMenu->addAction(m_setWrappingAction); + m_setWrappingAction->setShortcut(tr("Ctrl+W")); + m_setWrappingAction->setCheckable(true); + connect(m_setWrappingAction, SIGNAL(triggered(bool)), + this, SLOT(setWrapping(bool))); + layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(m_menuBar); @@ -93,3 +102,11 @@ void SourceViewer::loadingFinished() delete m_request; delete m_source; } + +void SourceViewer::setWrapping(bool wrap) +{ + if (wrap) + m_edit->setLineWrapMode(QPlainTextEdit::WidgetWidth); + else + m_edit->setLineWrapMode(QPlainTextEdit::NoWrap); +} diff --git a/src/sourceviewer.h b/src/sourceviewer.h index 6d9a31bf..f60aa5a0 100644 --- a/src/sourceviewer.h +++ b/src/sourceviewer.h @@ -48,12 +48,15 @@ class SourceViewer : public QDialog QMenuBar *m_menuBar; QMenu *m_editMenu; QAction *m_findAction; + QMenu *m_viewMenu; + QAction *m_setWrappingAction; QNetworkReply *m_reply; QNetworkRequest *m_request; QString *m_source; private slots: void loadingFinished(); + void setWrapping(bool wrap); }; #endif From 122582caac7ea6a039cbf8c80e437228daedfbd9 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Fri, 2 Jan 2009 22:05:00 +0100 Subject: [PATCH 0289/1254] Don't want this to be translatable. ;) --- src/locale/pl_PL.ts | 6 ------ src/sourceviewer.cpp | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index bfee2b39..fef50b28 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -1,6 +1,5 @@ - AboutDialog @@ -1660,11 +1659,6 @@ Czy chcesz zignorowa膰 te b艂臋dy? Source of Page 殴r贸d艂o strony - - - Ctrl+W - - TabBar diff --git a/src/sourceviewer.cpp b/src/sourceviewer.cpp index b3ce6d76..f1f1ee55 100644 --- a/src/sourceviewer.cpp +++ b/src/sourceviewer.cpp @@ -68,7 +68,7 @@ SourceViewer::SourceViewer(const QString &source, m_menuBar->addMenu(m_viewMenu); m_viewMenu->addAction(m_setWrappingAction); - m_setWrappingAction->setShortcut(tr("Ctrl+W")); + m_setWrappingAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_W)); m_setWrappingAction->setCheckable(true); connect(m_setWrappingAction, SIGNAL(triggered(bool)), this, SLOT(setWrapping(bool))); From bda7c44f9e73dd4aa6403e85419920d56f4db3c1 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sun, 18 Jan 2009 11:01:28 +0100 Subject: [PATCH 0290/1254] Make error pages translatable. --- src/htmls/notfound.html | 15 ++---- src/locale/pl_PL.ts | 102 +++++++++++++++++++++++++--------------- src/webview.cpp | 5 +- 3 files changed, 73 insertions(+), 49 deletions(-) diff --git a/src/htmls/notfound.html b/src/htmls/notfound.html index c3f89713..edce82ef 100755 --- a/src/htmls/notfound.html +++ b/src/htmls/notfound.html @@ -36,7 +36,7 @@ ul { font-size: 80%; padding-left: 48px; - margin: 0; + margin: 5px 0; } #reloadButton { padding-left: 48px; @@ -47,17 +47,12 @@

%2

-

When connecting to: %3.

+

%3

    -
  • Check the address for errors such as ww.trolltech.com - instead of www.trolltech.com
  • -
  • If the address is correct, try to check the network - connection.
  • -
  • If your computer or network is protected by a firewall or - proxy, make sure that the browser is permitted to access - the network.
  • +
  • %4
  • +
  • %5
  • +
  • %6
-

diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index fef50b28..b728a204 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -1,5 +1,6 @@ + AboutDialog @@ -58,22 +59,22 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open Otw贸rz - + Open in New Tab Otw贸rz w nowej karcie - + Delete Usu艅 - + New Folder Nowy katalog @@ -184,7 +185,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Zak艂adka @@ -484,7 +485,7 @@ Czy mimo to chcesz zako艅czy膰? Informacje o programie &Arora - + Navigation Nawigacja @@ -555,7 +556,7 @@ Czy mimo to chcesz zako艅czy膰? <b>%1</b><br><br>Kiedy prywatne przegl膮danie sieci jest w艂膮czone, niekt贸re dzia艂ania dotycz膮ce twojej prywatno艣ci s膮 wy艂膮czone:<ul><li> Strony internetowe nie s膮 dodawane do historii.</li><li> Lista pobierania jest automatycznie czyszczona.</li><li> Nowe ciasteczka nie s膮 zapisywane a dost臋p do przechowywanych jest uniemo偶liwiony.</li><li> Ikony stron nie s膮 przechowywane a sesje nie b臋d膮 zapisane.</li><li> Wyszukiwania nie s膮 dodawane do listy w menu pola wyszukiwania.</li></ul>Dop贸ki okno nie zostanie zamkni臋te, mo偶na u偶ywa膰 przycisk贸w Wstecz i Do przodu, by powr贸ci膰 do wcze艣niej otwartych stron.
- + Are you sure you want to close the window? There are %1 tabs open Czy jeste艣 pewien, 偶e chcesz zamkn膮膰 okno? %1 kart jest otwartych @@ -565,34 +566,34 @@ Czy mimo to chcesz zako艅czy膰? 殴r贸d艂o strony %1
- + Web Inspector Inspektor stron - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Inspektor stron porawnie dzia艂a tylko dla stron, kt贸re zosta艂y za艂adowane po w艂膮czeniu inspektora. Czy chcesz od艣wie偶y膰 wszystkie strony? - + Stop loading the current page Zatrzymaj 艂adowenie strony - + Reload the current page Od艣wie偶 stron臋 - + Downloads Pobieranie - + Alt+Ctrl+L Download Manager Alt+Ctrl+L @@ -1050,17 +1051,17 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryDialog - + Open Otw贸rz - + Copy Kopiuj - + Delete Skasuj @@ -1119,7 +1120,7 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryTreeModel - + Earlier Today Dzisiaj @@ -1129,7 +1130,7 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? %1 element贸w - + %n item(s) %n element @@ -1632,32 +1633,32 @@ Czy chcesz zignorowa膰 te b艂臋dy? Loading... - 艁adowanie... + 艁adowanie... &Edit - &Edytuj + &Edytuj &Find - &Znajd藕 + &Znajd藕 &View - &Widok + &Widok &Wrap lines - Za&wijaj wiersze + Za&wijaj wiersze Source of Page - 殴r贸d艂o strony + 殴r贸d艂o strony
@@ -1736,12 +1737,12 @@ Czy chcesz zignorowa膰 te b艂臋dy? (Bez nazwy) - + Do you really want to close this page? Czy na pewno chcesz zamkn膮膰 t臋 stron臋? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1749,7 +1750,7 @@ Do you really want to close this page? Czy na pewno chcesz zamkn膮膰 t臋 stron臋? - + Untitled Nowy @@ -1784,61 +1785,86 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? Error loading page: %1 B艂膮d podczas 艂adowania strony: %1 + + + When connecting to: %3. + Podczas 艂膮czenia z: %1. + + + + Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. + Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. + + + + If the address is correct, try to check the network connection. + Je艣li adres jest prawid艂owy, sprawd藕 dzia艂anie swojego po艂膮czenia internetowego. + + + + If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. + Je艣li tw贸j komputer lub sie膰 jest chroniona zapor膮 sieciow膮 lub proxy, upewnij si臋, 偶e przegl膮darka ma dost臋p do sieci. + + + + When connecting to: %1. + Podczas 艂膮czenia z: %1. + WebView - + Open in New &Window Otw贸rz w nowym &oknie - + Open in New &Tab Otw贸rz w nowej &karcie - + Save Lin&k &Zapisz element docelowy - + &Bookmark This Link Dodaj ten odno艣nik do &zak艂adek - + &Copy Link Location &Kopiuj adres odno艣nika - + Open Image in New &Window Otw贸rz obrazek w nowym o&knie - + Open Image in New &Tab Otw贸rz obrazek w nowej k&arcie - + &Save Image &Zapisz obrazek - + &Copy Image &Kopiuj obrazek - + C&opy Image Location K&opiuj adres obrazka - + Loading... 艁adowanie... diff --git a/src/webview.cpp b/src/webview.cpp index 66280ba8..a4a8f62e 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -199,7 +199,10 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) QString html = QString(QLatin1String(file.readAll())) .arg(title) .arg(reply->errorString()) - .arg(reply->url().toString()); + .arg(tr("When connecting to: %1.").arg(reply->url().toString())) + .arg(tr("Check the address for errors such as ww.trolltech.com instead of www.trolltech.com.")) + .arg(tr("If the address is correct, try to check the network connection.")) + .arg(tr("If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network.")); QBuffer imageBuffer; imageBuffer.open(QBuffer::ReadWrite); From 3d692a03426fac93edb13558e28b6f9ca6872771 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 15:30:47 -0500 Subject: [PATCH 0291/1254] Separate the cookie jar classes into separate files. --- src/cookiejar/cookiedialog.cpp | 113 +++++++ src/cookiejar/cookiedialog.h | 84 +++++ src/cookiejar/cookieexceptionsdialog.cpp | 158 ++++++++++ src/cookiejar/cookieexceptionsdialog.h | 93 ++++++ src/cookiejar/cookieexceptionsmodel.cpp | 182 +++++++++++ src/cookiejar/cookieexceptionsmodel.h | 94 ++++++ src/{ => cookiejar}/cookiejar.cpp | 372 +---------------------- src/{ => cookiejar}/cookiejar.h | 76 +---- src/cookiejar/cookiejar.pri | 21 ++ src/cookiejar/cookiemodel.cpp | 177 +++++++++++ src/cookiejar/cookiemodel.h | 89 ++++++ src/{ => cookiejar}/cookies.ui | 0 src/{ => cookiejar}/cookiesexceptions.ui | 0 src/settings.cpp | 8 +- src/src.pri | 5 +- 15 files changed, 1020 insertions(+), 452 deletions(-) create mode 100644 src/cookiejar/cookiedialog.cpp create mode 100644 src/cookiejar/cookiedialog.h create mode 100644 src/cookiejar/cookieexceptionsdialog.cpp create mode 100644 src/cookiejar/cookieexceptionsdialog.h create mode 100644 src/cookiejar/cookieexceptionsmodel.cpp create mode 100644 src/cookiejar/cookieexceptionsmodel.h rename src/{ => cookiejar}/cookiejar.cpp (54%) rename src/{ => cookiejar}/cookiejar.h (70%) create mode 100644 src/cookiejar/cookiejar.pri create mode 100644 src/cookiejar/cookiemodel.cpp create mode 100644 src/cookiejar/cookiemodel.h rename src/{ => cookiejar}/cookies.ui (100%) rename src/{ => cookiejar}/cookiesexceptions.ui (100%) diff --git a/src/cookiejar/cookiedialog.cpp b/src/cookiejar/cookiedialog.cpp new file mode 100644 index 00000000..23f438fa --- /dev/null +++ b/src/cookiejar/cookiedialog.cpp @@ -0,0 +1,113 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#include "cookiedialog.h" + +#include +#include + +#include "cookiemodel.h" + +CookieDialog::CookieDialog(CookieJar *cookieJar, QWidget *parent) : QDialog(parent) +{ + setupUi(this); + setWindowFlags(Qt::Sheet); + CookieModel *model = new CookieModel(cookieJar, this); + m_proxyModel = new QSortFilterProxyModel(this); + connect(search, SIGNAL(textChanged(QString)), + m_proxyModel, SLOT(setFilterFixedString(QString))); + connect(removeButton, SIGNAL(clicked()), cookiesTable, SLOT(removeSelected())); + connect(removeAllButton, SIGNAL(clicked()), cookiesTable, SLOT(removeAll())); + m_proxyModel->setSourceModel(model); + cookiesTable->verticalHeader()->hide(); + cookiesTable->setSelectionBehavior(QAbstractItemView::SelectRows); + cookiesTable->setModel(m_proxyModel); + cookiesTable->setAlternatingRowColors(true); + cookiesTable->setTextElideMode(Qt::ElideMiddle); + cookiesTable->setShowGrid(false); + cookiesTable->setSortingEnabled(true); + QFont f = font(); + f.setPointSize(10); + QFontMetrics fm(f); + int height = fm.height() + fm.height() / 3; + cookiesTable->verticalHeader()->setDefaultSectionSize(height); + cookiesTable->verticalHeader()->setMinimumSectionSize(-1); + for (int i = 0; i < model->columnCount(); ++i) { + int header = cookiesTable->horizontalHeader()->sectionSizeHint(i); + switch (i) { + case 0: + header = fm.width(QLatin1String("averagehost.domain.com")); + break; + case 1: + header = fm.width(QLatin1String("_session_id")); + break; + case 4: + header = fm.width(QDateTime::currentDateTime().toString(Qt::LocalDate)); + break; + } + int buffer = fm.width(QLatin1String("xx")); + header += buffer; + cookiesTable->horizontalHeader()->resizeSection(i, header); + } + cookiesTable->horizontalHeader()->setStretchLastSection(true); +} + diff --git a/src/cookiejar/cookiedialog.h b/src/cookiejar/cookiedialog.h new file mode 100644 index 00000000..8cc94feb --- /dev/null +++ b/src/cookiejar/cookiedialog.h @@ -0,0 +1,84 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#ifndef COOKIEDIALOG_H +#define COOKIEDIALOG_H + +#include + +#include "ui_cookies.h" + +class CookieJar; +class QSortFilterProxyModel; +class CookieDialog : public QDialog, public Ui_CookiesDialog +{ + Q_OBJECT + +public: + CookieDialog(CookieJar *cookieJar, QWidget *parent = 0); + +private: + QSortFilterProxyModel *m_proxyModel; +}; + +#endif // COOKIEDIALOG_H + diff --git a/src/cookiejar/cookieexceptionsdialog.cpp b/src/cookiejar/cookieexceptionsdialog.cpp new file mode 100644 index 00000000..3c105a5d --- /dev/null +++ b/src/cookiejar/cookieexceptionsdialog.cpp @@ -0,0 +1,158 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#include "cookieexceptionsdialog.h" + +#include + +#include +#include "cookiemodel.h" +#include "cookiejar.h" +#include "cookieexceptionsmodel.h" + +CookieExceptionsDialog::CookieExceptionsDialog(CookieJar *cookieJar, QWidget *parent) + : QDialog(parent) + , m_cookieJar(cookieJar) +{ + setupUi(this); + setWindowFlags(Qt::Sheet); + connect(removeButton, SIGNAL(clicked()), exceptionTable, SLOT(removeSelected())); + connect(removeAllButton, SIGNAL(clicked()), exceptionTable, SLOT(removeAll())); + exceptionTable->verticalHeader()->hide(); + exceptionTable->setSelectionBehavior(QAbstractItemView::SelectRows); + exceptionTable->setAlternatingRowColors(true); + exceptionTable->setTextElideMode(Qt::ElideMiddle); + exceptionTable->setShowGrid(false); + exceptionTable->setSortingEnabled(true); + m_exceptionsModel = new CookieExceptionsModel(cookieJar, this); + m_proxyModel = new QSortFilterProxyModel(this); + m_proxyModel->setSourceModel(m_exceptionsModel); + connect(search, SIGNAL(textChanged(QString)), + m_proxyModel, SLOT(setFilterFixedString(QString))); + exceptionTable->setModel(m_proxyModel); + + CookieModel *cookieModel = new CookieModel(cookieJar, this); + domainLineEdit->setCompleter(new QCompleter(cookieModel, domainLineEdit)); + + connect(domainLineEdit, SIGNAL(textChanged(const QString &)), + this, SLOT(textChanged(const QString &))); + connect(blockButton, SIGNAL(clicked()), this, SLOT(block())); + connect(allowButton, SIGNAL(clicked()), this, SLOT(allow())); + connect(allowForSessionButton, SIGNAL(clicked()), this, SLOT(allowForSession())); + + QFont f = font(); + f.setPointSize(10); + QFontMetrics fm(f); + int height = fm.height() + fm.height() / 3; + exceptionTable->verticalHeader()->setDefaultSectionSize(height); + exceptionTable->verticalHeader()->setMinimumSectionSize(-1); + for (int i = 0; i < m_exceptionsModel->columnCount(); ++i) { + int header = exceptionTable->horizontalHeader()->sectionSizeHint(i); + switch (i) { + case 0: + header = fm.width(QLatin1String("averagebiglonghost.domain.com")); + break; + case 1: + header = fm.width(QLatin1String("Allow For Session")); + break; + } + int buffer = fm.width(QLatin1String("xx")); + header += buffer; + exceptionTable->horizontalHeader()->resizeSection(i, header); + } +} + +void CookieExceptionsDialog::textChanged(const QString &text) +{ + bool enabled = !text.isEmpty(); + blockButton->setEnabled(enabled); + allowButton->setEnabled(enabled); + allowForSessionButton->setEnabled(enabled); +} + +void CookieExceptionsDialog::block() +{ + if (domainLineEdit->text().isEmpty()) + return; + m_exceptionsModel->m_blockedCookies.append(domainLineEdit->text()); + m_cookieJar->setBlockedCookies(m_exceptionsModel->m_blockedCookies); + m_exceptionsModel->reset(); +} + +void CookieExceptionsDialog::allow() +{ + if (domainLineEdit->text().isEmpty()) + return; + m_exceptionsModel->m_allowedCookies.append(domainLineEdit->text()); + m_cookieJar->setAllowedCookies(m_exceptionsModel->m_allowedCookies); + m_exceptionsModel->reset(); +} + +void CookieExceptionsDialog::allowForSession() +{ + if (domainLineEdit->text().isEmpty()) + return; + m_exceptionsModel->m_sessionCookies.append(domainLineEdit->text()); + m_cookieJar->setAllowForSessionCookies(m_exceptionsModel->m_sessionCookies); + m_exceptionsModel->reset(); +} + diff --git a/src/cookiejar/cookieexceptionsdialog.h b/src/cookiejar/cookieexceptionsdialog.h new file mode 100644 index 00000000..f126c9fd --- /dev/null +++ b/src/cookiejar/cookieexceptionsdialog.h @@ -0,0 +1,93 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#ifndef COOKIEEXCEPTIONSDIALOG_H +#define COOKIEEXCEPTIONSDIALOG_H + +#include + +#include "ui_cookiesexceptions.h" + +class CookieJar; +class QSortFilterProxyModel; +class CookieExceptionsModel; +class CookieExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog +{ + Q_OBJECT + +public: + CookieExceptionsDialog(CookieJar *cookieJar, QWidget *parent = 0); + +private slots: + void block(); + void allow(); + void allowForSession(); + void textChanged(const QString &text); + +private: + CookieExceptionsModel *m_exceptionsModel; + QSortFilterProxyModel *m_proxyModel; + CookieJar *m_cookieJar; +}; + +#endif // COOKIEEXCEPTIONSDIALOG_H + diff --git a/src/cookiejar/cookieexceptionsmodel.cpp b/src/cookiejar/cookieexceptionsmodel.cpp new file mode 100644 index 00000000..15fe25eb --- /dev/null +++ b/src/cookiejar/cookieexceptionsmodel.cpp @@ -0,0 +1,182 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#include "cookieexceptionsmodel.h" + +#include "cookiejar.h" + +CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent) + : QAbstractTableModel(parent) + , m_cookieJar(cookiejar) +{ + m_allowedCookies = m_cookieJar->allowedCookies(); + m_blockedCookies = m_cookieJar->blockedCookies(); + m_sessionCookies = m_cookieJar->allowForSessionCookies(); +} + +QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (role == Qt::SizeHintRole) { + QFont font; + font.setPointSize(10); + QFontMetrics fm(font); + int height = fm.height() + fm.height() / 3; + int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString()); + return QSize(width, height); + } + + if (orientation == Qt::Horizontal + && role == Qt::DisplayRole) { + switch (section) { + case 0: + return tr("Website"); + case 1: + return tr("Rule"); + } + } + return QAbstractTableModel::headerData(section, orientation, role); +} + +QVariant CookieExceptionsModel::data(const QModelIndex &index, int role) const +{ + if (index.row() < 0 || index.row() >= rowCount()) + return QVariant(); + + switch (role) { + case Qt::DisplayRole: + case Qt::EditRole: { + int row = index.row(); + if (row < m_allowedCookies.count()) { + switch (index.column()) { + case 0: + return m_allowedCookies.at(row); + case 1: + return tr("Allow"); + } + } + row = row - m_allowedCookies.count(); + if (row < m_blockedCookies.count()) { + switch (index.column()) { + case 0: + return m_blockedCookies.at(row); + case 1: + return tr("Block"); + } + } + row = row - m_blockedCookies.count(); + if (row < m_sessionCookies.count()) { + switch (index.column()) { + case 0: + return m_sessionCookies.at(row); + case 1: + return tr("Allow For Session"); + } + } + } + case Qt::FontRole: { + QFont font; + font.setPointSize(10); + return font; + } + } + return QVariant(); +} + +int CookieExceptionsModel::columnCount(const QModelIndex &parent) const +{ + return (parent.isValid()) ? 0 : 2; +} + +int CookieExceptionsModel::rowCount(const QModelIndex &parent) const +{ + return (parent.isValid() || !m_cookieJar) ? 0 : m_allowedCookies.count() + m_blockedCookies.count() + m_sessionCookies.count(); +} + +bool CookieExceptionsModel::removeRows(int row, int count, const QModelIndex &parent) +{ + if (parent.isValid() || !m_cookieJar) + return false; + + int lastRow = row + count - 1; + beginRemoveRows(parent, row, lastRow); + for (int i = lastRow; i >= row; --i) { + if (i < m_allowedCookies.count()) { + m_allowedCookies.removeAt(row); + continue; + } + i = i - m_allowedCookies.count(); + if (i < m_blockedCookies.count()) { + m_blockedCookies.removeAt(row); + continue; + } + i = i - m_blockedCookies.count(); + if (i < m_sessionCookies.count()) { + m_sessionCookies.removeAt(row); + continue; + } + } + m_cookieJar->setAllowedCookies(m_allowedCookies); + m_cookieJar->setBlockedCookies(m_blockedCookies); + m_cookieJar->setAllowForSessionCookies(m_sessionCookies); + endRemoveRows(); + return true; +} diff --git a/src/cookiejar/cookieexceptionsmodel.h b/src/cookiejar/cookieexceptionsmodel.h new file mode 100644 index 00000000..34a5f3f5 --- /dev/null +++ b/src/cookiejar/cookieexceptionsmodel.h @@ -0,0 +1,94 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#ifndef COOKIEEXCEPTIONSMODEL_H +#define COOKIEEXCEPTIONSMODEL_H + +#include + +#include + +class CookieJar; +class CookieExceptionsModel : public QAbstractTableModel +{ + Q_OBJECT + friend class CookieExceptionsDialog; + +public: + CookieExceptionsModel(CookieJar *cookieJar, QObject *parent = 0); + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const; + bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + +private: + CookieJar *m_cookieJar; + + // Domains we allow, Domains we block, Domains we allow for this session + QStringList m_allowedCookies; + QStringList m_blockedCookies; + QStringList m_sessionCookies; +}; + +#endif // COOKIEEXCEPTIONSMODEL_H + diff --git a/src/cookiejar.cpp b/src/cookiejar/cookiejar.cpp similarity index 54% rename from src/cookiejar.cpp rename to src/cookiejar/cookiejar.cpp index f20715ea..5e0bc11c 100644 --- a/src/cookiejar.cpp +++ b/src/cookiejar/cookiejar.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2008 Benjamin C. Meyer + * Copyright 2008-2009 Benjamin C. Meyer * * 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 @@ -64,18 +64,11 @@ #include "autosaver.h" -#include -#include +#include #include #include -#include -#include -#include -#include -#include #include #include -#include #include #include @@ -412,364 +405,3 @@ void CookieJar::setAllowForSessionCookies(const QStringList &list) qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end()); m_saveTimer->changeOccurred(); } - -CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent) - : QAbstractTableModel(parent) - , m_cookieJar(cookieJar) -{ - connect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged())); - m_cookieJar->load(); -} - -QVariant CookieModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if (role == Qt::SizeHintRole) { - QFont font; - font.setPointSize(10); - QFontMetrics fm(font); - int height = fm.height() + fm.height() / 3; - int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString()); - return QSize(width, height); - } - - if (orientation == Qt::Horizontal) { - if (role != Qt::DisplayRole) - return QVariant(); - - switch (section) { - case 0: - return tr("Website"); - case 1: - return tr("Name"); - case 2: - return tr("Path"); - case 3: - return tr("Secure"); - case 4: - return tr("Expires"); - case 5: - return tr("Contents"); - default: - return QVariant(); - } - } - return QAbstractTableModel::headerData(section, orientation, role); -} - -QVariant CookieModel::data(const QModelIndex &index, int role) const -{ - QList lst; - if (m_cookieJar) - lst = m_cookieJar->allCookies(); - if (index.row() < 0 || index.row() >= lst.size()) - return QVariant(); - - switch (role) { - case Qt::DisplayRole: - case Qt::EditRole: { - QNetworkCookie cookie = lst.at(index.row()); - switch (index.column()) { - case 0: - return cookie.domain(); - case 1: - return cookie.name(); - case 2: - return cookie.path(); - case 3: - return cookie.isSecure() ? tr("true") : tr("false"); - case 4: - return cookie.expirationDate(); - case 5: - return cookie.value(); - } - } - case Qt::FontRole: { - QFont font; - font.setPointSize(10); - return font; - } - } - - return QVariant(); -} - -int CookieModel::columnCount(const QModelIndex &parent) const -{ - return (parent.isValid()) ? 0 : 6; -} - -int CookieModel::rowCount(const QModelIndex &parent) const -{ - return (parent.isValid() || !m_cookieJar) ? 0 : m_cookieJar->allCookies().count(); -} - -bool CookieModel::removeRows(int row, int count, const QModelIndex &parent) -{ - if (parent.isValid() || !m_cookieJar) - return false; - int lastRow = row + count - 1; - beginRemoveRows(parent, row, lastRow); - QList lst = m_cookieJar->allCookies(); - for (int i = lastRow; i >= row; --i) { - lst.removeAt(i); - } - m_cookieJar->setAllCookies(lst); - endRemoveRows(); - return true; -} - -void CookieModel::cookiesChanged() -{ - reset(); -} - -CookiesDialog::CookiesDialog(CookieJar *cookieJar, QWidget *parent) : QDialog(parent) -{ - setupUi(this); - setWindowFlags(Qt::Sheet); - CookieModel *model = new CookieModel(cookieJar, this); - m_proxyModel = new QSortFilterProxyModel(this); - connect(search, SIGNAL(textChanged(QString)), - m_proxyModel, SLOT(setFilterFixedString(QString))); - connect(removeButton, SIGNAL(clicked()), cookiesTable, SLOT(removeSelected())); - connect(removeAllButton, SIGNAL(clicked()), cookiesTable, SLOT(removeAll())); - m_proxyModel->setSourceModel(model); - cookiesTable->verticalHeader()->hide(); - cookiesTable->setSelectionBehavior(QAbstractItemView::SelectRows); - cookiesTable->setModel(m_proxyModel); - cookiesTable->setAlternatingRowColors(true); - cookiesTable->setTextElideMode(Qt::ElideMiddle); - cookiesTable->setShowGrid(false); - cookiesTable->setSortingEnabled(true); - QFont f = font(); - f.setPointSize(10); - QFontMetrics fm(f); - int height = fm.height() + fm.height() / 3; - cookiesTable->verticalHeader()->setDefaultSectionSize(height); - cookiesTable->verticalHeader()->setMinimumSectionSize(-1); - for (int i = 0; i < model->columnCount(); ++i) { - int header = cookiesTable->horizontalHeader()->sectionSizeHint(i); - switch (i) { - case 0: - header = fm.width(QLatin1String("averagehost.domain.com")); - break; - case 1: - header = fm.width(QLatin1String("_session_id")); - break; - case 4: - header = fm.width(QDateTime::currentDateTime().toString(Qt::LocalDate)); - break; - } - int buffer = fm.width(QLatin1String("xx")); - header += buffer; - cookiesTable->horizontalHeader()->resizeSection(i, header); - } - cookiesTable->horizontalHeader()->setStretchLastSection(true); -} - - - -CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent) - : QAbstractTableModel(parent) - , m_cookieJar(cookiejar) -{ - m_allowedCookies = m_cookieJar->allowedCookies(); - m_blockedCookies = m_cookieJar->blockedCookies(); - m_sessionCookies = m_cookieJar->allowForSessionCookies(); -} - -QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if (role == Qt::SizeHintRole) { - QFont font; - font.setPointSize(10); - QFontMetrics fm(font); - int height = fm.height() + fm.height() / 3; - int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString()); - return QSize(width, height); - } - - if (orientation == Qt::Horizontal - && role == Qt::DisplayRole) { - switch (section) { - case 0: - return tr("Website"); - case 1: - return tr("Rule"); - } - } - return QAbstractTableModel::headerData(section, orientation, role); -} - -QVariant CookieExceptionsModel::data(const QModelIndex &index, int role) const -{ - if (index.row() < 0 || index.row() >= rowCount()) - return QVariant(); - - switch (role) { - case Qt::DisplayRole: - case Qt::EditRole: { - int row = index.row(); - if (row < m_allowedCookies.count()) { - switch (index.column()) { - case 0: - return m_allowedCookies.at(row); - case 1: - return tr("Allow"); - } - } - row = row - m_allowedCookies.count(); - if (row < m_blockedCookies.count()) { - switch (index.column()) { - case 0: - return m_blockedCookies.at(row); - case 1: - return tr("Block"); - } - } - row = row - m_blockedCookies.count(); - if (row < m_sessionCookies.count()) { - switch (index.column()) { - case 0: - return m_sessionCookies.at(row); - case 1: - return tr("Allow For Session"); - } - } - } - case Qt::FontRole: { - QFont font; - font.setPointSize(10); - return font; - } - } - return QVariant(); -} - -int CookieExceptionsModel::columnCount(const QModelIndex &parent) const -{ - return (parent.isValid()) ? 0 : 2; -} - -int CookieExceptionsModel::rowCount(const QModelIndex &parent) const -{ - return (parent.isValid() || !m_cookieJar) ? 0 : m_allowedCookies.count() + m_blockedCookies.count() + m_sessionCookies.count(); -} - -bool CookieExceptionsModel::removeRows(int row, int count, const QModelIndex &parent) -{ - if (parent.isValid() || !m_cookieJar) - return false; - - int lastRow = row + count - 1; - beginRemoveRows(parent, row, lastRow); - for (int i = lastRow; i >= row; --i) { - if (i < m_allowedCookies.count()) { - m_allowedCookies.removeAt(row); - continue; - } - i = i - m_allowedCookies.count(); - if (i < m_blockedCookies.count()) { - m_blockedCookies.removeAt(row); - continue; - } - i = i - m_blockedCookies.count(); - if (i < m_sessionCookies.count()) { - m_sessionCookies.removeAt(row); - continue; - } - } - m_cookieJar->setAllowedCookies(m_allowedCookies); - m_cookieJar->setBlockedCookies(m_blockedCookies); - m_cookieJar->setAllowForSessionCookies(m_sessionCookies); - endRemoveRows(); - return true; -} - -CookiesExceptionsDialog::CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent) - : QDialog(parent) - , m_cookieJar(cookieJar) -{ - setupUi(this); - setWindowFlags(Qt::Sheet); - connect(removeButton, SIGNAL(clicked()), exceptionTable, SLOT(removeSelected())); - connect(removeAllButton, SIGNAL(clicked()), exceptionTable, SLOT(removeAll())); - exceptionTable->verticalHeader()->hide(); - exceptionTable->setSelectionBehavior(QAbstractItemView::SelectRows); - exceptionTable->setAlternatingRowColors(true); - exceptionTable->setTextElideMode(Qt::ElideMiddle); - exceptionTable->setShowGrid(false); - exceptionTable->setSortingEnabled(true); - m_exceptionsModel = new CookieExceptionsModel(cookieJar, this); - m_proxyModel = new QSortFilterProxyModel(this); - m_proxyModel->setSourceModel(m_exceptionsModel); - connect(search, SIGNAL(textChanged(QString)), - m_proxyModel, SLOT(setFilterFixedString(QString))); - exceptionTable->setModel(m_proxyModel); - - CookieModel *cookieModel = new CookieModel(cookieJar, this); - domainLineEdit->setCompleter(new QCompleter(cookieModel, domainLineEdit)); - - connect(domainLineEdit, SIGNAL(textChanged(const QString &)), - this, SLOT(textChanged(const QString &))); - connect(blockButton, SIGNAL(clicked()), this, SLOT(block())); - connect(allowButton, SIGNAL(clicked()), this, SLOT(allow())); - connect(allowForSessionButton, SIGNAL(clicked()), this, SLOT(allowForSession())); - - QFont f = font(); - f.setPointSize(10); - QFontMetrics fm(f); - int height = fm.height() + fm.height() / 3; - exceptionTable->verticalHeader()->setDefaultSectionSize(height); - exceptionTable->verticalHeader()->setMinimumSectionSize(-1); - for (int i = 0; i < m_exceptionsModel->columnCount(); ++i) { - int header = exceptionTable->horizontalHeader()->sectionSizeHint(i); - switch (i) { - case 0: - header = fm.width(QLatin1String("averagebiglonghost.domain.com")); - break; - case 1: - header = fm.width(QLatin1String("Allow For Session")); - break; - } - int buffer = fm.width(QLatin1String("xx")); - header += buffer; - exceptionTable->horizontalHeader()->resizeSection(i, header); - } -} - -void CookiesExceptionsDialog::textChanged(const QString &text) -{ - bool enabled = !text.isEmpty(); - blockButton->setEnabled(enabled); - allowButton->setEnabled(enabled); - allowForSessionButton->setEnabled(enabled); -} - -void CookiesExceptionsDialog::block() -{ - if (domainLineEdit->text().isEmpty()) - return; - m_exceptionsModel->m_blockedCookies.append(domainLineEdit->text()); - m_cookieJar->setBlockedCookies(m_exceptionsModel->m_blockedCookies); - m_exceptionsModel->reset(); -} - -void CookiesExceptionsDialog::allow() -{ - if (domainLineEdit->text().isEmpty()) - return; - m_exceptionsModel->m_allowedCookies.append(domainLineEdit->text()); - m_cookieJar->setAllowedCookies(m_exceptionsModel->m_allowedCookies); - m_exceptionsModel->reset(); -} - -void CookiesExceptionsDialog::allowForSession() -{ - if (domainLineEdit->text().isEmpty()) - return; - m_exceptionsModel->m_sessionCookies.append(domainLineEdit->text()); - m_cookieJar->setAllowForSessionCookies(m_exceptionsModel->m_sessionCookies); - m_exceptionsModel->reset(); -} - diff --git a/src/cookiejar.h b/src/cookiejar/cookiejar.h similarity index 70% rename from src/cookiejar.h rename to src/cookiejar/cookiejar.h index 0fa4aaf3..7d77cdee 100644 --- a/src/cookiejar.h +++ b/src/cookiejar/cookiejar.h @@ -1,5 +1,5 @@ /* - * Copyright 2008 Benjamin C. Meyer + * Copyright 2008-2009 Benjamin C. Meyer * * 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 @@ -146,79 +146,5 @@ private slots: QStringList m_exceptions_allowForSession; }; -class CookieModel : public QAbstractTableModel -{ - Q_OBJECT - -public: - CookieModel(CookieJar *jar, QObject *parent = 0); - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); - -private slots: - void cookiesChanged(); - -private: - CookieJar *m_cookieJar; -}; - -#include "ui_cookies.h" -#include "ui_cookiesexceptions.h" - -class CookiesDialog : public QDialog, public Ui_CookiesDialog -{ - Q_OBJECT - -public: - CookiesDialog(CookieJar *cookieJar, QWidget *parent = 0); - -private: - QSortFilterProxyModel *m_proxyModel; -}; - -class CookieExceptionsModel : public QAbstractTableModel -{ - Q_OBJECT - friend class CookiesExceptionsDialog; - -public: - CookieExceptionsModel(CookieJar *cookieJar, QObject *parent = 0); - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); - -private: - CookieJar *m_cookieJar; - - // Domains we allow, Domains we block, Domains we allow for this session - QStringList m_allowedCookies; - QStringList m_blockedCookies; - QStringList m_sessionCookies; -}; - -class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog -{ - Q_OBJECT - -public: - CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent = 0); - -private slots: - void block(); - void allow(); - void allowForSession(); - void textChanged(const QString &text); - -private: - CookieExceptionsModel *m_exceptionsModel; - QSortFilterProxyModel *m_proxyModel; - CookieJar *m_cookieJar; -}; - #endif // COOKIEJAR_H diff --git a/src/cookiejar/cookiejar.pri b/src/cookiejar/cookiejar.pri new file mode 100644 index 00000000..561aea81 --- /dev/null +++ b/src/cookiejar/cookiejar.pri @@ -0,0 +1,21 @@ +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD + +HEADERS += \ + cookiedialog.h \ + cookieexceptionsdialog.h \ + cookieexceptionsmodel.h \ + cookiejar.h \ + cookiemodel.h + +SOURCES += \ + cookiedialog.cpp \ + cookieexceptionsmodel.cpp \ + cookiemodel.cpp \ + cookieexceptionsdialog.cpp \ + cookiejar.cpp + +FORMS += \ + cookies.ui \ + cookiesexceptions.ui + diff --git a/src/cookiejar/cookiemodel.cpp b/src/cookiejar/cookiemodel.cpp new file mode 100644 index 00000000..136ac84e --- /dev/null +++ b/src/cookiejar/cookiemodel.cpp @@ -0,0 +1,177 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#include "cookiemodel.h" + +#include + +#include "cookiejar.h" + +CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent) + : QAbstractTableModel(parent) + , m_cookieJar(cookieJar) +{ + connect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged())); + m_cookieJar->load(); +} + +QVariant CookieModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (role == Qt::SizeHintRole) { + QFont font; + font.setPointSize(10); + QFontMetrics fm(font); + int height = fm.height() + fm.height() / 3; + int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString()); + return QSize(width, height); + } + + if (orientation == Qt::Horizontal) { + if (role != Qt::DisplayRole) + return QVariant(); + + switch (section) { + case 0: + return tr("Website"); + case 1: + return tr("Name"); + case 2: + return tr("Path"); + case 3: + return tr("Secure"); + case 4: + return tr("Expires"); + case 5: + return tr("Contents"); + default: + return QVariant(); + } + } + return QAbstractTableModel::headerData(section, orientation, role); +} + +QVariant CookieModel::data(const QModelIndex &index, int role) const +{ + QList lst; + if (m_cookieJar) + lst = m_cookieJar->allCookies(); + if (index.row() < 0 || index.row() >= lst.size()) + return QVariant(); + + switch (role) { + case Qt::DisplayRole: + case Qt::EditRole: { + QNetworkCookie cookie = lst.at(index.row()); + switch (index.column()) { + case 0: + return cookie.domain(); + case 1: + return cookie.name(); + case 2: + return cookie.path(); + case 3: + return cookie.isSecure() ? tr("true") : tr("false"); + case 4: + return cookie.expirationDate(); + case 5: + return cookie.value(); + } + } + case Qt::FontRole: { + QFont font; + font.setPointSize(10); + return font; + } + } + + return QVariant(); +} + +int CookieModel::columnCount(const QModelIndex &parent) const +{ + return (parent.isValid()) ? 0 : 6; +} + +int CookieModel::rowCount(const QModelIndex &parent) const +{ + return (parent.isValid() || !m_cookieJar) ? 0 : m_cookieJar->allCookies().count(); +} + +bool CookieModel::removeRows(int row, int count, const QModelIndex &parent) +{ + if (parent.isValid() || !m_cookieJar) + return false; + int lastRow = row + count - 1; + beginRemoveRows(parent, row, lastRow); + QList lst = m_cookieJar->allCookies(); + for (int i = lastRow; i >= row; --i) { + lst.removeAt(i); + } + m_cookieJar->setAllCookies(lst); + endRemoveRows(); + return true; +} + +void CookieModel::cookiesChanged() +{ + reset(); +} diff --git a/src/cookiejar/cookiemodel.h b/src/cookiejar/cookiemodel.h new file mode 100644 index 00000000..61b952f3 --- /dev/null +++ b/src/cookiejar/cookiemodel.h @@ -0,0 +1,89 @@ +/* + * Copyright 2008-2009 Benjamin C. Meyer + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +/**************************************************************************** +** +** Copyright (C) 2007-2008 Trolltech ASA. All rights reserved. +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** This file may be used under the terms of the GNU General Public +** License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Alternatively you may (at +** your option) use any later version of the GNU General Public +** License if such license has been publicly approved by Trolltech ASA +** (or its successors, if any) and the KDE Free Qt Foundation. In +** addition, as a special exception, Trolltech gives you certain +** additional rights. These rights are described in the Trolltech GPL +** Exception version 1.2, which can be found at +** http://www.trolltech.com/products/qt/gplexception/ and in the file +** GPL_EXCEPTION.txt in this package. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. If +** you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** In addition, as a special exception, Trolltech, as the sole +** copyright holder for Qt Designer, grants users of the Qt/Eclipse +** Integration plug-in the right for the Qt/Eclipse Integration to +** link to functionality provided by Qt Designer and its related +** libraries. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly +** granted herein. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +#ifndef COOKIEMODEL_H +#define COOKIEMODEL_H + +#include + +class CookieJar; +class CookieModel : public QAbstractTableModel +{ + Q_OBJECT + +public: + CookieModel(CookieJar *jar, QObject *parent = 0); + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const; + bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + +private slots: + void cookiesChanged(); + +private: + CookieJar *m_cookieJar; +}; + +#endif // COOKIEMODEL_H + diff --git a/src/cookies.ui b/src/cookiejar/cookies.ui similarity index 100% rename from src/cookies.ui rename to src/cookiejar/cookies.ui diff --git a/src/cookiesexceptions.ui b/src/cookiejar/cookiesexceptions.ui similarity index 100% rename from src/cookiesexceptions.ui rename to src/cookiejar/cookiesexceptions.ui diff --git a/src/settings.cpp b/src/settings.cpp index 497d16f5..1daa3e0a 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2008 Benjamin C. Meyer + * Copyright 2008-2009 Benjamin C. Meyer * * 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 @@ -64,6 +64,8 @@ #include "browserapplication.h" #include "browsermainwindow.h" +#include "cookiedialog.h" +#include "cookieexceptionsdialog.h" #include "cookiejar.h" #include "history.h" #include "networkaccessmanager.h" @@ -343,13 +345,13 @@ void SettingsDialog::accept() void SettingsDialog::showCookies() { - CookiesDialog *dialog = new CookiesDialog(BrowserApplication::cookieJar(), this); + CookieDialog *dialog = new CookieDialog(BrowserApplication::cookieJar(), this); dialog->exec(); } void SettingsDialog::showExceptions() { - CookiesExceptionsDialog *dialog = new CookiesExceptionsDialog(BrowserApplication::cookieJar(), this); + CookieExceptionsDialog *dialog = new CookieExceptionsDialog(BrowserApplication::cookieJar(), this); dialog->exec(); } diff --git a/src/src.pri b/src/src.pri index 50cf937c..c9ab47e6 100644 --- a/src/src.pri +++ b/src/src.pri @@ -29,8 +29,6 @@ FORMS += \ aboutdialog.ui \ addbookmarkdialog.ui \ bookmarks.ui \ - cookies.ui \ - cookiesexceptions.ui \ downloaditem.ui \ downloads.ui \ history.ui \ @@ -45,7 +43,6 @@ HEADERS += \ browserapplication.h \ browsermainwindow.h \ clearprivatedata.h \ - cookiejar.h \ downloadmanager.h \ edittableview.h \ edittreeview.h \ @@ -75,7 +72,6 @@ SOURCES += \ browserapplication.cpp \ browsermainwindow.cpp \ clearprivatedata.cpp \ - cookiejar.cpp \ downloadmanager.cpp \ edittableview.cpp \ edittreeview.cpp \ @@ -98,6 +94,7 @@ SOURCES += \ webviewsearch.cpp \ xbel.cpp +include(cookiejar/cookiejar.pri) include(utils/utils.pri) RESOURCES += data/data.qrc \ From 81a057cb767762917081efeee3804baf75e049ea Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Thu, 15 Jan 2009 19:40:50 +0100 Subject: [PATCH 0292/1254] Final valid fix for bookmarks activation issue in bookmarks manager. --- src/bookmarks.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 9fe03fb7..d85805bf 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -905,7 +905,9 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) void BookmarksDialog::open(TabWidget::Tab tab) { QModelIndex index = tree->currentIndex(); - if (tree->model()->hasChildren(index) || !index.parent().isValid()) + QModelIndex sourceIndex = m_proxyModel->mapToSource(index); + const BookmarkNode *node = m_bookmarksModel->node(sourceIndex); + if (node->type() == BookmarkNode::Folder) return; emit openUrl( index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl(), From 54b668a49b48358bca88369a0363ca4adc8a380a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 21:17:21 -0500 Subject: [PATCH 0293/1254] Prevent a segfault if the index is not valid --- src/bookmarks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index d85805bf..a10874c4 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -907,7 +907,7 @@ void BookmarksDialog::open(TabWidget::Tab tab) QModelIndex index = tree->currentIndex(); QModelIndex sourceIndex = m_proxyModel->mapToSource(index); const BookmarkNode *node = m_bookmarksModel->node(sourceIndex); - if (node->type() == BookmarkNode::Folder) + if (!index.parent().isValid() || !node || node->type() == BookmarkNode::Folder) return; emit openUrl( index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl(), From ada9d09cd88071f947294eb91edf77e74bece889 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 21:42:53 -0500 Subject: [PATCH 0294/1254] cleanup headers --- src/cookiejar/cookieexceptionsmodel.cpp | 2 ++ src/cookiejar/cookiejar.h | 9 --------- src/cookiejar/cookiemodel.cpp | 5 +++-- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/cookiejar/cookieexceptionsmodel.cpp b/src/cookiejar/cookieexceptionsmodel.cpp index 15fe25eb..59163618 100644 --- a/src/cookiejar/cookieexceptionsmodel.cpp +++ b/src/cookiejar/cookieexceptionsmodel.cpp @@ -64,6 +64,8 @@ #include "cookiejar.h" +#include + CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent) : QAbstractTableModel(parent) , m_cookieJar(cookiejar) diff --git a/src/cookiejar/cookiejar.h b/src/cookiejar/cookiejar.h index 7d77cdee..149cb92f 100644 --- a/src/cookiejar/cookiejar.h +++ b/src/cookiejar/cookiejar.h @@ -65,18 +65,9 @@ #include -#include -#include #include -#include - -QT_BEGIN_NAMESPACE -class QSortFilterProxyModel; -class QKeyEvent; -QT_END_NAMESPACE class AutoSaver; - class CookieJar : public QNetworkCookieJar { friend class CookieModel; diff --git a/src/cookiejar/cookiemodel.cpp b/src/cookiejar/cookiemodel.cpp index 136ac84e..9323adab 100644 --- a/src/cookiejar/cookiemodel.cpp +++ b/src/cookiejar/cookiemodel.cpp @@ -62,10 +62,11 @@ #include "cookiemodel.h" -#include - #include "cookiejar.h" +#include +#include + CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent) : QAbstractTableModel(parent) , m_cookieJar(cookieJar) From 7aafe7dbea719825ea4ed2fd652f846db14c48d7 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 19 Jan 2009 21:50:05 -0500 Subject: [PATCH 0295/1254] Experimental new cookie jar (please test, set Accept cookies back to Only from sites you navigate to) --- src/cookiejar/cookiejar.cpp | 16 +- src/cookiejar/cookiejar.h | 4 +- src/cookiejar/cookiejar.pri | 2 + .../networkcookiejar/MOZILLA_LICENSE.txt | 567 ++++++++++++++++++ .../networkcookiejar/networkcookiejar.cpp | 348 +++++++++++ .../networkcookiejar/networkcookiejar.h | 66 ++ .../networkcookiejar/networkcookiejar_p.h | 77 +++ src/cookiejar/networkcookiejar/src.pri | 5 + src/cookiejar/networkcookiejar/trie_p.h | 255 ++++++++ .../networkcookiejar/twoleveldomains_p.h | 103 ++++ 10 files changed, 1428 insertions(+), 15 deletions(-) create mode 100644 src/cookiejar/networkcookiejar/MOZILLA_LICENSE.txt create mode 100644 src/cookiejar/networkcookiejar/networkcookiejar.cpp create mode 100644 src/cookiejar/networkcookiejar/networkcookiejar.h create mode 100644 src/cookiejar/networkcookiejar/networkcookiejar_p.h create mode 100644 src/cookiejar/networkcookiejar/src.pri create mode 100644 src/cookiejar/networkcookiejar/trie_p.h create mode 100644 src/cookiejar/networkcookiejar/twoleveldomains_p.h diff --git a/src/cookiejar/cookiejar.cpp b/src/cookiejar/cookiejar.cpp index 5e0bc11c..5936fab8 100644 --- a/src/cookiejar/cookiejar.cpp +++ b/src/cookiejar/cookiejar.cpp @@ -116,7 +116,7 @@ QDataStream &operator>>(QDataStream &stream, QList &list) QT_END_NAMESPACE CookieJar::CookieJar(QObject *parent) - : QNetworkCookieJar(parent) + : NetworkCookieJar(parent) , m_loaded(false) , m_saveTimer(new AutoSaver(this)) , m_acceptCookies(AcceptOnlyFromSitesNavigatedTo) @@ -243,17 +243,7 @@ QList CookieJar::cookiesForUrl(const QUrl &url) const return noCookies; } - // Not sure if this conforms to the cookie specification, in fact I am - // pretty sure it incomplete and in the worst case a security hole. - QList cookies; - QString host = url.host(); - while (host.count(QLatin1Char('.')) > 0) { - QUrl subUrl = url; - subUrl.setHost(host); - cookies += QNetworkCookieJar::cookiesForUrl(subUrl); - host = host.mid(host.indexOf(QLatin1Char('.')) + 1); - } - return cookies; + return NetworkCookieJar::cookiesForUrl(url); } bool CookieJar::setCookiesFromUrl(const QList &cookieList, const QUrl &url) @@ -286,7 +276,7 @@ bool CookieJar::setCookiesFromUrl(const QList &cookieList, const cookie.setExpirationDate(soon); } lst += cookie; - if (QNetworkCookieJar::setCookiesFromUrl(lst, url)) { + if (NetworkCookieJar::setCookiesFromUrl(lst, url)) { addedCookies = true; } else { // finally force it in if wanted diff --git a/src/cookiejar/cookiejar.h b/src/cookiejar/cookiejar.h index 149cb92f..e083ef27 100644 --- a/src/cookiejar/cookiejar.h +++ b/src/cookiejar/cookiejar.h @@ -63,12 +63,12 @@ #ifndef COOKIEJAR_H #define COOKIEJAR_H -#include +#include #include class AutoSaver; -class CookieJar : public QNetworkCookieJar +class CookieJar : public NetworkCookieJar { friend class CookieModel; Q_OBJECT diff --git a/src/cookiejar/cookiejar.pri b/src/cookiejar/cookiejar.pri index 561aea81..9539331b 100644 --- a/src/cookiejar/cookiejar.pri +++ b/src/cookiejar/cookiejar.pri @@ -19,3 +19,5 @@ FORMS += \ cookies.ui \ cookiesexceptions.ui +include($$PWD/networkcookiejar/src.pri) + diff --git a/src/cookiejar/networkcookiejar/MOZILLA_LICENSE.txt b/src/cookiejar/networkcookiejar/MOZILLA_LICENSE.txt new file mode 100644 index 00000000..18f8109b --- /dev/null +++ b/src/cookiejar/networkcookiejar/MOZILLA_LICENSE.txt @@ -0,0 +1,567 @@ + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + + ---------------------------------------------------------------------- + + AMENDMENTS + + The Netscape Public License Version 1.1 ("NPL") consists of the + Mozilla Public License Version 1.1 with the following Amendments, + including Exhibit A-Netscape Public License. Files identified with + "Exhibit A-Netscape Public License" are governed by the Netscape + Public License Version 1.1. + + Additional Terms applicable to the Netscape Public License. + I. Effect. + These additional terms described in this Netscape Public + License -- Amendments shall apply to the Mozilla Communicator + client code and to all Covered Code under this License. + + II. "Netscape's Branded Code" means Covered Code that Netscape + distributes and/or permits others to distribute under one or more + trademark(s) which are controlled by Netscape but which are not + licensed for use under this License. + + III. Netscape and logo. + This License does not grant any rights to use the trademarks + "Netscape", the "Netscape N and horizon" logo or the "Netscape + lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", + "Smart Browsing" even if such marks are included in the Original + Code or Modifications. + + IV. Inability to Comply Due to Contractual Obligation. + Prior to licensing the Original Code under this License, Netscape + has licensed third party code for use in Netscape's Branded Code. + To the extent that Netscape is limited contractually from making + such third party code available under this License, Netscape may + choose to reintegrate such code into Covered Code without being + required to distribute such code in Source Code form, even if + such code would otherwise be considered "Modifications" under + this License. + + V. Use of Modifications and Covered Code by Initial Developer. + V.1. In General. + The obligations of Section 3 apply to Netscape, except to + the extent specified in this Amendment, Section V.2 and V.3. + + V.2. Other Products. + Netscape may include Covered Code in products other than the + Netscape's Branded Code which are released by Netscape + during the two (2) years following the release date of the + Original Code, without such additional products becoming + subject to the terms of this License, and may license such + additional products on different terms from those contained + in this License. + + V.3. Alternative Licensing. + Netscape may license the Source Code of Netscape's Branded + Code, including Modifications incorporated therein, without + such Netscape Branded Code becoming subject to the terms of + this License, and may license such Netscape Branded Code on + different terms from those contained in this License. + + VI. Litigation. + Notwithstanding the limitations of Section 11 above, the + provisions regarding litigation in Section 11(a), (b) and (c) of + the License shall apply to all disputes relating to this License. + + EXHIBIT A-Netscape Public License. + + "The contents of this file are subject to the Netscape Public + License Version 1.1 (the "License"); you may not use this file + except in compliance with the License. You may obtain a copy of + the License at http://www.mozilla.org/NPL/ + + Software distributed under the License is distributed on an "AS + IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + implied. See the License for the specific language governing + rights and limitations under the License. + + The Original Code is Mozilla Communicator client code, released + March 31, 1998. + + The Initial Developer of the Original Code is Netscape + Communications Corporation. Portions created by Netscape are + Copyright (C) 1998-1999 Netscape Communications Corporation. All + Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the + terms of the _____ license (the "[___] License"), in which case + the provisions of [______] License are applicable instead of + those above. If you wish to allow use of your version of this + file only under the terms of the [____] License and not to allow + others to use your version of this file under the NPL, indicate + your decision by deleting the provisions above and replace them + with the notice and other provisions required by the [___] + License. If you do not delete the provisions above, a recipient + may use your version of this file under either the NPL or the + [___] License." diff --git a/src/cookiejar/networkcookiejar/networkcookiejar.cpp b/src/cookiejar/networkcookiejar/networkcookiejar.cpp new file mode 100644 index 00000000..1d49cfd3 --- /dev/null +++ b/src/cookiejar/networkcookiejar/networkcookiejar.cpp @@ -0,0 +1,348 @@ +/* + Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ +*/ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code + * + * The Initial Developer of the Original Code is: + * Benjamin Meyer (benjamin.meyer@torchmobile.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "networkcookiejar.h" +#include "networkcookiejar_p.h" +#include "twoleveldomains_p.h" + +//#define NETWORKCOOKIEJAR_DEBUG + +#ifndef QT_NO_DEBUG +// ^ Prevent being left on in a released product by accident +// qDebug any cookies that are rejected for further inspection +#define NETWORKCOOKIEJAR_LOGREJECTEDCOOKIES +#include +#endif + +#include +#include + +#if defined(NETWORKCOOKIEJAR_DEBUG) +#include +#endif + + +NetworkCookieJar::NetworkCookieJar(QObject *parent) + : QNetworkCookieJar(parent) +{ + d = new NetworkCookieJarPrivate; +} + +NetworkCookieJar::~NetworkCookieJar() +{ + delete d; +} + +static QStringList splitHost(const QString &host) { + QStringList parts = host.split(QLatin1Char('.'), QString::KeepEmptyParts); + // Remove empty components that are on the start and end + while (!parts.isEmpty() && parts.last().isEmpty()) + parts.removeLast(); + while (!parts.isEmpty() && parts.first().isEmpty()) + parts.removeFirst(); + return parts; +} + +inline static bool shorterPaths(const QNetworkCookie &c1, const QNetworkCookie &c2) +{ + return c2.path().length() < c1.path().length(); +} + +QList NetworkCookieJar::cookiesForUrl(const QUrl &url) const +{ +#if defined(NETWORKCOOKIEJAR_DEBUG) + qDebug() << "NetworkCookieJar::" << __FUNCTION__ << url; +#endif + // Generate split host + QString host = url.host(); + if (url.scheme().toLower() == QLatin1String("file")) + host = QLatin1String("localhost"); + QStringList urlHost = splitHost(host); + + // Get all the cookies for url + QList cookies = d->tree.find(urlHost); + if (urlHost.count() > 2) { + int top = 2; + if (d->matchesBlacklist(urlHost.last())) + top = 3; + + urlHost.removeFirst(); + while (urlHost.count() >= top) { + cookies += d->tree.find(urlHost); + urlHost.removeFirst(); + } + } + + // Prevent doing anything expensive in the common case where + // there are no cookies to check + if (cookies.isEmpty()) + return cookies; + + QDateTime now = QDateTime::currentDateTime().toTimeSpec(Qt::UTC); + const QString urlPath = d->urlPath(url); + const bool isSecure = url.scheme().toLower() == QLatin1String("https"); + QList::iterator i = cookies.begin(); + for (; i != cookies.end();) { + if (!d->matchingPath(*i, urlPath)) { + i = cookies.erase(i); + continue; + } + if (!isSecure && i->isSecure()) { + i = cookies.erase(i); + continue; + } + if (!i->isSessionCookie() && now > i->expirationDate()) { + // remove now (expensive short term) because there will + // probably be many more cookiesForUrl calls for this host + d->tree.remove(splitHost(i->domain()), *i); + i = cookies.erase(i); + continue; + } + ++i; + } + + // shorter paths should go first + qSort(cookies.begin(), cookies.end(), shorterPaths); + return cookies; +} + +static const qint32 NetworkCookieJarMagic = 0xae; + +QByteArray NetworkCookieJar::saveState () const +{ + int version = 1; + QByteArray data; + QDataStream stream(&data, QIODevice::WriteOnly); + + stream << qint32(NetworkCookieJarMagic); + stream << qint32(version); + stream << d->tree; + return data; +} + +bool NetworkCookieJar::restoreState(const QByteArray &state) +{ + int version = 1; + QByteArray sd = state; + QDataStream stream(&sd, QIODevice::ReadOnly); + if (stream.atEnd()) + return false; + qint32 marker; + qint32 v; + stream >> marker; + stream >> v; + if (marker != NetworkCookieJarMagic || v != version) + return false; + stream >> d->tree; + return true; +} + +/*! + Remove any session cookies or cookies that have expired. + */ +void NetworkCookieJar::endSession() +{ + const QList cookies = d->tree.all(); + QDateTime now = QDateTime::currentDateTime().toTimeSpec(Qt::UTC); + QList::const_iterator i = cookies.constBegin(); + for (; i != cookies.constEnd();) { + if (i->isSessionCookie() + || !i->isSessionCookie() && now > i->expirationDate()) { + d->tree.remove(splitHost(i->domain()), *i); + } + ++i; + } +} + +bool NetworkCookieJar::setCookiesFromUrl(const QList &cookieList, const QUrl &url) +{ +#if defined(NETWORKCOOKIEJAR_DEBUG) + qDebug() << "NetworkCookieJar::" << __FUNCTION__ << url; +#endif + QDateTime now = QDateTime::currentDateTime().toTimeSpec(Qt::UTC); + bool changed = false; + QString fullUrlPath = url.path(); + QString defaultPath = fullUrlPath.mid(0, fullUrlPath.lastIndexOf(QLatin1Char('/')) + 1); + if (defaultPath.isEmpty()) + defaultPath = QLatin1Char('/'); + + QString urlPath = d->urlPath(url); + foreach (QNetworkCookie cookie, cookieList) { + bool alreadyDead = !cookie.isSessionCookie() && cookie.expirationDate() < now; + + if (cookie.path().isEmpty()) { + cookie.setPath(fullUrlPath); + } else if (!d->matchingPath(cookie, urlPath)) { +#ifdef NETWORKCOOKIEJAR_LOGREJECTEDCOOKIES + qDebug() << "NetworkCookieJar::" << __FUNCTION__ + << "Blocked cookie because: path doesn't match: " << cookie << url; +#endif + continue; + } + + if (cookie.domain().isEmpty()) { + QString host = url.host().toLower(); + if (host.isEmpty()) + continue; + cookie.setDomain(host); + } else if (!d->matchingDomain(cookie, url)) { +#ifdef NETWORKCOOKIEJAR_LOGREJECTEDCOOKIES + qDebug() << "NetworkCookieJar::" << __FUNCTION__ + << "Blocked cookie because: domain doesn't match: " << cookie << url; +#endif + continue; + } + + // replace/remove existing cookies + QString domain = cookie.domain(); + Q_ASSERT(!domain.isEmpty()); + QStringList urlHost = splitHost(domain); + + QList cookies = d->tree.find(urlHost); + QList::const_iterator it = cookies.constBegin(); + for (; it != cookies.constEnd(); ++it) { + if (cookie.name() == it->name() && + cookie.domain() == it->domain() && + cookie.path() == it->path()) { + d->tree.remove(urlHost, *it); + break; + } + } + + if (alreadyDead) + continue; + + changed = true; + d->tree.insert(urlHost, cookie); + } + + return changed; +} + +QList NetworkCookieJar::allCookies() const +{ +#if defined(NETWORKCOOKIEJAR_DEBUG) + qDebug() << "NetworkCookieJar::" << __FUNCTION__; +#endif + return d->tree.all(); +} + +void NetworkCookieJar::setAllCookies(const QList &cookieList) +{ +#if defined(NETWORKCOOKIEJAR_DEBUG) + qDebug() << "NetworkCookieJar::" << __FUNCTION__ << cookieList.count(); +#endif + d->tree.clear(); + foreach (QNetworkCookie cookie, cookieList) { + QString domain = cookie.domain(); + d->tree.insert(splitHost(domain), cookie); + } +} + +QString NetworkCookieJarPrivate::urlPath(const QUrl &url) const +{ + QString urlPath = url.path(); + if (!urlPath.endsWith(QLatin1Char('/'))) + urlPath += QLatin1Char('/'); + return urlPath; +} + +bool NetworkCookieJarPrivate::matchingPath(const QNetworkCookie &cookie, const QString &urlPath) const +{ + QString cookiePath = cookie.path(); + if (!cookiePath.endsWith(QLatin1Char('/'))) + cookiePath += QLatin1Char('/'); + + return urlPath.startsWith(cookiePath); +} + +bool NetworkCookieJarPrivate::matchesBlacklist(const QString &string) const +{ + if (!setSecondLevelDomain) { + // Alternatively to save a little bit of ram we could just + // use bsearch on twoLevelDomains in place + for (int j = 0; twoLevelDomains[j]; ++j) + secondLevelDomains += QLatin1String(twoLevelDomains[j]); + setSecondLevelDomain = true; + } + QStringList::const_iterator i = + qBinaryFind(secondLevelDomains.constBegin(), secondLevelDomains.constEnd(), string); + return (i != secondLevelDomains.constEnd()); +} + +bool NetworkCookieJarPrivate::matchingDomain(const QNetworkCookie &cookie, const QUrl &url) const +{ + QString domain = cookie.domain().simplified().toLower(); + domain.remove(QLatin1Char(' ')); + QStringList parts = splitHost(domain); + if (parts.isEmpty()) + return false; + + // When there is only one part only file://localhost/ is accepted + if (parts.count() == 1) { + QString s = parts.first(); + if (parts.first() != QLatin1String("localhost")) + return false; + if (url.scheme().toLower() == QLatin1String("file")) + return true; + } + + // Check for blacklist + if (parts.count() == 2 && matchesBlacklist(parts.last())) + return false; + + QStringList urlParts = url.host().toLower().split(QLatin1Char('.'), QString::SkipEmptyParts); + if (urlParts.isEmpty()) + return false; + while (urlParts.count() > parts.count()) + urlParts.removeFirst(); + + for (int j = 0; j < urlParts.count(); ++j) { + if (urlParts.at(j) != parts.at(j)) { + return false; + } + } + + return true; +} + +void NetworkCookieJar::setSecondLevelDomains(const QStringList &secondLevelDomains) +{ + d->setSecondLevelDomain = true; + d->secondLevelDomains = secondLevelDomains; + qSort(d->secondLevelDomains); +} + diff --git a/src/cookiejar/networkcookiejar/networkcookiejar.h b/src/cookiejar/networkcookiejar/networkcookiejar.h new file mode 100644 index 00000000..bde4cd08 --- /dev/null +++ b/src/cookiejar/networkcookiejar/networkcookiejar.h @@ -0,0 +1,66 @@ +/* + Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ +*/ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code + * + * The Initial Developer of the Original Code is: + * Benjamin Meyer (benjamin.meyer@torchmobile.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef NETWORKCOOKIEJAR_H +#define NETWORKCOOKIEJAR_H + +#include + +class NetworkCookieJarPrivate; +class NetworkCookieJar : public QNetworkCookieJar { + Q_OBJECT +public: + NetworkCookieJar(QObject *parent = 0); + ~NetworkCookieJar(); + + virtual QList cookiesForUrl(const QUrl & url) const; + virtual bool setCookiesFromUrl(const QList &cookieList, const QUrl &url); + +protected: + QByteArray saveState() const; + bool restoreState(const QByteArray &state); + void endSession(); + + QList allCookies() const; + void setAllCookies(const QList &cookieList); + void setSecondLevelDomains(const QStringList &secondLevelDomains); + +private: + NetworkCookieJarPrivate *d; +}; + +#endif + diff --git a/src/cookiejar/networkcookiejar/networkcookiejar_p.h b/src/cookiejar/networkcookiejar/networkcookiejar_p.h new file mode 100644 index 00000000..b964b348 --- /dev/null +++ b/src/cookiejar/networkcookiejar/networkcookiejar_p.h @@ -0,0 +1,77 @@ +/* + Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ +*/ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code + * + * The Initial Developer of the Original Code is: + * Benjamin Meyer (benjamin.meyer@torchmobile.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef NETWORKCOOKIEJARPRIVATE_H +#define NETWORKCOOKIEJARPRIVATE_H + +#include "trie_p.h" + +QT_BEGIN_NAMESPACE +QDataStream &operator<<(QDataStream &stream, const QNetworkCookie &cookie) +{ + stream << cookie.toRawForm(); + return stream; +} + +QDataStream &operator>>(QDataStream &stream, QNetworkCookie &cookie) +{ + QByteArray value; + stream >> value; + QList newCookies = QNetworkCookie::parseCookies(value); + if (!newCookies.isEmpty()) + cookie = newCookies.first(); + return stream; +} +QT_END_NAMESPACE + +class NetworkCookieJarPrivate { +public: + NetworkCookieJarPrivate() + : setSecondLevelDomain(false) + {} + + Trie tree; + mutable bool setSecondLevelDomain; + mutable QStringList secondLevelDomains; + + bool matchesBlacklist(const QString &string) const; + bool matchingDomain(const QNetworkCookie &cookie, const QUrl &url) const; + QString urlPath(const QUrl &url) const; + bool matchingPath(const QNetworkCookie &cookie, const QString &urlPath) const; +}; + +#endif + diff --git a/src/cookiejar/networkcookiejar/src.pri b/src/cookiejar/networkcookiejar/src.pri new file mode 100644 index 00000000..78ac273a --- /dev/null +++ b/src/cookiejar/networkcookiejar/src.pri @@ -0,0 +1,5 @@ +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD + +HEADERS += trie_p.h networkcookiejar.h twoleveldomains_p.h networkcookiejar_p.h +SOURCES += networkcookiejar.cpp diff --git a/src/cookiejar/networkcookiejar/trie_p.h b/src/cookiejar/networkcookiejar/trie_p.h new file mode 100644 index 00000000..7a6a55bc --- /dev/null +++ b/src/cookiejar/networkcookiejar/trie_p.h @@ -0,0 +1,255 @@ +/* + Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ +*/ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code + * + * The Initial Developer of the Original Code is: + * Benjamin Meyer (benjamin.meyer@torchmobile.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef TRIE_H +#define TRIE_H + +//#define TRIE_DEBUG + +#include + +#if defined(TRIE_DEBUG) +#include +#endif + +/* + A Trie tree (prefix tree) where the lookup takes m in the worst case. + + The key is stored in *reverse* order + + Example: + Keys: x,a y,a + + Trie: + a + | \ + x y +*/ + +template +class Trie { +public: + Trie(); + ~Trie(); + + void clear(); + void insert(const QStringList &key, const T &value); + bool remove(const QStringList &key, const T &value); + QList find(const QStringList &key) const; + QList all() const; + + inline bool contains(const QStringList &key) const; + inline bool isEmpty() const { return children.isEmpty() && values.isEmpty(); } + +private: + const Trie* walkTo(const QStringList &key) const; + Trie* walkTo(const QStringList &key, bool create = false); + + template friend QDataStream &operator<<(QDataStream &, const Trie&); + template friend QDataStream &operator>>(QDataStream &, Trie&); + + QList values; + QStringList childrenKeys; + QList > children; +}; + +template +Trie::Trie() { +} + +template +Trie::~Trie() { +} + +template +void Trie::clear() { +#if defined(TRIE_DEBUG) + qDebug() << "Trie::" << __FUNCTION__; +#endif + values.clear(); + childrenKeys.clear(); + children.clear(); +} + +template +bool Trie::contains(const QStringList &key) const { + return walkTo(key); +} + +template +void Trie::insert(const QStringList &key, const T &value) { +#if defined(TRIE_DEBUG) + qDebug() << "Trie::" << __FUNCTION__ << key << value; +#endif + Trie *node = walkTo(key, true); + if (node) + node->values.append(value); +} + +template +bool Trie::remove(const QStringList &key, const T &value) { +#if defined(TRIE_DEBUG) + qDebug() << "Trie::" << __FUNCTION__ << key << value; +#endif + Trie *node = walkTo(key, true); + if (node) { + bool removed = node->values.removeOne(value); + if (!removed) + return false; + + // A faster implementation of removing nodes up the tree + // can be created if profile shows this to be slow + QStringList subKey = key; + while (node->values.isEmpty() + && node->children.isEmpty() + && !subKey.isEmpty()) { + QString currentLevelKey = subKey.first(); + QStringList parentKey = subKey.mid(1); + Trie *parent = walkTo(parentKey, false); + Q_ASSERT(parent); + QStringList::iterator iterator; + iterator = qBinaryFind(parent->childrenKeys.begin(), + parent->childrenKeys.end(), + currentLevelKey); + Q_ASSERT(iterator != parent->childrenKeys.end()); + int index = iterator - parent->childrenKeys.begin(); + parent->children.removeAt(index); + parent->childrenKeys.removeAt(index); + + node = parent; + subKey = parentKey; + } + return removed; + } + return false; +} + +template +QList Trie::find(const QStringList &key) const { +#if defined(TRIE_DEBUG) + qDebug() << "Trie::" << __FUNCTION__ << key; +#endif + const Trie *node = walkTo(key); + if (node) + return node->values; + return QList(); +} + +template +QList Trie::all() const { +#if defined(TRIE_DEBUG) + qDebug() << "Trie::" << __FUNCTION__; +#endif + QList all = values; + for (int i = 0; i < children.count(); ++i) + all += children[i].all(); + return all; +} + +template +QDataStream &operator<<(QDataStream &out, const Trie&trie) { + out << trie.values; + out << trie.childrenKeys; + out << trie.children; + Q_ASSERT(trie.childrenKeys.count() == trie.children.count()); + return out; +} + +template +QDataStream &operator>>(QDataStream &in, Trie &trie) { + trie.clear(); + in >> trie.values; + in >> trie.childrenKeys; + in >> trie.children; + Q_ASSERT(trie.childrenKeys.count() == trie.children.count()); + return in; +} + +// Very fast const walk +template +const Trie* Trie::walkTo(const QStringList &key) const { + const Trie *node = this; + QStringList::const_iterator childIterator; + QStringList::const_iterator begin, end; + + int depth = key.count() - 1; + while (depth >= 0) { + const QString currentLevelKey = key.at(depth--); + begin = node->childrenKeys.constBegin(); + end = node->childrenKeys.constEnd(); + childIterator = qBinaryFind(begin, end, currentLevelKey); + if (childIterator == end) + return 0; + node = &node->children.at(childIterator - begin); + } + return node; +} + +template +Trie* Trie::walkTo(const QStringList &key, bool create) { + QStringList::iterator iterator; + Trie *node = this; + QStringList::iterator begin, end; + int depth = key.count() - 1; + while (depth >= 0) { + const QString currentLevelKey = key.at(depth--); + begin = node->childrenKeys.begin(); + end = node->childrenKeys.end(); + iterator = qBinaryFind(begin, end, currentLevelKey); +#if defined(TRIE_DEBUG) + qDebug() << "\t" << node << key << currentLevelKey << node->childrenKeys; +#endif + int index = -1; + if (iterator == end) { + if (!create) + return 0; + iterator = qLowerBound(begin, + end, + currentLevelKey); + index = iterator - begin; + node->childrenKeys.insert(iterator, currentLevelKey); + node->children.insert(index, Trie()); + } else { + index = iterator - begin; + } + Q_ASSERT(index >= 0 && index < node->children.count()); + node = &node->children[index]; + } + return node; +} + +#endif + diff --git a/src/cookiejar/networkcookiejar/twoleveldomains_p.h b/src/cookiejar/networkcookiejar/twoleveldomains_p.h new file mode 100644 index 00000000..d3726d47 --- /dev/null +++ b/src/cookiejar/networkcookiejar/twoleveldomains_p.h @@ -0,0 +1,103 @@ +/* + Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/ +*/ + +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Torch Mobile Inc. (http://www.torchmobile.com/) code + * + * The Initial Developer of the Original Code is: + * Benjamin Meyer (benjamin.meyer@torchmobile.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// Updated from https://wiki.mozilla.org/TLD_List#External_Links +// To set a custom list use NetworkCookieJar::setSecondLevelDomains() +static const char *const twoLevelDomains[] = { + "ao", + "ar", + "arpa", + "bd", + "bn", + "br", + "co", + "cr", + "cy", + "do", + "eg", + "et", + "fj", + "fk", + "gh", + "gn", + "gu", + "id", + "il", + "jm", + "ke", + "kh", + "ki", + "kw", + "kz", + "lb", + "lc", + "lr", + "ls", + "ml", + "mm", + "mv", + "mw", + "mx", + "my", + "ng", + "ni", + "np", + "nz", + "om", + "pa", + "pe", + "pg", + "pw", + "py", + "qa", + "sa", + "sb", + "sv", + "sy", + "th", + "tn", + "tz", + "uk", + "uy", + "va", + "ve", + "ye", + "yu", + "za", + "zm", + "zw", + 0 +}; From 1ec1896311386dda8cfce785ea70e4a6c8c58017 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sun, 18 Jan 2009 23:38:49 +0100 Subject: [PATCH 0296/1254] Refined drag & drop handling in bookmarks toolbar (fixed a bug, when page was assigned to inappropriate folder due to more than one folder having same name. --- src/bookmarks.cpp | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index a10874c4..878bee27 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -992,27 +992,30 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) const QMimeData *mimeData = event->mimeData(); if (mimeData->hasUrls() && mimeData->hasText()) { QList urls = mimeData->urls(); - QAction *action = actionAt(event->pos()); - QString dropText; - if (action) - dropText = action->text(); + QString title = mimeData->text(); + QUrl url = urls.at(0); + + if (url.isEmpty()) { + QToolBar::dropEvent(event); + return; + } + + if (title.isEmpty()) { + title = url.toString(); + } + int row = -1; QModelIndex parentIndex = m_root; - for (int i = 0; i < m_bookmarksModel->rowCount(m_root); ++i) { - QModelIndex idx = m_bookmarksModel->index(i, 0, m_root); - QString title = idx.data().toString(); - if (title == dropText) { - row = i; - if (m_bookmarksModel->hasChildren(idx)) { - parentIndex = idx; - row = -1; - } - break; - } + QToolButton* target = qobject_cast(childAt(event->pos())); + + if (target && target->menu()) { + ModelMenu *menu = qobject_cast(target->menu()); + parentIndex = menu->rootIndex(); } + BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark); - bookmark->url = urls.at(0).toString(); - bookmark->title = mimeData->text(); + bookmark->url = url.toString(); + bookmark->title = title; BookmarkNode *parent = m_bookmarksModel->node(parentIndex); BookmarksManager *bookmarksManager = m_bookmarksModel->bookmarksManager(); From 3e143549a706631a612bce95052c7b3228353407 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 20 Jan 2009 00:25:28 -0500 Subject: [PATCH 0297/1254] encode urls rather then toString --- src/bookmarks.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 878bee27..bceed747 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -1001,7 +1001,7 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) } if (title.isEmpty()) { - title = url.toString(); + title = url.toEncoded(); } int row = -1; @@ -1014,7 +1014,7 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) } BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark); - bookmark->url = url.toString(); + bookmark->url = url.toEncoded(); bookmark->title = title; BookmarkNode *parent = m_bookmarksModel->node(parentIndex); From 11976cc86edd6510127207d3e9a164f430b2c48e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Tue, 20 Jan 2009 00:25:46 -0500 Subject: [PATCH 0298/1254] encode urls rather then toString --- src/bookmarks.cpp | 4 ++-- src/browsermainwindow.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index bceed747..09e367be 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -1001,7 +1001,7 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) } if (title.isEmpty()) { - title = url.toEncoded(); + title = QLatin1String(url.toEncoded()); } int row = -1; @@ -1014,7 +1014,7 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) } BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark); - bookmark->url = url.toEncoded(); + bookmark->url = QLatin1String(url.toEncoded()); bookmark->title = title; BookmarkNode *parent = m_bookmarksModel->node(parentIndex); diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 77baae22..1762a079 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -636,7 +636,7 @@ void BrowserMainWindow::slotShowBookmarksDialog() void BrowserMainWindow::slotAddBookmark() { WebView *webView = currentTab(); - QString url = webView->url().toString(); + QString url = QLatin1String(webView->url().toEncoded()); QString title = webView->title(); AddBookmarkDialog dialog(url, title); dialog.exec(); From afbc7abcdaa20d460d9e7c9075ef38be995f093e Mon Sep 17 00:00:00 2001 From: Janusz Lewandowski Date: Thu, 22 Jan 2009 21:04:45 +0100 Subject: [PATCH 0299/1254] Fixed compilation on Qt 4.4 (broken by icefox in 7aafe7dbea719825ea4ed2fd652f846db14c48d7) --- src/cookiejar/cookiedialog.cpp | 1 + src/cookiejar/cookieexceptionsdialog.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/cookiejar/cookiedialog.cpp b/src/cookiejar/cookiedialog.cpp index 23f438fa..45ef34cd 100644 --- a/src/cookiejar/cookiedialog.cpp +++ b/src/cookiejar/cookiedialog.cpp @@ -64,6 +64,7 @@ #include #include +#include #include "cookiemodel.h" diff --git a/src/cookiejar/cookieexceptionsdialog.cpp b/src/cookiejar/cookieexceptionsdialog.cpp index 3c105a5d..33260d14 100644 --- a/src/cookiejar/cookieexceptionsdialog.cpp +++ b/src/cookiejar/cookieexceptionsdialog.cpp @@ -64,6 +64,7 @@ #include +#include #include #include "cookiemodel.h" #include "cookiejar.h" From 1dd01b55fee63a31d4c59340aeeb0184dcbfb92c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 23 Jan 2009 23:52:50 -0500 Subject: [PATCH 0300/1254] When using foreach try to use a const reference so a copy isn't made (slower) compared to the reference (faster). --- src/bookmarks.cpp | 2 +- src/browsermainwindow.cpp | 2 +- src/explorerstyle.cpp | 2 +- src/languagemanager.cpp | 2 +- tools/cacheinfo/main.cpp | 2 +- tools/htmlToXBel/main.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 09e367be..898799a9 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -592,7 +592,7 @@ QMimeData *BookmarksModel::mimeData(const QModelIndexList &indexes) const QMimeData *mimeData = new QMimeData(); QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); - foreach (QModelIndex index, indexes) { + foreach (const QModelIndex &index, indexes) { if (index.column() != 0 || !index.isValid()) continue; QByteArray encodedData; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 1762a079..e8b0b266 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -723,7 +723,7 @@ QUrl BrowserMainWindow::guessUrlFromString(const QString &string) bool hasSchema = test.exactMatch(urlStr); if (hasSchema) { bool isAscii = true; - foreach (QChar c, urlStr) { + foreach (const QChar &c, urlStr) { if (c >= 0x80) { isAscii = false; break; diff --git a/src/explorerstyle.cpp b/src/explorerstyle.cpp index 16a2db01..c3e48ffd 100644 --- a/src/explorerstyle.cpp +++ b/src/explorerstyle.cpp @@ -94,7 +94,7 @@ void ExplorerStyle::drawPrimitive(PrimitiveElement element, const QStyleOption * //We need the bounding rect for all toolbars QList toolbars = qFindChildren(window); - foreach(QToolBar *tb, toolbars) { + foreach(const QToolBar *tb, toolbars) { if (!tb->isFloating()) { QRect rect(tb->mapToParent(tb->rect().topLeft()), tb->rect().size()); if (window->toolBarArea(tb) == Qt::TopToolBarArea) diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index ef35f17c..7febc288 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -135,7 +135,7 @@ void LanguageManager::chooseNewLanguage() QStringList items; int defaultItem = -1; QString current = currentLanguage(); - foreach (const QString name, m_languages) { + foreach (const QString &name, m_languages) { QLocale locale(name); QString string = QString(QLatin1String("%1, %2 (%3) %4")) .arg(QLocale::languageToString(locale.language())) diff --git a/tools/cacheinfo/main.cpp b/tools/cacheinfo/main.cpp index 8393def5..6ef1c7ec 100644 --- a/tools/cacheinfo/main.cpp +++ b/tools/cacheinfo/main.cpp @@ -97,7 +97,7 @@ int main(int argc, char **argv) stream << "Last Modified Date: " << metaData.lastModified().toString() << endl; stream << "Save to disk: " << metaData.saveToDisk() << endl; stream << "Headers:" << endl; - foreach(QNetworkCacheMetaData::RawHeader header, metaData.rawHeaders()) + foreach(const QNetworkCacheMetaData::RawHeader &header, metaData.rawHeaders()) stream << "\t" << header.first << ": " << header.second << endl; QIODevice *device = diskCache.data(metaData.url()); if (device) { diff --git a/tools/htmlToXBel/main.cpp b/tools/htmlToXBel/main.cpp index 702730c6..fe271fca 100644 --- a/tools/htmlToXBel/main.cpp +++ b/tools/htmlToXBel/main.cpp @@ -43,7 +43,7 @@ int main(int argc, char **argv) bool setOutput = false; QStringList args = application.arguments(); args.pop_front(); - foreach (QString arg, args) { + foreach (const QString &arg, args) { if (arg == QLatin1String("-o")) { setOutput = true; } else if (setOutput) { From f3853beb2f2c311e4f4a72df175371126baeb8fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Fri, 23 Jan 2009 15:27:17 +0100 Subject: [PATCH 0301/1254] =?UTF-8?q?Updated=20cs=5FCZ=20translation=20Sig?= =?UTF-8?q?ned-off-by:=20Jakub=20Lu=C5=BEn=C3=BD=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/cs_CZ.ts | 560 ++++++++++++++++++++++++++------------------ 1 file changed, 332 insertions(+), 228 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index dcfe4d9e..45f0470b 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -23,15 +23,6 @@ Lightweight WebKit-based web browser Lehk媒 webov媒 prohl铆啪e膷 zalo啪en媒 na WebKitu - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - <a href="http://arora-browser.org">http://arora-browser.org</a> @@ -42,6 +33,15 @@ p, li { white-space: pre-wrap; } Close Zav艡铆t + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + AddBookmarkDialog @@ -59,17 +59,17 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open Otev艡铆t - + Delete Smazat - + New Folder Nov谩 slo啪ka @@ -89,7 +89,7 @@ p, li { white-space: pre-wrap; } P艡idat slo啪ku - + Open in New Tab Otev艡铆t v nov茅m panelu @@ -184,7 +184,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Z谩lo啪ky @@ -192,112 +192,117 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Je otev艡eno %1 oken a %2 panel暖 P艡esto ukon膷it? - + Restore failed Obnoven铆 selhalo - + The saved session will not be restored because Arora crashed while trying to restore this session. Ulo啪en谩 relace nebude obnovena, proto啪e Arora spadla p艡i pokusu o jej铆 obnoven铆. + + + (Change: %1 %2) + (Revize: %1 %2) + BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... - + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t @@ -317,32 +322,32 @@ P艡esto ukon膷it? P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit @@ -367,123 +372,123 @@ P艡esto ukon膷it? Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 @@ -498,12 +503,12 @@ P艡esto ukon膷it? Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora @@ -519,22 +524,22 @@ P艡esto ukon膷it? Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? @@ -544,54 +549,54 @@ P艡esto ukon膷it? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 Page Source of %1 - Zdrojov媒 k贸d str谩nky %1 + Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data @@ -602,17 +607,17 @@ Do you want to reload all pages? <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Show Bookmarks Bar Zobrazit panel z谩lo啪ek - + Hide Bookmarks Bar Skr媒t panel z谩lo啪ek @@ -622,7 +627,7 @@ Do you want to reload all pages? Naj铆&t dal拧铆 - + Find P&revious Naj铆t &p艡edchoz铆 @@ -632,35 +637,45 @@ Do you want to reload all pages? P艡ed&volby - + &Reload Page O&bnovit str谩nku - + Make Text &Bigger Z&v臎t拧it text - + Make Text &Normal &Norm谩ln铆 velikost textu - + Make Text &Smaller Z&men拧it text - + Find Nex&t Naj铆&t dal拧铆 - + Prefere&nces... P艡ed&volby... + + + Show Menu Bar + Zobrazit menu + + + + Switch application language + P艡epnout jazyk aplikace + ClearButton @@ -673,32 +688,32 @@ Do you want to reload all pages? ClearPrivateData - + Clear Private Data Vy膷istit soukrom谩 data - + Clear the following items: Vy膷istit tyto polo啪ky: - + &Browsing History &Historie prohl铆啪en铆 - + &Download History Historie &stahov谩n铆 - + &Search History Historie hled谩n铆 - + &Cookies &Cookies @@ -708,22 +723,22 @@ Do you want to reload all pages? Vyrovn谩vac铆 &pam臎钮 - + Website &Icons Ikony str谩nek - + Clear &Private Data Vy膷istit soukrom谩 data - + &Cancel Zru拧it - + C&ached Web Pages Str谩nky v &cache @@ -731,7 +746,7 @@ Do you want to reload all pages? CookieExceptionsModel - + Website Adresa @@ -741,22 +756,22 @@ Do you want to reload all pages? Stav - + Allow Povoleno - + Block Blokovat - + Allow For Session Povolit pro relaci - + Rule Pravidlo @@ -764,42 +779,42 @@ Do you want to reload all pages? CookieModel - + Website Adresa - + Name Jm茅no - + Path Cesta - + Secure Zabezpe膷en茅 - + Expires Vypr拧铆 - + Contents Obsah - + true - + false @@ -807,17 +822,17 @@ Do you want to reload all pages? CookiesDialog - + Cookies Cookies - + &Remove &Smazat - + Remove &All Cookies Smazat &v拧e @@ -825,47 +840,47 @@ Do you want to reload all pages? CookiesExceptionsDialog - + Cookie Exceptions V媒jimky pro cookies - + New Exception Nov谩 v媒jimka - + Domain: Dom茅na: - + Block Blokovat - + Allow For Session Povolit pro relaci - + Allow Povolit - + Exceptions V媒jimky - + &Remove &Smazat - + Remove &All Smazat &v拧e @@ -926,12 +941,12 @@ Do you want to reload all pages? Otev艡铆t - + Save File Ulo啪it soubor - + Download canceled: %1 Stahov谩n铆 zru拧eno: %1 @@ -941,17 +956,17 @@ Do you want to reload all pages? Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 - + Error saving: %1 Chyba p艡i ukl谩d谩n铆: %1 - + Network Error: %1 Chyba s铆t臎: %1 - + seconds sekund @@ -966,37 +981,37 @@ Do you want to reload all pages? - %4 %5 zb媒v谩 - + %1 of %2 (%3/sec) %4 %1 z %2 (%3/s) %4 - + ? - + %1 of %2 - Stopped %1 z %2 - Zastaveno - + bytes bajt暖 - + kB - + MB - + - %n minutes remaining - %n minuta zb媒v谩 @@ -1005,7 +1020,7 @@ Do you want to reload all pages? - + - %n seconds remaining - %n sekunda zb媒v谩 @@ -1014,7 +1029,7 @@ Do you want to reload all pages? - + Error opening output file: %1 Chyba p艡i otev铆r谩n铆 v媒stupn铆ho souboru: %1 @@ -1032,7 +1047,7 @@ Do you want to reload all pages? %1 stahov谩n铆 - + %n Download(s) %n stahov谩n铆 @@ -1044,17 +1059,17 @@ Do you want to reload all pages? HistoryDialog - + Open Otev艡铆t - + Copy Kop铆rovat - + Delete Smazat @@ -1077,22 +1092,22 @@ Do you want to reload all pages? HistoryMenu - + Show All History Zobrazit v拧echnu historii - + Clear History Vy膷istit historii - + Clear History... Vy膷istit historii... - + Do you want to clear the history? Chce拧 smazat historii? @@ -1100,12 +1115,12 @@ Do you want to reload all pages? HistoryModel - + Title Titulek - + Address Adresa @@ -1113,7 +1128,7 @@ Do you want to reload all pages? HistoryTreeModel - + Earlier Today D艡铆ve dnes @@ -1123,7 +1138,7 @@ Do you want to reload all pages? %1 polo啪ek - + %n item(s) %n polo啪ka @@ -1132,20 +1147,38 @@ Do you want to reload all pages? + + LanguageManager + + + Default + V媒choz铆 + + + + Choose language + Vyber jazyk + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>Arora m暖啪e pou啪铆vat jin媒 jazyk, ne啪<br>je v媒choz铆 opera膷n铆ho syst茅mu.</p><p>Pros铆m vyber, kter媒 jazyk m谩 b媒t pou啪it</p> + + NetworkAccessManager - + <qt>Enter username and password for "%1" at %2</qt> <qt>Napi拧 u啪ivatelsk茅 jm茅no a heslo pro "%1" na %2</qt> - + <qt>Connect to proxy "%1" using:</qt> <qt>P艡ipojit k proxy "%1" pou啪it铆m:</qt> - + SSL Errors: %1 @@ -1162,7 +1195,7 @@ Do you want to ignore these errors? Chce拧 ignorovat tyto chyby? - + Do you want to accept all these certificates? Chce拧 p艡ijmout v拧echny tyto certifik谩ty? @@ -1195,6 +1228,14 @@ Chce拧 ignorovat tyto chyby? Heslo: + + PlainTextEditSearch + + + Not Found + Nenalezeno + + ProxyDialog @@ -1290,42 +1331,42 @@ Chce拧 ignorovat tyto chyby? Domov: - + Set to current page Nastav na aktu谩ln铆 str谩nku - + Remove history items: Odstranit polo啪ky historie: - + After one day Po jednom dni - + After one week Po jednom t媒dnu - + After two weeks Po dvou t媒dnech - + After one month Po m臎s铆ci - + After one year Po roce - + Manually Ru膷n臎 @@ -1335,97 +1376,97 @@ Chce拧 ignorovat tyto chyby? Ulo啪it stahov谩n铆 do: - + Open links from applications: Otev艡铆t odkazy z aplikac铆: - + In a tab in the current window V panelu v aktu谩ln铆m okn臎 - + In a new window V nov茅m okn臎 - + Appearance Vzhled - + Standard font: Standardn铆 p铆smo: - + Times 16 Times 16 - + Select... Vybrat... - + Fixed-width font: P铆smo s pevnou 拧铆艡kou: - + Courier 13 Courier 13 - + Privacy Soukrom铆 - + Web Content Obsah webu - + Enable Plugins Povolit plug-iny - + Enable Javascript Povolit JavaScript - + Cookies Cookies - + Accept Cookies: P艡ij铆mat cookies: - + Always V啪dy - + Never Nikdy - + Only from sites you navigate to Pouze z nav拧t铆ven媒ch str谩nek - + Exceptions... V媒jimky... @@ -1435,27 +1476,27 @@ Chce拧 ignorovat tyto chyby? Uchovat dokud: - + They expire Vypr拧铆 - + I exit the application Ukon膷en铆 aplikace - + At most 90 days Maxim谩ln臎 90 dn铆 - + Cookies... Cookies... - + Proxy Proxy @@ -1465,17 +1506,17 @@ Chce拧 ignorovat tyto chyby? Povolit proxy - + Type: Typ: - + Socks5 Socks5 - + Http Http @@ -1485,47 +1526,47 @@ Chce拧 ignorovat tyto chyby? Server: - + Port: Port: - + User Name: U啪ivatelsk茅 jm茅no: - + Password: Heslo: - + Advanced Roz拧铆艡en茅 - + Style Sheet: CSS styl: - + Downloads Stahov谩n铆 - + Ask for a destination each time V啪dy se pt谩t na um铆st臎n铆 stahov谩n铆 - + Use this destination: Pou啪铆t toto um铆st臎n铆: - + On application exit P艡i ukon膷en铆 aplikace @@ -1535,17 +1576,17 @@ Chce拧 ignorovat tyto chyby? Povolit obr谩zky - + Tabs Panely - + Select tabs and windows as they are created P艡ep铆nat na okna nebo panely, kdy啪 jsou vytvo艡eny - + Confirm when closing multiple tabs Vy啪adovat potvrzen铆 p艡i zav铆r谩n铆 v铆ce panel暖 @@ -1580,25 +1621,63 @@ Chce拧 ignorovat tyto chyby? Domovsk谩 str谩nka: - + View Images Zobrazit obr谩zky - + Keep Cookies Until: Ponechat cookies dokud: - + Use proxy server Pou啪铆t proxy server - + Host name: Jm茅no hostitele: + + + Show only one close button instead of one for each tab + Zobrazit pouze jedno zav铆rac铆 tla膷铆tko m铆sto jednoho pro ka啪d媒 panel + + + + SourceViewer + + + Loading... + Na膷铆t谩m... + + + + &Edit + 脷pr&avy + + + + &Find + Na&j铆t + + + + &View + &Zobrazit + + + + &Wrap lines + Za&lamovat 艡谩dky + + + + Source of Page + Zdrojov媒 k贸d str谩nky + TabBar @@ -1646,42 +1725,42 @@ Chce拧 ignorovat tyto chyby? TabWidget - + New &Tab &Nov媒 panel - + &Close Tab &Zav艡铆t panel - + Show Next Tab Zobrazit dal拧铆 panel - + Show Previous Tab Zobrazit p艡edchoz铆 panel - + Recently Closed Tabs Posledn臎 zav艡en茅 panely (Untitled) - (Bez titulku) + (Bez titulku) - + Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1689,6 +1768,11 @@ Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? + + + Untitled + Bez n谩zvu + ToolbarSearch @@ -1711,10 +1795,30 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? WebPage - + Error loading page: %1 Chyba p艡i na膷铆t谩n铆 str谩nky: %1 + + + When connecting to: %1. + P艡i p艡ipojov谩n铆 k: %1. + + + + Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. + Zkontroluj adresu na chyby jako <b>ww</b>.trolltech.com m铆sto <b>www</b>.trolltech.com. + + + + If the address is correct, try to check the network connection. + Pokud je adresa spr谩vn谩, zkontroluj s铆钮ov茅 p艡ipojen铆. + + + + If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. + Pokud je tv暖j po膷铆ta膷 nebo tv谩 s铆钮 chr谩n臎na firewallem nebo proxy, ujisti se, 啪e je prohl铆啪e膷i povolen p艡铆stup k s铆ti. + WebView @@ -1724,57 +1828,57 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? Otev艡铆t v nov茅m panelu - + Open in New &Window Otev艡铆t v nov茅m okn臎 - + Open in New &Tab Otev艡铆t v &nov茅m panelu - + Save Lin&k Ulo啪it o&dkaz - + &Bookmark This Link &Vytvo艡it z谩lo啪ku pro tento odkaz - + &Copy Link Location &Kop铆rovat adresu odkazu - + Open Image in New &Window Otev艡铆t obr谩zek v nov茅m okn臎 - + Open Image in New &Tab Otev艡铆t obr谩zek v nov茅m panelu - + &Save Image Ulo啪it obr谩zek - + &Copy Image Kop铆rovat o&br谩zek - + C&opy Image Location Kop铆rovat adresu ob&r谩zku - + Loading... Na膷铆t谩m... @@ -1782,7 +1886,7 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? WebViewSearch - + Not Found Neexistuje From cace39bf93ffe07d281498a1445a2e3aa8f48889 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 24 Jan 2009 00:18:10 -0500 Subject: [PATCH 0302/1254] merge upstream patches --- src/cookiejar/networkcookiejar/networkcookiejar.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cookiejar/networkcookiejar/networkcookiejar.cpp b/src/cookiejar/networkcookiejar/networkcookiejar.cpp index 1d49cfd3..d2ca7f8e 100644 --- a/src/cookiejar/networkcookiejar/networkcookiejar.cpp +++ b/src/cookiejar/networkcookiejar/networkcookiejar.cpp @@ -180,7 +180,7 @@ void NetworkCookieJar::endSession() QList::const_iterator i = cookies.constBegin(); for (; i != cookies.constEnd();) { if (i->isSessionCookie() - || !i->isSessionCookie() && now > i->expirationDate()) { + || (!i->isSessionCookie() && now > i->expirationDate())) { d->tree.remove(splitHost(i->domain()), *i); } ++i; @@ -266,7 +266,7 @@ void NetworkCookieJar::setAllCookies(const QList &cookieList) qDebug() << "NetworkCookieJar::" << __FUNCTION__ << cookieList.count(); #endif d->tree.clear(); - foreach (QNetworkCookie cookie, cookieList) { + foreach (const QNetworkCookie &cookie, cookieList) { QString domain = cookie.domain(); d->tree.insert(splitHost(domain), cookie); } From 59e3a4af54f80ab8ff1aedbd2498c98959d377ae Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sat, 24 Jan 2009 00:25:56 -0500 Subject: [PATCH 0303/1254] Add index function that will return a index stored in a QAction if there is one otherwise returns an invalid QModelIndex --- src/modelmenu.cpp | 21 ++++++++++++++------- src/modelmenu.h | 1 + 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index 0b0ff320..8c2123f0 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -151,9 +151,8 @@ Q_DECLARE_METATYPE(QModelIndex) void ModelMenu::aboutToShow() { if (QMenu *menu = qobject_cast(sender())) { - QVariant v = menu->menuAction()->data(); - if (v.canConvert()) { - QModelIndex idx = qvariant_cast(v); + QModelIndex idx = index(menu->menuAction()); + if (idx.isValid()) { createMenu(idx, -1, menu, menu); disconnect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow())); return; @@ -232,10 +231,18 @@ QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject * void ModelMenu::triggered(QAction *action) { - QVariant v = action->data(); - if (v.canConvert()) { - QModelIndex idx = qvariant_cast(v); + QModelIndex idx = index(action); + if (idx.isValid()) emit activated(idx); - } } +QModelIndex ModelMenu::index(QAction *action) +{ + if (!action) + return QModelIndex(); + QVariant variant = action->data(); + if (!variant.canConvert()) + return QModelIndex(); + + return qvariant_cast(variant); +} \ No newline at end of file diff --git a/src/modelmenu.h b/src/modelmenu.h index a5dd4612..fa1c80ab 100644 --- a/src/modelmenu.h +++ b/src/modelmenu.h @@ -96,6 +96,7 @@ class ModelMenu : public QMenu int separatorRole() const; QAction *makeAction(const QIcon &icon, const QString &text, QObject *parent); + QModelIndex index(QAction *action); protected: // add any actions before the tree, return true if any actions are added. From e17a094fb9ed4db342ed968fdcbf49f3a8580265 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 02:12:35 -0500 Subject: [PATCH 0304/1254] Add drag functions to modelmenu --- src/modelmenu.cpp | 30 +++++++++++++++++++++++++++++- src/modelmenu.h | 4 ++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/modelmenu.cpp b/src/modelmenu.cpp index 8c2123f0..a7316346 100644 --- a/src/modelmenu.cpp +++ b/src/modelmenu.cpp @@ -63,6 +63,8 @@ #include "modelmenu.h" #include +#include +#include #include @@ -245,4 +247,30 @@ QModelIndex ModelMenu::index(QAction *action) return QModelIndex(); return qvariant_cast(variant); -} \ No newline at end of file +} + +void ModelMenu::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) + m_dragStartPos = event->pos(); + QMenu::mousePressEvent(event); +} + +void ModelMenu::mouseMoveEvent(QMouseEvent *event) +{ + if ((event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance()) { + QAction *action = actionAt(event->pos()); + QModelIndex idx = index(action); + if (event->buttons() == Qt::LeftButton + && idx.isValid() + && !m_model->hasChildren(idx)) { + QDrag *drag = new QDrag(this); + drag->setMimeData(m_model->mimeData((QModelIndexList() << idx))); + QRect actionRect = actionGeometry(action); + drag->setPixmap(QPixmap::grabWidget(this, actionRect)); + drag->exec(); + } + } + QMenu::mouseMoveEvent(event); +} + diff --git a/src/modelmenu.h b/src/modelmenu.h index fa1c80ab..c6a5e609 100644 --- a/src/modelmenu.h +++ b/src/modelmenu.h @@ -106,6 +106,9 @@ class ModelMenu : public QMenu // put all of the children of parent into menu up to max void createMenu(const QModelIndex &parent, int max, QMenu *parentMenu = 0, QMenu *menu = 0); + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + private slots: void aboutToShow(); void triggered(QAction *action); @@ -119,6 +122,7 @@ private slots: int m_separatorRole; QAbstractItemModel *m_model; QPersistentModelIndex m_root; + QPoint m_dragStartPos; }; #endif // MODELMENU_H From 6a58bfb1ada10657196bf73364f8f5716bb78691 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 02:22:41 -0500 Subject: [PATCH 0305/1254] Implement mimeData for the history menu model --- src/history.cpp | 13 +++++++++++++ src/history.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/history.cpp b/src/history.cpp index 161e24c6..1217c549 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -77,6 +77,7 @@ #include #include #include +#include #include #include @@ -613,6 +614,18 @@ QModelIndex HistoryMenuModel::parent(const QModelIndex &index) const return createIndex(bumpedItems + treeIndexParent.row(), treeIndexParent.column(), sr); } +QMimeData *HistoryMenuModel::mimeData(const QModelIndexList &indexes) const +{ + QMimeData *mimeData = new QMimeData; + QList urls; + foreach(const QModelIndex &idx, indexes) { + QUrl url = idx.data(HistoryModel::UrlRole).toUrl(); + urls.append(url); + } + mimeData->setUrls(urls); + return mimeData; +} + HistoryMenu::HistoryMenu(QWidget *parent) : ModelMenu(parent) diff --git a/src/history.h b/src/history.h index f6d1be49..b41d6bb7 100644 --- a/src/history.h +++ b/src/history.h @@ -245,6 +245,7 @@ class HistoryMenuModel : public QAbstractProxyModel QModelIndex mapToSource(const QModelIndex & proxyIndex) const; QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index = QModelIndex()) const; + QMimeData *mimeData(const QModelIndexList &indexes) const; int bumpedRows() const; From dcce3e32106fac0afcc4678b23331cde98995bcd Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 02:53:17 -0500 Subject: [PATCH 0306/1254] Also set the urls in the bookmarks mime data --- src/bookmarks.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 898799a9..242b379c 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -592,6 +592,7 @@ QMimeData *BookmarksModel::mimeData(const QModelIndexList &indexes) const QMimeData *mimeData = new QMimeData(); QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); + QList urls; foreach (const QModelIndex &index, indexes) { if (index.column() != 0 || !index.isValid()) continue; @@ -602,8 +603,10 @@ QMimeData *BookmarksModel::mimeData(const QModelIndexList &indexes) const const BookmarkNode *parentNode = node(index); writer.write(&buffer, parentNode); stream << encodedData; + urls.append(index.data(BookmarksModel::UrlRole).toUrl()); } mimeData->setData(MIMETYPE, data); + mimeData->setUrls(urls); return mimeData; } From b81542d7437c1d7901c9989502b93c4dcb14daf8 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Sat, 10 Jan 2009 00:21:08 +0100 Subject: [PATCH 0307/1254] QAbstractItemView::ExtendedSelection in bookmarks manager tree which allows user to choose multiple bookmarks with CTRL pressed. --- src/bookmarks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 242b379c..0bc0c3a8 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -822,7 +822,7 @@ BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager) tree->setUniformRowHeights(true); tree->setSelectionBehavior(QAbstractItemView::SelectRows); - tree->setSelectionMode(QAbstractItemView::ContiguousSelection); + tree->setSelectionMode(QAbstractItemView::ExtendedSelection); tree->setTextElideMode(Qt::ElideMiddle); m_bookmarksModel = m_bookmarksManager->bookmarksModel(); m_proxyModel = new TreeProxyModel(this); From 68a06a0b95170a3a55d918521de735d1e10b42e8 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Tue, 13 Jan 2009 23:40:44 +0100 Subject: [PATCH 0308/1254] Open pages from autocompletion list directly instead of filling the bar with their addresses. --- src/tabwidget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index f7b1a550..214d4bc3 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -442,6 +442,7 @@ WebView *TabWidget::makeNewTab(bool makeCurrent) HistoryCompletionModel *completionModel = new HistoryCompletionModel(this); completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel()); m_lineEditCompleter = new QCompleter(completionModel, this); + connect(m_lineEditCompleter, SIGNAL(activated(QString)), mainWindow(), SLOT(loadPage(QString))); // Should this be in Qt by default? QAbstractItemView *popup = m_lineEditCompleter->popup(); QListView *listView = qobject_cast(popup); From 636d994948b0c433157010362bb9530e44c61f39 Mon Sep 17 00:00:00 2001 From: LEW21 Date: Thu, 22 Jan 2009 22:51:27 +0100 Subject: [PATCH 0309/1254] Added support for renaming bookmarks through their context menus. --- src/bookmarks.cpp | 6 ++++++ src/bookmarks.h | 1 + src/edittreeview.h | 2 ++ 3 files changed, 9 insertions(+) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 0bc0c3a8..e90b240a 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -898,6 +898,7 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) if (index.isValid() && node->type() != BookmarkNode::Folder) { menu.addAction(tr("Open"), this, SLOT(openInCurrentTab())); menu.addAction(tr("Open in New Tab"), this, SLOT(openInNewTab())); + menu.addAction(tr("Rename"), this, SLOT(rename())); menu.addSeparator(); } QAction *deleteAction = menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); @@ -928,6 +929,11 @@ void BookmarksDialog::openInNewTab() open(TabWidget::NewTab); } +void BookmarksDialog::rename() +{ + tree->edit(tree->currentIndex()); +} + void BookmarksDialog::newFolder() { QModelIndex currentIndex = tree->currentIndex(); diff --git a/src/bookmarks.h b/src/bookmarks.h index daaab812..e29536ad 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -308,6 +308,7 @@ private slots: void open(TabWidget::Tab tab); void openInNewTab(); void openInCurrentTab(); + void rename(); void newFolder(); private: diff --git a/src/edittreeview.h b/src/edittreeview.h index d62e76fb..50ff5dde 100644 --- a/src/edittreeview.h +++ b/src/edittreeview.h @@ -76,6 +76,8 @@ class EditTreeView : public QTreeView public slots: void removeSelected(); void removeAll(); + inline void edit(const QModelIndex &index) { QTreeView::edit(index); } + }; #endif // EDITTREEVIEW_H From 249d7d6ae582473eee12e78da888d517910cb27b Mon Sep 17 00:00:00 2001 From: LEW21 Date: Fri, 23 Jan 2009 17:36:56 +0100 Subject: [PATCH 0310/1254] Expanded bookmark menu - added Change URL and made Rename displayed also on folders. --- src/bookmarks.cpp | 12 +++++++++++- src/bookmarks.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index e90b240a..f73758f2 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -898,9 +898,14 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) if (index.isValid() && node->type() != BookmarkNode::Folder) { menu.addAction(tr("Open"), this, SLOT(openInCurrentTab())); menu.addAction(tr("Open in New Tab"), this, SLOT(openInNewTab())); - menu.addAction(tr("Rename"), this, SLOT(rename())); menu.addSeparator(); } + QAction *renameAction = menu.addAction(tr("Rename"), this, SLOT(rename())); + renameAction->setEnabled(index.flags() & Qt::ItemIsEditable); + if (index.isValid() && node->type() != BookmarkNode::Folder) { + menu.addAction(tr("Change URL"), this, SLOT(changeURL())); + } + menu.addSeparator(); QAction *deleteAction = menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); deleteAction->setEnabled(index.flags() & Qt::ItemIsDragEnabled); menu.exec(QCursor::pos()); @@ -934,6 +939,11 @@ void BookmarksDialog::rename() tree->edit(tree->currentIndex()); } +void BookmarksDialog::changeURL() +{ + tree->edit(tree->model()->index(tree->currentIndex().row(), 1, tree->currentIndex().parent())); +} + void BookmarksDialog::newFolder() { QModelIndex currentIndex = tree->currentIndex(); diff --git a/src/bookmarks.h b/src/bookmarks.h index e29536ad..36ed81b3 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -309,6 +309,7 @@ private slots: void openInNewTab(); void openInCurrentTab(); void rename(); + void changeURL(); void newFolder(); private: From 57dc3b9de83d61f56b924ed5e942249011bf4e90 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 04:22:34 -0500 Subject: [PATCH 0311/1254] Tweaked function names and context menu action names --- src/bookmarks.cpp | 16 ++++++++++------ src/bookmarks.h | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index f73758f2..12de1165 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -900,10 +900,11 @@ void BookmarksDialog::customContextMenuRequested(const QPoint &pos) menu.addAction(tr("Open in New Tab"), this, SLOT(openInNewTab())); menu.addSeparator(); } - QAction *renameAction = menu.addAction(tr("Rename"), this, SLOT(rename())); + menu.addSeparator(); + QAction *renameAction = menu.addAction(tr("Edit Name"), this, SLOT(editName())); renameAction->setEnabled(index.flags() & Qt::ItemIsEditable); if (index.isValid() && node->type() != BookmarkNode::Folder) { - menu.addAction(tr("Change URL"), this, SLOT(changeURL())); + menu.addAction(tr("Edit Address"), this, SLOT(editAddress())); } menu.addSeparator(); QAction *deleteAction = menu.addAction(tr("Delete"), tree, SLOT(removeSelected())); @@ -934,14 +935,17 @@ void BookmarksDialog::openInNewTab() open(TabWidget::NewTab); } -void BookmarksDialog::rename() +void BookmarksDialog::editName() { - tree->edit(tree->currentIndex()); + QModelIndex idx = tree->currentIndex(); + tree->edit(idx); } -void BookmarksDialog::changeURL() +void BookmarksDialog::editAddress() { - tree->edit(tree->model()->index(tree->currentIndex().row(), 1, tree->currentIndex().parent())); + QModelIndex idx = tree->currentIndex(); + idx = idx.sibling(idx.row(), 1); + tree->edit(idx); } void BookmarksDialog::newFolder() diff --git a/src/bookmarks.h b/src/bookmarks.h index 36ed81b3..51344286 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -308,8 +308,8 @@ private slots: void open(TabWidget::Tab tab); void openInNewTab(); void openInCurrentTab(); - void rename(); - void changeURL(); + void editName(); + void editAddress(); void newFolder(); private: From bd848891ae0aec6af7bac73e112f7ff8207c4136 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 04:42:22 -0500 Subject: [PATCH 0312/1254] Remove whitespace at the end of the line --- src/browsermainwindow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index e8b0b266..84a37810 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -343,7 +343,7 @@ bool BrowserMainWindow::restoreState(const QByteArray &state) statusBar()->setVisible(showStatusbar); updateStatusbarActionText(showStatusbar); - + m_statusBarVisible = showStatusbar; m_navigationSplitter->restoreState(splitterState); @@ -645,7 +645,7 @@ void BrowserMainWindow::slotAddBookmark() void BrowserMainWindow::slotViewMenuBar() { menuBar()->setVisible(!menuBar()->isVisible()); - + m_menuBarVisible = menuBar()->isVisible(); } @@ -976,12 +976,12 @@ void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen) { if (makeFullScreen) { setWindowState(windowState() | Qt::WindowFullScreen); - + menuBar()->hide(); statusBar()->hide(); } else { setWindowState(windowState() & ~Qt::WindowFullScreen); - + menuBar()->setVisible(m_menuBarVisible); statusBar()->setVisible(m_statusBarVisible); } From b951fa1df0635037fd2f43cf39b8513579ca3bab Mon Sep 17 00:00:00 2001 From: Richard Moore Date: Mon, 10 Nov 2008 22:20:25 +0000 Subject: [PATCH 0313/1254] - Added a network access monitor that shows each network request as it passes. --- src/browserapplication.cpp | 10 +++ src/browserapplication.h | 3 + src/browsermainwindow.cpp | 24 ++++++ src/browsermainwindow.h | 2 + src/networkaccesseditor.cpp | 161 +++++++++++++++++++++++++++++++++++ src/networkaccesseditor.h | 48 +++++++++++ src/networkaccessmanager.cpp | 30 ++++++- src/networkaccessmanager.h | 9 ++ src/networkrequests.ui | 117 +++++++++++++++++++++++++ src/src.pri | 3 + 10 files changed, 406 insertions(+), 1 deletion(-) create mode 100644 src/networkaccesseditor.cpp create mode 100644 src/networkaccesseditor.h create mode 100644 src/networkrequests.ui diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 78db069b..6083dfe7 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -69,6 +69,7 @@ #include "history.h" #include "languagemanager.h" #include "networkaccessmanager.h" +#include "networkaccesseditor.h" #include "tabwidget.h" #include "webview.h" @@ -86,6 +87,7 @@ DownloadManager *BrowserApplication::s_downloadManager = 0; HistoryManager *BrowserApplication::s_historyManager = 0; NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0; +NetworkAccessEditor *BrowserApplication::s_networkAccessEditor = 0; BookmarksManager *BrowserApplication::s_bookmarksManager = 0; LanguageManager *BrowserApplication::s_languageManager = 0; @@ -466,6 +468,14 @@ NetworkAccessManager *BrowserApplication::networkAccessManager() return s_networkAccessManager; } +NetworkAccessEditor *BrowserApplication::networkAccessEditor() +{ + if (!s_networkAccessEditor) { + s_networkAccessEditor = new NetworkAccessEditor(); + } + return s_networkAccessEditor; +} + HistoryManager *BrowserApplication::historyManager() { if (!s_historyManager) diff --git a/src/browserapplication.h b/src/browserapplication.h index dd7ef90f..ae9e22a8 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -75,6 +75,7 @@ class CookieJar; class DownloadManager; class HistoryManager; class NetworkAccessManager; +class NetworkAccessEditor; class LanguageManager; class BrowserApplication : public SingleApplication { @@ -97,6 +98,7 @@ class BrowserApplication : public SingleApplication static CookieJar *cookieJar(); static DownloadManager *downloadManager(); static NetworkAccessManager *networkAccessManager(); + static NetworkAccessEditor *networkAccessEditor(); static BookmarksManager *bookmarksManager(); static LanguageManager *languageManager(); static QString dataDirectory(); @@ -130,6 +132,7 @@ private slots: static HistoryManager *s_historyManager; static DownloadManager *s_downloadManager; static NetworkAccessManager *s_networkAccessManager; + static NetworkAccessEditor *s_networkAccessEditor; static BookmarksManager *s_bookmarksManager; static LanguageManager *s_languageManager; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 84a37810..9a2b6eef 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -72,6 +72,8 @@ #include "downloadmanager.h" #include "history.h" #include "languagemanager.h" +#include "networkaccessmanager.h" +#include "networkaccesseditor.h" #include "settings.h" #include "sourceviewer.h" #include "tabbar.h" @@ -562,6 +564,10 @@ void BrowserMainWindow::setupMenu() QKeySequence(tr("Ctrl+K", "Web Search"))); toolsMenu->addAction(tr("&Clear Private Data"), this, SLOT(slotClearPrivateData()), QKeySequence(tr("Ctrl+Shift+Delete", "Clear Private Data"))); + + QAction *networkEditorAction = toolsMenu->addAction(tr("Show &Network Requests"), this, SLOT(slotToggleNetworkAccessEditor(bool)) ); + networkEditorAction->setCheckable( true ); + #ifndef Q_CC_MINGW QAction *m_enableInspector = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); m_enableInspector->setCheckable(true); @@ -1179,3 +1185,21 @@ void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) setGeometry(geometry); } +void BrowserMainWindow::slotToggleNetworkAccessEditor( bool enabled ) +{ + NetworkAccessManager *manager = BrowserApplication::networkAccessManager(); + + if ( enabled ) { + NetworkAccessEditor *editor = BrowserApplication::networkAccessEditor(); + manager->setNetworkAccessEditor( editor ); + editor->show(); + return; + } + + NetworkAccessEditor *editor = manager->networkAccessEditor(); + if ( editor ) { + editor->hide(); + manager->setNetworkAccessEditor( 0 ); + } +} + diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index ac7e2ea0..727fb24e 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -76,6 +76,7 @@ class ToolbarSearch; class WebView; class QSplitter; class QFrame; +class QSignalMapper; /*! The MainWindow of the Browser Application. @@ -158,6 +159,7 @@ private slots: void geometryChangeRequested(const QRect &geometry); void updateToolbarActionText(bool visible); void updateBookmarksToolbarActionText(bool visible); + void slotToggleNetworkAccessEditor( bool enable ); private: void retranslate(); diff --git a/src/networkaccesseditor.cpp b/src/networkaccesseditor.cpp new file mode 100644 index 00000000..2e361e1b --- /dev/null +++ b/src/networkaccesseditor.cpp @@ -0,0 +1,161 @@ +#include +#include +#include +#include + +#include "networkaccesseditor.h" + +NetworkAccessEditor::NetworkAccessEditor() + : tamperingEnabled(false), + interactiveTamperingEnabled(false) +{ + dialog = new QDialog(); + networkRequestsDialog = new Ui::NetworkRequestsDialog; + networkRequestsDialog->setupUi(dialog); + dialog->show(); + + mapper = new QSignalMapper(this); + connect( mapper, SIGNAL(mapped(QObject *)), SLOT(requestFinished(QObject *)) ); + + connect( networkRequestsDialog->requestList, SIGNAL( currentItemChanged( QTreeWidgetItem*, QTreeWidgetItem* ) ), SLOT( showItemDetails( QTreeWidgetItem *) ) ); + connect( networkRequestsDialog->clearButton, SIGNAL( clicked() ), SLOT( clear() ) ); +} + +NetworkAccessEditor::~NetworkAccessEditor() +{ + delete networkRequestsDialog; + delete dialog; +} + +QNetworkRequest NetworkAccessEditor::tamperRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData ) +{ + if ( !tamperingEnabled) + return req; + + QNetworkRequest tampered( req ); + tampered.setRawHeader( QByteArray("Host"), QByteArray("www.needcoffee.co.uk") ); + return tampered; +} + +void NetworkAccessEditor::addRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply ) +{ + // Add to list of requests + QStringList cols; + switch( op ) { + case QNetworkAccessManager::HeadOperation: + cols << QString::fromLatin1("HEAD"); + break; + case QNetworkAccessManager::GetOperation: + cols << QString::fromLatin1("GET"); + break; + case QNetworkAccessManager::PutOperation: + cols << QString::fromLatin1("PUT"); + break; + case QNetworkAccessManager::PostOperation: + cols << QString::fromLatin1("POST"); + break; + default: + qWarning() << "Unknown network operation"; + } + cols << req.url().toString(); + cols << tr("Pending"); + + QTreeWidgetItem *item = new QTreeWidgetItem( cols ); + networkRequestsDialog->requestList->addTopLevelItem( item ); + + // Add to maps + requestMap.insert( reply, req ); + itemMap.insert( reply, item ); + itemRequestMap.insert( item, req ); + + mapper->setMapping( reply, reply ); + connect( reply, SIGNAL( finished() ), mapper, SLOT( map() ) ); +} + +void NetworkAccessEditor::show() +{ + dialog->show(); +} + +void NetworkAccessEditor::hide() +{ + dialog->hide(); +} + +void NetworkAccessEditor::clear() +{ + requestMap.clear(); + itemMap.clear(); + itemReplyMap.clear(); + itemRequestMap.clear(); + networkRequestsDialog->requestList->clear(); + networkRequestsDialog->requestDetails->clear(); + networkRequestsDialog->responseDetails->clear(); +} + +void NetworkAccessEditor::requestFinished( QObject *replyObject ) +{ + QNetworkReply *reply = qobject_cast( replyObject ); + if ( !reply ) { + qWarning() << "Failed to downcast reply"; + return; + } + + QTreeWidgetItem *item = itemMap[reply]; + + // Record the reply headers + QList headerValues; + QByteArray header; + foreach( header, reply->rawHeaderList() ) { + headerValues += reply->rawHeader( header ); + } + QPair< QList, QList > replyHeaders; + replyHeaders.first = reply->rawHeaderList(); + replyHeaders.second = headerValues; + itemReplyMap[item] = replyHeaders; + + // Display the request + int status = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); + QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); + item->setText( 2, tr("%1 %2").arg(status).arg(reason) ); + + QString length = reply->header( QNetworkRequest::ContentLengthHeader ).toString(); + item->setText( 3, length ); + + QString contentType = reply->header( QNetworkRequest::ContentTypeHeader ).toString(); + item->setText( 4, contentType ); + + if ( status == 302 ) { + QUrl target = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); + item->setText( 5, tr("Redirect: %1").arg( target.toString() ) ); + } +} + +void NetworkAccessEditor::showItemDetails( QTreeWidgetItem *item ) +{ + // Show request details + QTreeWidget *reqTree = networkRequestsDialog->requestDetails; + reqTree->clear(); + + QNetworkRequest req = itemRequestMap[item]; + QByteArray header; + foreach( header, req.rawHeaderList() ) { + QTreeWidgetItem *item = new QTreeWidgetItem(); + item->setText( 0, QString::fromLatin1( header ) ); + item->setText( 1, QString::fromLatin1( req.rawHeader( header ) ) ); + reqTree->addTopLevelItem( item ); + } + + // Show reply headers + QTreeWidget *respTree = networkRequestsDialog->responseDetails; + respTree->clear(); + + QPair< QList, QList > replyHeaders = itemReplyMap[item]; + for ( int i = 0; i < replyHeaders.first.count(); i++ ) { + QTreeWidgetItem *item = new QTreeWidgetItem(); + item->setText( 0, QString::fromLatin1( replyHeaders.first[i] ) ); + item->setText( 1, QString::fromLatin1( replyHeaders.second[i] ) ); + respTree->addTopLevelItem( item ); + } +} + diff --git a/src/networkaccesseditor.h b/src/networkaccesseditor.h new file mode 100644 index 00000000..d58a9592 --- /dev/null +++ b/src/networkaccesseditor.h @@ -0,0 +1,48 @@ +#ifndef NETWORKACCESSEDITOR_H +#define NETWORKACCESSEDITOR_H + +#include +#include +#include +#include +#include +#include + +#include "ui_networkrequests.h" + +class QDialog; +class QTreeWidgetItem; +class QSignalMapper; + +class NetworkAccessEditor : public QObject +{ + Q_OBJECT + +public: + NetworkAccessEditor(); + ~NetworkAccessEditor(); + + QNetworkRequest tamperRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData ); + void addRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply ); + + void show(); + void hide(); + +private slots: + void clear(); + void requestFinished( QObject *replyObject ); + void showItemDetails( QTreeWidgetItem *item ); + +private: + QDialog *dialog; + Ui::NetworkRequestsDialog *networkRequestsDialog; + QMap requestMap; + QMap itemRequestMap; + QMap itemMap; + QMap, QList > > itemReplyMap; + QSignalMapper *mapper; + bool tamperingEnabled; + bool interactiveTamperingEnabled; +}; + +#endif // NETWORKACCESSEDITOR_H diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 866dd8b6..ec16b1d6 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -84,8 +84,11 @@ #include #endif +#include "networkaccesseditor.h" + NetworkAccessManager::NetworkAccessManager(QObject *parent) - : QNetworkAccessManager(parent) + : QNetworkAccessManager(parent), + m_networkAccessEditor(0) { connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); @@ -106,6 +109,15 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) #endif } +void NetworkAccessManager::setNetworkAccessEditor( NetworkAccessEditor *editor ) +{ + m_networkAccessEditor = editor; +} + +NetworkAccessEditor *NetworkAccessManager::networkAccessEditor() const +{ + return m_networkAccessEditor; +} void NetworkAccessManager::loadSettings() { QSettings settings; @@ -238,3 +250,19 @@ void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QListtamperRequest( op, req, outgoingData ); + else + actual = req; + + QNetworkReply *reply = QNetworkAccessManager::createRequest( op, actual, outgoingData ); + + if ( m_networkAccessEditor ) + m_networkAccessEditor->addRequest( op, actual, outgoingData, reply ); + + return reply; +} diff --git a/src/networkaccessmanager.h b/src/networkaccessmanager.h index 05352ba9..8e032496 100644 --- a/src/networkaccessmanager.h +++ b/src/networkaccessmanager.h @@ -65,12 +65,19 @@ #include +class NetworkAccessEditor; + class NetworkAccessManager : public QNetworkAccessManager { Q_OBJECT public: NetworkAccessManager(QObject *parent = 0); + void setNetworkAccessEditor( NetworkAccessEditor *editor ); + NetworkAccessEditor *networkAccessEditor() const; + +protected: + virtual QNetworkReply * createRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData=0 ); public slots: void loadSettings(); @@ -81,6 +88,8 @@ private slots: #ifndef QT_NO_OPENSSL void sslErrors(QNetworkReply *reply, const QList &error); #endif +private: + NetworkAccessEditor *m_networkAccessEditor; }; #endif // NETWORKACCESSMANAGER_H diff --git a/src/networkrequests.ui b/src/networkrequests.ui new file mode 100644 index 00000000..87a22c84 --- /dev/null +++ b/src/networkrequests.ui @@ -0,0 +1,117 @@ + + + NetworkRequestsDialog + + + + 0 + 0 + 621 + 506 + + + + Network Requests + + + + + + Network Requests + + + + + + + &Clear + + + + + + + true + + + false + + + + Method + + + + + URL + + + + + Response + + + + + Length + + + + + Content Type + + + + + Info + + + + + + + + Request Details + + + + + + + Response Details + + + + + + + + Name + + + + + Value + + + + + + + + + Name + + + + + Value + + + + + + + + + diff --git a/src/src.pri b/src/src.pri index c9ab47e6..7fab7fae 100644 --- a/src/src.pri +++ b/src/src.pri @@ -32,6 +32,7 @@ FORMS += \ downloaditem.ui \ downloads.ui \ history.ui \ + networkrequests.ui \ passworddialog.ui \ proxy.ui \ searchbanner.ui \ @@ -51,6 +52,7 @@ HEADERS += \ locationbar_p.h \ languagemanager.h \ modelmenu.h \ + networkaccesseditor.h \ networkaccessmanager.h \ plaintexteditsearch.h \ searchbar.h \ @@ -79,6 +81,7 @@ SOURCES += \ locationbar.cpp \ languagemanager.cpp \ modelmenu.cpp \ + networkaccesseditor.cpp \ networkaccessmanager.cpp \ plaintexteditsearch.cpp \ searchbar.cpp \ From 91096e2b6469e99162c76f591c8c3fdd0d24f414 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 04:51:06 -0500 Subject: [PATCH 0314/1254] move network monitor into its own folder --- src/{ => networkmonitor}/networkaccesseditor.cpp | 0 src/{ => networkmonitor}/networkaccesseditor.h | 0 src/networkmonitor/networkmonitor.pri | 12 ++++++++++++ src/{ => networkmonitor}/networkrequests.ui | 0 src/src.pri | 4 +--- 5 files changed, 13 insertions(+), 3 deletions(-) rename src/{ => networkmonitor}/networkaccesseditor.cpp (100%) rename src/{ => networkmonitor}/networkaccesseditor.h (100%) create mode 100644 src/networkmonitor/networkmonitor.pri rename src/{ => networkmonitor}/networkrequests.ui (100%) diff --git a/src/networkaccesseditor.cpp b/src/networkmonitor/networkaccesseditor.cpp similarity index 100% rename from src/networkaccesseditor.cpp rename to src/networkmonitor/networkaccesseditor.cpp diff --git a/src/networkaccesseditor.h b/src/networkmonitor/networkaccesseditor.h similarity index 100% rename from src/networkaccesseditor.h rename to src/networkmonitor/networkaccesseditor.h diff --git a/src/networkmonitor/networkmonitor.pri b/src/networkmonitor/networkmonitor.pri new file mode 100644 index 00000000..d882c33b --- /dev/null +++ b/src/networkmonitor/networkmonitor.pri @@ -0,0 +1,12 @@ +INCLUDEPATH += $$PWD +DEPENDPATH += $$PWD + +HEADERS += \ + networkaccesseditor.h + +SOURCES += \ + networkaccesseditor.cpp + +FORMS += \ + networkrequests.ui + diff --git a/src/networkrequests.ui b/src/networkmonitor/networkrequests.ui similarity index 100% rename from src/networkrequests.ui rename to src/networkmonitor/networkrequests.ui diff --git a/src/src.pri b/src/src.pri index 7fab7fae..4250dcca 100644 --- a/src/src.pri +++ b/src/src.pri @@ -32,7 +32,6 @@ FORMS += \ downloaditem.ui \ downloads.ui \ history.ui \ - networkrequests.ui \ passworddialog.ui \ proxy.ui \ searchbanner.ui \ @@ -52,7 +51,6 @@ HEADERS += \ locationbar_p.h \ languagemanager.h \ modelmenu.h \ - networkaccesseditor.h \ networkaccessmanager.h \ plaintexteditsearch.h \ searchbar.h \ @@ -81,7 +79,6 @@ SOURCES += \ locationbar.cpp \ languagemanager.cpp \ modelmenu.cpp \ - networkaccesseditor.cpp \ networkaccessmanager.cpp \ plaintexteditsearch.cpp \ searchbar.cpp \ @@ -97,6 +94,7 @@ SOURCES += \ webviewsearch.cpp \ xbel.cpp +include(networkmonitor/networkmonitor.pri) include(cookiejar/cookiejar.pri) include(utils/utils.pri) From 43985a23d4c372ad6bb45fb81701621fed2c282b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 05:05:25 -0500 Subject: [PATCH 0315/1254] Tweak to follow Arora style and add copyright --- src/browsermainwindow.h | 1 - src/networkaccessmanager.cpp | 17 +- src/networkaccessmanager.h | 4 +- src/networkmonitor/networkaccesseditor.cpp | 347 +++++++++++---------- src/networkmonitor/networkaccesseditor.h | 116 ++++--- 5 files changed, 265 insertions(+), 220 deletions(-) diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index 727fb24e..a70488f9 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -76,7 +76,6 @@ class ToolbarSearch; class WebView; class QSplitter; class QFrame; -class QSignalMapper; /*! The MainWindow of the Browser Application. diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index ec16b1d6..73cc667b 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -109,7 +109,7 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) #endif } -void NetworkAccessManager::setNetworkAccessEditor( NetworkAccessEditor *editor ) +void NetworkAccessManager::setNetworkAccessEditor(NetworkAccessEditor *editor) { m_networkAccessEditor = editor; } @@ -118,6 +118,7 @@ NetworkAccessEditor *NetworkAccessManager::networkAccessEditor() const { return m_networkAccessEditor; } + void NetworkAccessManager::loadSettings() { QSettings settings; @@ -251,18 +252,18 @@ void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QListtamperRequest( op, req, outgoingData ); + if (m_networkAccessEditor) + actual = m_networkAccessEditor->tamperRequest(op, request, outgoingData); else - actual = req; + actual = request; - QNetworkReply *reply = QNetworkAccessManager::createRequest( op, actual, outgoingData ); + QNetworkReply *reply = QNetworkAccessManager::createRequest(op, actual, outgoingData); - if ( m_networkAccessEditor ) - m_networkAccessEditor->addRequest( op, actual, outgoingData, reply ); + if (m_networkAccessEditor) + m_networkAccessEditor->addRequest(op, actual, outgoingData, reply); return reply; } diff --git a/src/networkaccessmanager.h b/src/networkaccessmanager.h index 8e032496..0dff64b9 100644 --- a/src/networkaccessmanager.h +++ b/src/networkaccessmanager.h @@ -73,11 +73,11 @@ class NetworkAccessManager : public QNetworkAccessManager public: NetworkAccessManager(QObject *parent = 0); - void setNetworkAccessEditor( NetworkAccessEditor *editor ); + void setNetworkAccessEditor(NetworkAccessEditor *editor); NetworkAccessEditor *networkAccessEditor() const; protected: - virtual QNetworkReply * createRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData=0 ); + QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); public slots: void loadSettings(); diff --git a/src/networkmonitor/networkaccesseditor.cpp b/src/networkmonitor/networkaccesseditor.cpp index 2e361e1b..c6833ae4 100644 --- a/src/networkmonitor/networkaccesseditor.cpp +++ b/src/networkmonitor/networkaccesseditor.cpp @@ -1,161 +1,186 @@ -#include -#include -#include -#include - -#include "networkaccesseditor.h" - -NetworkAccessEditor::NetworkAccessEditor() - : tamperingEnabled(false), - interactiveTamperingEnabled(false) -{ - dialog = new QDialog(); - networkRequestsDialog = new Ui::NetworkRequestsDialog; - networkRequestsDialog->setupUi(dialog); - dialog->show(); - - mapper = new QSignalMapper(this); - connect( mapper, SIGNAL(mapped(QObject *)), SLOT(requestFinished(QObject *)) ); - - connect( networkRequestsDialog->requestList, SIGNAL( currentItemChanged( QTreeWidgetItem*, QTreeWidgetItem* ) ), SLOT( showItemDetails( QTreeWidgetItem *) ) ); - connect( networkRequestsDialog->clearButton, SIGNAL( clicked() ), SLOT( clear() ) ); -} - -NetworkAccessEditor::~NetworkAccessEditor() -{ - delete networkRequestsDialog; - delete dialog; -} - -QNetworkRequest NetworkAccessEditor::tamperRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData ) -{ - if ( !tamperingEnabled) - return req; - - QNetworkRequest tampered( req ); - tampered.setRawHeader( QByteArray("Host"), QByteArray("www.needcoffee.co.uk") ); - return tampered; -} - -void NetworkAccessEditor::addRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply ) -{ - // Add to list of requests - QStringList cols; - switch( op ) { - case QNetworkAccessManager::HeadOperation: - cols << QString::fromLatin1("HEAD"); - break; - case QNetworkAccessManager::GetOperation: - cols << QString::fromLatin1("GET"); - break; - case QNetworkAccessManager::PutOperation: - cols << QString::fromLatin1("PUT"); - break; - case QNetworkAccessManager::PostOperation: - cols << QString::fromLatin1("POST"); - break; - default: - qWarning() << "Unknown network operation"; - } - cols << req.url().toString(); - cols << tr("Pending"); - - QTreeWidgetItem *item = new QTreeWidgetItem( cols ); - networkRequestsDialog->requestList->addTopLevelItem( item ); - - // Add to maps - requestMap.insert( reply, req ); - itemMap.insert( reply, item ); - itemRequestMap.insert( item, req ); - - mapper->setMapping( reply, reply ); - connect( reply, SIGNAL( finished() ), mapper, SLOT( map() ) ); -} - -void NetworkAccessEditor::show() -{ - dialog->show(); -} - -void NetworkAccessEditor::hide() -{ - dialog->hide(); -} - -void NetworkAccessEditor::clear() -{ - requestMap.clear(); - itemMap.clear(); - itemReplyMap.clear(); - itemRequestMap.clear(); - networkRequestsDialog->requestList->clear(); - networkRequestsDialog->requestDetails->clear(); - networkRequestsDialog->responseDetails->clear(); -} - -void NetworkAccessEditor::requestFinished( QObject *replyObject ) -{ - QNetworkReply *reply = qobject_cast( replyObject ); - if ( !reply ) { - qWarning() << "Failed to downcast reply"; - return; - } - - QTreeWidgetItem *item = itemMap[reply]; - - // Record the reply headers - QList headerValues; - QByteArray header; - foreach( header, reply->rawHeaderList() ) { - headerValues += reply->rawHeader( header ); - } - QPair< QList, QList > replyHeaders; - replyHeaders.first = reply->rawHeaderList(); - replyHeaders.second = headerValues; - itemReplyMap[item] = replyHeaders; - - // Display the request - int status = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); - item->setText( 2, tr("%1 %2").arg(status).arg(reason) ); - - QString length = reply->header( QNetworkRequest::ContentLengthHeader ).toString(); - item->setText( 3, length ); - - QString contentType = reply->header( QNetworkRequest::ContentTypeHeader ).toString(); - item->setText( 4, contentType ); - - if ( status == 302 ) { - QUrl target = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); - item->setText( 5, tr("Redirect: %1").arg( target.toString() ) ); - } -} - -void NetworkAccessEditor::showItemDetails( QTreeWidgetItem *item ) -{ - // Show request details - QTreeWidget *reqTree = networkRequestsDialog->requestDetails; - reqTree->clear(); - - QNetworkRequest req = itemRequestMap[item]; - QByteArray header; - foreach( header, req.rawHeaderList() ) { - QTreeWidgetItem *item = new QTreeWidgetItem(); - item->setText( 0, QString::fromLatin1( header ) ); - item->setText( 1, QString::fromLatin1( req.rawHeader( header ) ) ); - reqTree->addTopLevelItem( item ); - } - - // Show reply headers - QTreeWidget *respTree = networkRequestsDialog->responseDetails; - respTree->clear(); - - QPair< QList, QList > replyHeaders = itemReplyMap[item]; - for ( int i = 0; i < replyHeaders.first.count(); i++ ) { - QTreeWidgetItem *item = new QTreeWidgetItem(); - item->setText( 0, QString::fromLatin1( replyHeaders.first[i] ) ); - item->setText( 1, QString::fromLatin1( replyHeaders.second[i] ) ); - respTree->addTopLevelItem( item ); - } -} - +/* + * Copyright 2008-2009 Arora Developers + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#include "networkaccesseditor.h" + +#include +#include +#include + +#include + +NetworkAccessEditor::NetworkAccessEditor() + : tamperingEnabled(false), + interactiveTamperingEnabled(false) +{ + dialog = new QDialog(); + networkRequestsDialog = new Ui::NetworkRequestsDialog; + networkRequestsDialog->setupUi(dialog); + dialog->show(); + + mapper = new QSignalMapper(this); + connect(mapper, SIGNAL(mapped(QObject *)), SLOT(requestFinished(QObject *))); + + connect(networkRequestsDialog->requestList, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem* )), + this, SLOT(showItemDetails(QTreeWidgetItem *))); + connect(networkRequestsDialog->clearButton, SIGNAL(clicked()), + this, SLOT(clear())); +} + +NetworkAccessEditor::~NetworkAccessEditor() +{ + delete networkRequestsDialog; + delete dialog; +} + +QNetworkRequest NetworkAccessEditor::tamperRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData) +{ + Q_UNUSED(op); + Q_UNUSED(outgoingData); + if (!tamperingEnabled) + return req; + + QNetworkRequest tampered( req ); + tampered.setRawHeader( QByteArray("Host"), QByteArray("www.needcoffee.co.uk") ); + return tampered; +} + +void NetworkAccessEditor::addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply) +{ + Q_UNUSED(outgoingData); + // Add to list of requests + QStringList cols; + switch (op) { + case QNetworkAccessManager::HeadOperation: + cols << QString::fromLatin1("HEAD"); + break; + case QNetworkAccessManager::GetOperation: + cols << QString::fromLatin1("GET"); + break; + case QNetworkAccessManager::PutOperation: + cols << QString::fromLatin1("PUT"); + break; + case QNetworkAccessManager::PostOperation: + cols << QString::fromLatin1("POST"); + break; + default: + qWarning() << "Unknown network operation"; + } + cols << req.url().toString(); + cols << tr("Pending"); + + QTreeWidgetItem *item = new QTreeWidgetItem( cols ); + networkRequestsDialog->requestList->addTopLevelItem( item ); + + // Add to maps + requestMap.insert( reply, req ); + itemMap.insert( reply, item ); + itemRequestMap.insert( item, req ); + + mapper->setMapping( reply, reply ); + connect( reply, SIGNAL( finished() ), mapper, SLOT( map() ) ); +} + +void NetworkAccessEditor::show() +{ + dialog->show(); +} + +void NetworkAccessEditor::hide() +{ + dialog->hide(); +} + +void NetworkAccessEditor::clear() +{ + requestMap.clear(); + itemMap.clear(); + itemReplyMap.clear(); + itemRequestMap.clear(); + networkRequestsDialog->requestList->clear(); + networkRequestsDialog->requestDetails->clear(); + networkRequestsDialog->responseDetails->clear(); +} + +void NetworkAccessEditor::requestFinished( QObject *replyObject ) +{ + QNetworkReply *reply = qobject_cast( replyObject ); + if (!reply) { + qWarning() << "Failed to downcast reply"; + return; + } + + QTreeWidgetItem *item = itemMap[reply]; + + // Record the reply headers + QList headerValues; + QByteArray header; + foreach( header, reply->rawHeaderList() ) { + headerValues += reply->rawHeader( header ); + } + QPair< QList, QList > replyHeaders; + replyHeaders.first = reply->rawHeaderList(); + replyHeaders.second = headerValues; + itemReplyMap[item] = replyHeaders; + + // Display the request + int status = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); + QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); + item->setText( 2, tr("%1 %2").arg(status).arg(reason) ); + + QString length = reply->header( QNetworkRequest::ContentLengthHeader ).toString(); + item->setText( 3, length ); + + QString contentType = reply->header( QNetworkRequest::ContentTypeHeader ).toString(); + item->setText( 4, contentType ); + + if ( status == 302 ) { + QUrl target = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); + item->setText( 5, tr("Redirect: %1").arg( target.toString() ) ); + } +} + +void NetworkAccessEditor::showItemDetails(QTreeWidgetItem *item) +{ + // Show request details + QTreeWidget *reqTree = networkRequestsDialog->requestDetails; + reqTree->clear(); + + QNetworkRequest req = itemRequestMap[item]; + QByteArray header; + foreach( header, req.rawHeaderList() ) { + QTreeWidgetItem *item = new QTreeWidgetItem(); + item->setText( 0, QString::fromLatin1( header ) ); + item->setText( 1, QString::fromLatin1( req.rawHeader( header ) ) ); + reqTree->addTopLevelItem( item ); + } + + // Show reply headers + QTreeWidget *respTree = networkRequestsDialog->responseDetails; + respTree->clear(); + + QPair< QList, QList > replyHeaders = itemReplyMap[item]; + for (int i = 0; i < replyHeaders.first.count(); ++i) { + QTreeWidgetItem *item = new QTreeWidgetItem(); + item->setText( 0, QString::fromLatin1( replyHeaders.first[i] ) ); + item->setText( 1, QString::fromLatin1( replyHeaders.second[i] ) ); + respTree->addTopLevelItem( item ); + } +} + diff --git a/src/networkmonitor/networkaccesseditor.h b/src/networkmonitor/networkaccesseditor.h index d58a9592..932db7cc 100644 --- a/src/networkmonitor/networkaccesseditor.h +++ b/src/networkmonitor/networkaccesseditor.h @@ -1,48 +1,68 @@ -#ifndef NETWORKACCESSEDITOR_H -#define NETWORKACCESSEDITOR_H - -#include -#include -#include -#include -#include -#include - -#include "ui_networkrequests.h" - -class QDialog; -class QTreeWidgetItem; -class QSignalMapper; - -class NetworkAccessEditor : public QObject -{ - Q_OBJECT - -public: - NetworkAccessEditor(); - ~NetworkAccessEditor(); - - QNetworkRequest tamperRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData ); - void addRequest( QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply ); - - void show(); - void hide(); - -private slots: - void clear(); - void requestFinished( QObject *replyObject ); - void showItemDetails( QTreeWidgetItem *item ); - -private: - QDialog *dialog; - Ui::NetworkRequestsDialog *networkRequestsDialog; - QMap requestMap; - QMap itemRequestMap; - QMap itemMap; - QMap, QList > > itemReplyMap; - QSignalMapper *mapper; - bool tamperingEnabled; - bool interactiveTamperingEnabled; -}; - -#endif // NETWORKACCESSEDITOR_H +/* + * Copyright 2008-2009 Arora Developers + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + */ + +#ifndef NETWORKACCESSEDITOR_H +#define NETWORKACCESSEDITOR_H + +#include + +#include +#include +#include +#include +#include + +#include "ui_networkrequests.h" + +class QDialog; +class QTreeWidgetItem; +class QSignalMapper; + +class NetworkAccessEditor : public QObject +{ + Q_OBJECT + +public: + NetworkAccessEditor(); + ~NetworkAccessEditor(); + + QNetworkRequest tamperRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData); + void addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply); + + void show(); + void hide(); + +private slots: + void clear(); + void requestFinished(QObject *replyObject); + void showItemDetails(QTreeWidgetItem *item); + +private: + QDialog *dialog; + Ui::NetworkRequestsDialog *networkRequestsDialog; + QMap requestMap; + QMap itemRequestMap; + QMap itemMap; + QMap, QList > > itemReplyMap; + QSignalMapper *mapper; + bool tamperingEnabled; + bool interactiveTamperingEnabled; +}; + +#endif // NETWORKACCESSEDITOR_H From 0d9115d2bab2bfbdedede77700c118432fde0715 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 05:30:12 -0500 Subject: [PATCH 0316/1254] BrowserApplication shouldn't have a static NetworkAccessEditor --- src/browserapplication.cpp | 10 ---------- src/browserapplication.h | 3 --- src/browsermainwindow.cpp | 4 +++- src/networkaccessmanager.cpp | 4 ++-- src/networkaccessmanager.h | 1 + src/networkmonitor/networkaccesseditor.cpp | 7 ++++--- src/networkmonitor/networkaccesseditor.h | 2 +- 7 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 6083dfe7..78db069b 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -69,7 +69,6 @@ #include "history.h" #include "languagemanager.h" #include "networkaccessmanager.h" -#include "networkaccesseditor.h" #include "tabwidget.h" #include "webview.h" @@ -87,7 +86,6 @@ DownloadManager *BrowserApplication::s_downloadManager = 0; HistoryManager *BrowserApplication::s_historyManager = 0; NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0; -NetworkAccessEditor *BrowserApplication::s_networkAccessEditor = 0; BookmarksManager *BrowserApplication::s_bookmarksManager = 0; LanguageManager *BrowserApplication::s_languageManager = 0; @@ -468,14 +466,6 @@ NetworkAccessManager *BrowserApplication::networkAccessManager() return s_networkAccessManager; } -NetworkAccessEditor *BrowserApplication::networkAccessEditor() -{ - if (!s_networkAccessEditor) { - s_networkAccessEditor = new NetworkAccessEditor(); - } - return s_networkAccessEditor; -} - HistoryManager *BrowserApplication::historyManager() { if (!s_historyManager) diff --git a/src/browserapplication.h b/src/browserapplication.h index ae9e22a8..dd7ef90f 100644 --- a/src/browserapplication.h +++ b/src/browserapplication.h @@ -75,7 +75,6 @@ class CookieJar; class DownloadManager; class HistoryManager; class NetworkAccessManager; -class NetworkAccessEditor; class LanguageManager; class BrowserApplication : public SingleApplication { @@ -98,7 +97,6 @@ class BrowserApplication : public SingleApplication static CookieJar *cookieJar(); static DownloadManager *downloadManager(); static NetworkAccessManager *networkAccessManager(); - static NetworkAccessEditor *networkAccessEditor(); static BookmarksManager *bookmarksManager(); static LanguageManager *languageManager(); static QString dataDirectory(); @@ -132,7 +130,6 @@ private slots: static HistoryManager *s_historyManager; static DownloadManager *s_downloadManager; static NetworkAccessManager *s_networkAccessManager; - static NetworkAccessEditor *s_networkAccessEditor; static BookmarksManager *s_bookmarksManager; static LanguageManager *s_languageManager; diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 9a2b6eef..524746fc 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -1190,7 +1190,9 @@ void BrowserMainWindow::slotToggleNetworkAccessEditor( bool enabled ) NetworkAccessManager *manager = BrowserApplication::networkAccessManager(); if ( enabled ) { - NetworkAccessEditor *editor = BrowserApplication::networkAccessEditor(); + NetworkAccessEditor *editor = manager->networkAccessEditor(); + if (!editor) + editor = new NetworkAccessEditor(manager); manager->setNetworkAccessEditor( editor ); editor->show(); return; diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 73cc667b..752b7d67 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -87,8 +87,8 @@ #include "networkaccesseditor.h" NetworkAccessManager::NetworkAccessManager(QObject *parent) - : QNetworkAccessManager(parent), - m_networkAccessEditor(0) + : QNetworkAccessManager(parent) + , m_networkAccessEditor(0) { connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); diff --git a/src/networkaccessmanager.h b/src/networkaccessmanager.h index 0dff64b9..8b00c61f 100644 --- a/src/networkaccessmanager.h +++ b/src/networkaccessmanager.h @@ -88,6 +88,7 @@ private slots: #ifndef QT_NO_OPENSSL void sslErrors(QNetworkReply *reply, const QList &error); #endif + private: NetworkAccessEditor *m_networkAccessEditor; }; diff --git a/src/networkmonitor/networkaccesseditor.cpp b/src/networkmonitor/networkaccesseditor.cpp index c6833ae4..a56fec7d 100644 --- a/src/networkmonitor/networkaccesseditor.cpp +++ b/src/networkmonitor/networkaccesseditor.cpp @@ -25,9 +25,10 @@ #include -NetworkAccessEditor::NetworkAccessEditor() - : tamperingEnabled(false), - interactiveTamperingEnabled(false) +NetworkAccessEditor::NetworkAccessEditor(QObject *parent) + : QObject(parent) + , tamperingEnabled(false) + , interactiveTamperingEnabled(false) { dialog = new QDialog(); networkRequestsDialog = new Ui::NetworkRequestsDialog; diff --git a/src/networkmonitor/networkaccesseditor.h b/src/networkmonitor/networkaccesseditor.h index 932db7cc..5bf78bf9 100644 --- a/src/networkmonitor/networkaccesseditor.h +++ b/src/networkmonitor/networkaccesseditor.h @@ -39,7 +39,7 @@ class NetworkAccessEditor : public QObject Q_OBJECT public: - NetworkAccessEditor(); + NetworkAccessEditor(QObject *parent = 0); ~NetworkAccessEditor(); QNetworkRequest tamperRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData); From 4c9a8256349fb075028e1d43b5de7dc49f9e2016 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 05:39:57 -0500 Subject: [PATCH 0317/1254] Remove tampering which is not fully implemented --- src/networkaccessmanager.cpp | 10 ++-------- src/networkmonitor/networkaccesseditor.cpp | 13 ------------- src/networkmonitor/networkaccesseditor.h | 2 -- 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 752b7d67..3c24fcf9 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -254,16 +254,10 @@ void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QListtamperRequest(op, request, outgoingData); - else - actual = request; - - QNetworkReply *reply = QNetworkAccessManager::createRequest(op, actual, outgoingData); + QNetworkReply *reply = QNetworkAccessManager::createRequest(op, request, outgoingData); if (m_networkAccessEditor) - m_networkAccessEditor->addRequest(op, actual, outgoingData, reply); + m_networkAccessEditor->addRequest(op, request, outgoingData, reply); return reply; } diff --git a/src/networkmonitor/networkaccesseditor.cpp b/src/networkmonitor/networkaccesseditor.cpp index a56fec7d..1431be31 100644 --- a/src/networkmonitor/networkaccesseditor.cpp +++ b/src/networkmonitor/networkaccesseditor.cpp @@ -27,7 +27,6 @@ NetworkAccessEditor::NetworkAccessEditor(QObject *parent) : QObject(parent) - , tamperingEnabled(false) , interactiveTamperingEnabled(false) { dialog = new QDialog(); @@ -50,18 +49,6 @@ NetworkAccessEditor::~NetworkAccessEditor() delete dialog; } -QNetworkRequest NetworkAccessEditor::tamperRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData) -{ - Q_UNUSED(op); - Q_UNUSED(outgoingData); - if (!tamperingEnabled) - return req; - - QNetworkRequest tampered( req ); - tampered.setRawHeader( QByteArray("Host"), QByteArray("www.needcoffee.co.uk") ); - return tampered; -} - void NetworkAccessEditor::addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply) { Q_UNUSED(outgoingData); diff --git a/src/networkmonitor/networkaccesseditor.h b/src/networkmonitor/networkaccesseditor.h index 5bf78bf9..adb99b27 100644 --- a/src/networkmonitor/networkaccesseditor.h +++ b/src/networkmonitor/networkaccesseditor.h @@ -42,7 +42,6 @@ class NetworkAccessEditor : public QObject NetworkAccessEditor(QObject *parent = 0); ~NetworkAccessEditor(); - QNetworkRequest tamperRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData); void addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply); void show(); @@ -61,7 +60,6 @@ private slots: QMap itemMap; QMap, QList > > itemReplyMap; QSignalMapper *mapper; - bool tamperingEnabled; bool interactiveTamperingEnabled; }; From bfb9c7f5891c52c700ee91e46b5d692fe451f59d Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 04:55:57 -0500 Subject: [PATCH 0318/1254] rename editor to monitor --- src/browsermainwindow.cpp | 30 +++++++++---------- src/browsermainwindow.h | 2 +- src/networkaccessmanager.cpp | 17 +++++------ src/networkaccessmanager.h | 8 ++--- ...orkaccesseditor.cpp => networkmonitor.cpp} | 18 +++++------ ...networkaccesseditor.h => networkmonitor.h} | 14 ++++----- src/networkmonitor/networkmonitor.pri | 6 ++-- .../{networkrequests.ui => networkmonitor.ui} | 0 8 files changed, 46 insertions(+), 49 deletions(-) rename src/networkmonitor/{networkaccesseditor.cpp => networkmonitor.cpp} (91%) rename src/networkmonitor/{networkaccesseditor.h => networkmonitor.h} (87%) rename src/networkmonitor/{networkrequests.ui => networkmonitor.ui} (100%) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 524746fc..9d0fb761 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -73,7 +73,7 @@ #include "history.h" #include "languagemanager.h" #include "networkaccessmanager.h" -#include "networkaccesseditor.h" +#include "networkmonitor.h" #include "settings.h" #include "sourceviewer.h" #include "tabbar.h" @@ -565,7 +565,7 @@ void BrowserMainWindow::setupMenu() toolsMenu->addAction(tr("&Clear Private Data"), this, SLOT(slotClearPrivateData()), QKeySequence(tr("Ctrl+Shift+Delete", "Clear Private Data"))); - QAction *networkEditorAction = toolsMenu->addAction(tr("Show &Network Requests"), this, SLOT(slotToggleNetworkAccessEditor(bool)) ); + QAction *networkEditorAction = toolsMenu->addAction(tr("Show &Network Monitor"), this, SLOT(toggleNetworkMonitor(bool)) ); networkEditorAction->setCheckable( true ); #ifndef Q_CC_MINGW @@ -1185,23 +1185,21 @@ void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) setGeometry(geometry); } -void BrowserMainWindow::slotToggleNetworkAccessEditor( bool enabled ) +void BrowserMainWindow::toggleNetworkMonitor(bool enabled) { NetworkAccessManager *manager = BrowserApplication::networkAccessManager(); + NetworkMonitor *monitor = manager->networkMonitor(); - if ( enabled ) { - NetworkAccessEditor *editor = manager->networkAccessEditor(); - if (!editor) - editor = new NetworkAccessEditor(manager); - manager->setNetworkAccessEditor( editor ); - editor->show(); - return; - } - - NetworkAccessEditor *editor = manager->networkAccessEditor(); - if ( editor ) { - editor->hide(); - manager->setNetworkAccessEditor( 0 ); + if (enabled) { + if (!monitor) { + monitor = new NetworkMonitor(manager); + manager->setNetworkMonitor(monitor); + } + monitor->show(); + } else if (monitor) { + monitor->hide(); + manager->setNetworkMonitor(0); + monitor->deleteLater(); } } diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index a70488f9..c2fe6f70 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -158,7 +158,7 @@ private slots: void geometryChangeRequested(const QRect &geometry); void updateToolbarActionText(bool visible); void updateBookmarksToolbarActionText(bool visible); - void slotToggleNetworkAccessEditor( bool enable ); + void toggleNetworkMonitor(bool enable); private: void retranslate(); diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index 3c24fcf9..aa6746d5 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -64,6 +64,7 @@ #include "browserapplication.h" #include "browsermainwindow.h" +#include "networkmonitor.h" #include "ui_passworddialog.h" #include "ui_proxy.h" @@ -84,11 +85,9 @@ #include #endif -#include "networkaccesseditor.h" - NetworkAccessManager::NetworkAccessManager(QObject *parent) : QNetworkAccessManager(parent) - , m_networkAccessEditor(0) + , m_networkMonitor(0) { connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); @@ -109,14 +108,14 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) #endif } -void NetworkAccessManager::setNetworkAccessEditor(NetworkAccessEditor *editor) +void NetworkAccessManager::setNetworkMonitor(NetworkMonitor *editor) { - m_networkAccessEditor = editor; + m_networkMonitor = editor; } -NetworkAccessEditor *NetworkAccessManager::networkAccessEditor() const +NetworkMonitor *NetworkAccessManager::networkMonitor() const { - return m_networkAccessEditor; + return m_networkMonitor; } void NetworkAccessManager::loadSettings() @@ -256,8 +255,8 @@ QNetworkReply *NetworkAccessManager::createRequest(QNetworkAccessManager::Operat { QNetworkReply *reply = QNetworkAccessManager::createRequest(op, request, outgoingData); - if (m_networkAccessEditor) - m_networkAccessEditor->addRequest(op, request, outgoingData, reply); + if (m_networkMonitor) + m_networkMonitor->addRequest(op, request, outgoingData, reply); return reply; } diff --git a/src/networkaccessmanager.h b/src/networkaccessmanager.h index 8b00c61f..fbe84468 100644 --- a/src/networkaccessmanager.h +++ b/src/networkaccessmanager.h @@ -65,7 +65,7 @@ #include -class NetworkAccessEditor; +class NetworkMonitor; class NetworkAccessManager : public QNetworkAccessManager { @@ -73,8 +73,8 @@ class NetworkAccessManager : public QNetworkAccessManager public: NetworkAccessManager(QObject *parent = 0); - void setNetworkAccessEditor(NetworkAccessEditor *editor); - NetworkAccessEditor *networkAccessEditor() const; + void setNetworkMonitor(NetworkMonitor *editor); + NetworkMonitor *networkMonitor() const; protected: QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); @@ -90,7 +90,7 @@ private slots: #endif private: - NetworkAccessEditor *m_networkAccessEditor; + NetworkMonitor *m_networkMonitor; }; #endif // NETWORKACCESSMANAGER_H diff --git a/src/networkmonitor/networkaccesseditor.cpp b/src/networkmonitor/networkmonitor.cpp similarity index 91% rename from src/networkmonitor/networkaccesseditor.cpp rename to src/networkmonitor/networkmonitor.cpp index 1431be31..219e688f 100644 --- a/src/networkmonitor/networkaccesseditor.cpp +++ b/src/networkmonitor/networkmonitor.cpp @@ -17,7 +17,7 @@ * Boston, MA 02110-1301 USA */ -#include "networkaccesseditor.h" +#include "networkmonitor.h" #include #include @@ -25,7 +25,7 @@ #include -NetworkAccessEditor::NetworkAccessEditor(QObject *parent) +NetworkMonitor::NetworkMonitor(QObject *parent) : QObject(parent) , interactiveTamperingEnabled(false) { @@ -43,13 +43,13 @@ NetworkAccessEditor::NetworkAccessEditor(QObject *parent) this, SLOT(clear())); } -NetworkAccessEditor::~NetworkAccessEditor() +NetworkMonitor::~NetworkMonitor() { delete networkRequestsDialog; delete dialog; } -void NetworkAccessEditor::addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply) +void NetworkMonitor::addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply) { Q_UNUSED(outgoingData); // Add to list of requests @@ -85,17 +85,17 @@ void NetworkAccessEditor::addRequest(QNetworkAccessManager::Operation op, const connect( reply, SIGNAL( finished() ), mapper, SLOT( map() ) ); } -void NetworkAccessEditor::show() +void NetworkMonitor::show() { dialog->show(); } -void NetworkAccessEditor::hide() +void NetworkMonitor::hide() { dialog->hide(); } -void NetworkAccessEditor::clear() +void NetworkMonitor::clear() { requestMap.clear(); itemMap.clear(); @@ -106,7 +106,7 @@ void NetworkAccessEditor::clear() networkRequestsDialog->responseDetails->clear(); } -void NetworkAccessEditor::requestFinished( QObject *replyObject ) +void NetworkMonitor::requestFinished( QObject *replyObject ) { QNetworkReply *reply = qobject_cast( replyObject ); if (!reply) { @@ -144,7 +144,7 @@ void NetworkAccessEditor::requestFinished( QObject *replyObject ) } } -void NetworkAccessEditor::showItemDetails(QTreeWidgetItem *item) +void NetworkMonitor::showItemDetails(QTreeWidgetItem *item) { // Show request details QTreeWidget *reqTree = networkRequestsDialog->requestDetails; diff --git a/src/networkmonitor/networkaccesseditor.h b/src/networkmonitor/networkmonitor.h similarity index 87% rename from src/networkmonitor/networkaccesseditor.h rename to src/networkmonitor/networkmonitor.h index adb99b27..159e220b 100644 --- a/src/networkmonitor/networkaccesseditor.h +++ b/src/networkmonitor/networkmonitor.h @@ -17,8 +17,8 @@ * Boston, MA 02110-1301 USA */ -#ifndef NETWORKACCESSEDITOR_H -#define NETWORKACCESSEDITOR_H +#ifndef NETWORKMONITOR_H +#define NETWORKMONITOR_H #include @@ -28,19 +28,19 @@ #include #include -#include "ui_networkrequests.h" +#include "ui_networkmonitor.h" class QDialog; class QTreeWidgetItem; class QSignalMapper; -class NetworkAccessEditor : public QObject +class NetworkMonitor : public QObject { Q_OBJECT public: - NetworkAccessEditor(QObject *parent = 0); - ~NetworkAccessEditor(); + NetworkMonitor(QObject *parent = 0); + ~NetworkMonitor(); void addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply); @@ -63,4 +63,4 @@ private slots: bool interactiveTamperingEnabled; }; -#endif // NETWORKACCESSEDITOR_H +#endif // NETWORKMONITOR_H diff --git a/src/networkmonitor/networkmonitor.pri b/src/networkmonitor/networkmonitor.pri index d882c33b..fe8f7b17 100644 --- a/src/networkmonitor/networkmonitor.pri +++ b/src/networkmonitor/networkmonitor.pri @@ -2,11 +2,11 @@ INCLUDEPATH += $$PWD DEPENDPATH += $$PWD HEADERS += \ - networkaccesseditor.h + networkmonitor.h SOURCES += \ - networkaccesseditor.cpp + networkmonitor.cpp FORMS += \ - networkrequests.ui + networkmonitor.ui diff --git a/src/networkmonitor/networkrequests.ui b/src/networkmonitor/networkmonitor.ui similarity index 100% rename from src/networkmonitor/networkrequests.ui rename to src/networkmonitor/networkmonitor.ui From 2e230eff06b3149e06f4f3309c41d847f870106b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 10:38:17 -0500 Subject: [PATCH 0319/1254] Update CN translation Issue: 253 --- src/locale/zh_CN.ts | 3082 ++++++++++++++++++++----------------------- 1 file changed, 1402 insertions(+), 1680 deletions(-) diff --git a/src/locale/zh_CN.ts b/src/locale/zh_CN.ts index 0211c46d..ea4dd929 100644 --- a/src/locale/zh_CN.ts +++ b/src/locale/zh_CN.ts @@ -1,1680 +1,1402 @@ - - - - - AboutDialog - - - About - 鍏充簬 - - - - Authors - 浣滆 - - - - License - 璁稿彲璇 - - - - Lightweight WebKit-based web browser - 杞诲揩鐨勬祻瑙堝櫒-鍩轰簬Webkit - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - - - - <a href="http://arora-browser.org">http://arora-browser.org</a> - - - - - Close - 鍏抽棴 - - - - AddBookmarkDialog - - - Add Bookmark - 娣诲姞涔︾ - - - - Type a name for the bookmark, and choose where to keep it. - 璇疯緭鍏ヤ功绛惧悕锛屽苟閫夋嫨淇濆瓨浣嶇疆 - - - - BookmarksDialog - - - Open - 鎵撳紑 - - - - Open in New Tab - 鍦ㄦ柊鏍囩椤典腑鎵撳紑 - - - - Delete - 鍒犻櫎 - - - - New Folder - 鏂板缓鏂囦欢澶 - - - - Bookmarks - 涔︾ - - - - &Remove - 绉婚櫎(&R) - - - - Add Folder - 娣诲姞鏂囦欢澶 - - - - BookmarksManager - - - Error when loading bookmarks on line %1, column %2: -%3 - 鍦ㄨ%1锛屽垪%2: -%3瀵煎叆涔︾鏃跺嚭閿 - - - - Toolbar Bookmarks - 宸ュ叿鏍忎功绛 - - - - Menu - 鑿滃崟 - - - - Open File - 鎵撳紑鏂囦欢 - - - - XBEL (*.xbel *.xml) - - - - - Imported %1 - 瀵煎叆鐨%1 - - - - Save File - 淇濆瓨鏂囦欢 - - - - %1 Bookmarks.xbel - - - - - Export error - 瀵煎嚭閿欒 - - - - error saving bookmarks - 淇濆瓨涔︾鍑洪敊 - - - - Remove Bookmark - 绉婚櫎涔︾ - - - - Insert Bookmark - 鎻掑叆涔︾ - - - - Name Change - 鍚嶅瓧鍙樻洿 - - - - Address Change - 鍦板潃鍙樻洿 - - - - BookmarksModel - - - Title - 鏍囬 - - - - Address - 鍦板潃 - - - - BookmarksToolBar - - - Bookmark - 涔︾ - - - - BrowserApplication - - - (Change: %1 %2) - (鍙樻洿锛 %1 %2) - - - - There are %1 windows and %2 tabs open -Do you want to quit anyway? - 鏈%1涓獥鍙e拰%2涓爣绛句负鎵撳紑鐘舵 -浠嶆棫纭閫鍑哄悧锛 - - - - Restore failed - 鎭㈠澶辫触 - - - - The saved session will not be restored because Arora crashed while trying to restore this session. - 淇濆瓨鐨勪細璇濅笉浼氭仮澶嶏紝鍥犱负Arora鍦ㄥ皾璇曟仮澶嶈浼氳瘽鏃跺凡宕╂簝銆 - - - - BrowserMainWindow - - - &File - 鏂囦欢(&F) - - - - &New Window - 鏂扮獥鍙(&N) - - - - &Open File... - 鎵撳紑鏂囦欢(&O)... - - - - Open &Location... - 鎵撳紑浣嶇疆(&L)... - - - - &Save As... - 鍙﹀瓨涓(&S)... - - - - &Import Bookmarks... - 瀵煎叆涔︾(&I)... - - - - &Export Bookmarks... - 瀵煎嚭涔︾(&E)... - - - - P&rint Preview... - 鎵撳嵃棰勮(&P)... - - - - &Print... - 鎵撳嵃(&P)... - - - - Private &Browsing... - 闅愮娴忚(&B)... - - - - &Quit - 閫鍑(&Q) - - - - &Edit - 缂栬緫(&E) - - - - &Undo - 鎾ら攢(&U) - - - - &Redo - 閲嶅仛(&R) - - - - Cu&t - 鍓垏(&t) - - - - &Copy - 澶嶅埗(&C) - - - - &Paste - 绮樺笘(&P) - - - - &Find - 鏌ユ壘(&F) - - - - Find Nex&t - 鏌ユ壘涓嬩竴涓(&t) - - - - Find P&revious - 鏌ユ壘鍓嶄竴涓(&r) - - - - Prefere&nces... - 閫夐」(&r)... - - - - Ctrl+, - - - - - &View - 鏌ョ湅(&V) - - - - Show Menu Bar - 鏄剧ず鑿滃崟鏍 - - - - Ctrl+| - - - - - Shift+Ctrl+B - - - - - Ctrl+/ - - - - - &Stop - 鍋滄(&S) - - - - &Reload Page - 閲嶆柊鍔犺浇椤甸潰(&R) - - - - Make Text &Bigger - 瀛椾綋鏀惧ぇ(&B) - - - - Make Text &Normal - 鏅氬瓧浣(&N) - - - - Make Text &Smaller - 瀛椾綋缂╁皬(&S) - - - - Page S&ource - 椤甸潰婧愮爜(&o) - - - - Ctrl+Alt+U - - - - - &Full Screen - 鍏ㄥ睆(&F) - - - - Hi&story - 鍘嗗彶(&s) - - - - Back - 鍚庨 - - - - Forward - 鍓嶈繘 - - - - Home - 涓婚〉 - - - - Restore Last Session - 鎭㈠鏈鍚庝竴娆′細璇 - - - - &Bookmarks - 鏍囩(&B) - - - - Manage Bookmarks... - 绠$悊鏍囩... - - - - Add Bookmark... - 娣诲姞鏍囩... - - - - &Window - 绐楀彛(&W) - - - - &Tools - 宸ュ叿(&T) - - - - Web &Search - Web鎼滅储(&S) - - - - Ctrl+K - Web Search - - - - - &Clear Private Data - 娓呴櫎闅愮鏁版嵁(&C) - - - - Ctrl+Shift+Delete - Clear Private Data - - - - - Enable Web &Inspector - 鍏佽Web &Inspector - - - - &Help - 甯姪(&H) - - - - Switch application language - 鍒囨崲搴旂敤绋嬪簭璇█ - - - - About &Qt - 鍏充簬&Qt - - - - About &Arora - 鍏充簬&Arora - - - - Navigation - 瀵艰埅 - - - - Show Status Bar - 鏄剧ず鐘舵佹爮 - - - - Hide Status Bar - 闅愯棌鐘舵佹爮 - - - - Show Toolbar - 鏄剧ず宸ュ叿鏍 - - - - Hide Toolbar - 闅愯棌宸ュ叿鏍 - - - - Show Bookmarks Bar - 鏄剧ず鏍囩鏍 - - - - Hide Bookmarks Bar - 闅愯棌鏍囩鏍 - - - - Arora - - - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - - Open Web Resource - 鎵撳紑Web璧勬簮 - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Web璧勬簮 (*.html *.htm *.svg *.png *.gif *.svgz);;鎵鏈夋枃浠 (*.*) - - - - Print Document - 鎵撳嵃鏂囨。 - - - - Are you sure you want to turn on private browsing? - 鏄惁纭鎵撳紑闅愮娴忚锛 - - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>褰撳紑鍚殣绉佹祻瑙堟椂锛屽叧浜庝綘鐨勬煇浜涢殣绉佸姩浣滀笉浼氳璁板綍锛<ul><li> 椤甸潰涓嶄細琚坊鍔犲埌鍘嗗彶涓</li><li>涓嬭浇椤逛細鑷姩浠庝笅杞界獥鍙gЩ闄ゃ </li><li> 鏂扮殑cookies涓嶄細琚瓨鍌紝褰撳墠鐨刢ookies涔熶笉浼氳璁块棶銆</li><li>绔欑偣鍥炬爣涓嶄細琚瓨鍌紝浼氳瘽涔熶笉浼氳淇濆瓨銆 </li><li>鎼滅储鍔ㄤ綔涓嶄細琚坊鍔犲埌鎼滅储妗嗙殑寮瑰嚭鑿滃崟涓</li></ul>鍦ㄥ叧闂獥鍙d箣鍓嶏紝浣犲彲浠ヤ竴鐩撮氳繃鐐瑰嚮鍚庨鍜屽墠杩涙寜閽潵娴忚宸叉墦寮杩囩殑椤甸潰銆 - - - - Are you sure you want to close the window? There are %1 tabs open - 鏄惁纭鍏抽棴绐楀彛锛熻繕鏈%1涓爣绛炬墦寮鐫 - - - - Web Inspector - - - - - The web inspector will only work correctly for pages that were loaded after enabling. -Do you want to reload all pages? - web inspector鍙湪椤甸潰琚厑璁镐笖琚姞杞藉悗鎵嶈兘姝e父杩愯銆 -甯屾湜閲嶆柊鍔犺浇鎵鏈夐〉闈㈠悧锛 - - - - Stop loading the current page - 鍋滄鍔犺浇褰撳墠椤甸潰 - - - - Reload the current page - 閲嶆柊鍔犺浇褰撳墠椤甸潰 - - - - Downloads - 涓嬭浇 - - - - Alt+Ctrl+L - Download Manager - - - - - ClearButton - - - Clear - 娓呴櫎 - - - - ClearPrivateData - - - Clear Private Data - 娓呴櫎闅愮鏁版嵁 - - - - Clear the following items: - 娓呴櫎浠ヤ笅椤癸細 - - - - &Browsing History - 娴忚鍘嗗彶(&B) - - - - &Download History - 涓嬭浇鍘嗗彶(&D) - - - - &Search History - 鎼滅储鍘嗗彶(&S) - - - - &Cookies - - - - - C&ached Web Pages - 缂撳瓨鐨勯〉闈(&a) - - - - Website &Icons - 缃戠珯鍥炬爣(&I) - - - - Clear &Private Data - 娓呴櫎闅愮鏁版嵁(&P) - - - - &Cancel - 鍙栨秷(&C) - - - - CookieExceptionsModel - - - Website - 缃戠珯 - - - - Rule - 瑙勫垯 - - - - Allow - 鍏佽 - - - - Block - 闃绘尅 - - - - Allow For Session - 浼氳瘽涓厑璁 - - - - CookieModel - - - Website - 缃戠珯 - - - - Name - 鍚嶅瓧 - - - - Path - 璺緞 - - - - Secure - 瀹夊叏 - - - - Expires - 澶辨晥 - - - - Contents - 鍐呭 - - - - true - - - - - false - - - - - CookiesDialog - - - Cookies - - - - - &Remove - 绉婚櫎(&R) - - - - Remove &All Cookies - 绉婚櫎鎵鏈塁ookies(&A) - - - - CookiesExceptionsDialog - - - Cookie Exceptions - Cookie渚嬪 - - - - New Exception - 鏂板缓渚嬪 - - - - Domain: - 鍩燂細 - - - - Block - 闃绘尅 - - - - Allow For Session - 浼氳瘽涓厑璁 - - - - Allow - 鍏佽 - - - - Exceptions - 渚嬪 - - - - &Remove - 绉婚櫎(&R) - - - - Remove &All - 绉婚櫎鎵鏈(&A) - - - - DownloadDialog - - - Downloads - 涓嬭浇 - - - - Clean up - 娓呴櫎 - - - - 0 Items - 0椤 - - - - &OK - - - - - DownloadItem - - - Form - 琛ㄥ崟 - - - - Ico - - - - - Filename - 鏂囦欢鍚 - - - - Try Again - 閲嶆柊灏濊瘯 - - - - Stop - 鍋滄 - - - - Open - 鎵撳紑 - - - - Save File - 淇濆瓨鏂囦欢 - - - - Download canceled: %1 - 涓嬭浇鍙栨秷锛 %1 - - - - Error opening output file: %1 - 鎵撳紑杈撳嚭鏂囦欢鍑洪敊锛 %1 - - - - Error saving: %1 - 淇濆瓨鍑洪敊锛 %1 - - - - Network Error: %1 - 缃戠粶鍑洪敊锛 %1 - - - - seconds - - - - - - %n minutes remaining - - - 杩樻湁 %n 鍒嗛挓 - - - - - - %n seconds remaining - - - 杩樻湁 %n 绉 - - - - - %1 of %2 (%3/sec) %4 - %1 of %2 (%3/绉) %4 - - - - ? - - - - - %1 of %2 - Stopped - %1 of %2 - 鍋滄 - - - - bytes - 瀛楄妭 - - - - kB - - - - - MB - - - - - DownloadManager - - - %n Download(s) - - %n 涓嬭浇 - - - - - HistoryDialog - - - Open - 鎵撳紑 - - - - Copy - 澶嶅埗 - - - - Delete - 鍒犻櫎 - - - - History - 鍘嗗彶 - - - - &Remove - 绉婚櫎(&R) - - - - Remove &All - 绉婚櫎鎵鏈(&A) - - - - HistoryMenu - - - Show All History - 鏄剧ず鎵鏈夊巻鍙 - - - - Clear History... - 娓呴櫎鍘嗗彶... - - - - Clear History - 娓呴櫎鍘嗗彶 - - - - Do you want to clear the history? - 甯屾湜娓呴櫎鍘嗗彶鍚楋紵 - - - - HistoryModel - - - Title - 鏍囬 - - - - Address - 鍦板潃 - - - - HistoryTreeModel - - - Earlier Today - 鏃╀簺鏃跺 - - - - %n item(s) - - %n 椤 - - - - - LanguageManager - - - Default - 缂虹渷 - - - - Choose language - 閫夋嫨璇█ - - - - <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> - <p>浣犲彲浠ヨ繍琛屽湪鍏跺畠璇█鐜涓<br>鑰屼笉閲囩敤鎿嶄綔绯荤粺鎵缂虹渷鐨勮瑷鐜</p><p>璇烽夋嫨搴旇浣跨敤鐨勮瑷鐜</p> - - - - NetworkAccessManager - - - <qt>Enter username and password for "%1" at %2</qt> - <qt>涓 "%1" 鍦 %2 杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜</qt> - - - - <qt>Connect to proxy "%1" using:</qt> - <qt>杩炴帴鍒颁唬鐞 "%1" 浣跨敤锛</qt> - - - - SSL Errors: - -%1 - -%2 - -Do you want to ignore these errors? - SSL 閿欒锛%1%2甯屾湜蹇界暐璇ラ敊璇悧锛 - - - - Do you want to accept all these certificates? - 纭鎺ュ彈鎵鏈夎瘉涔﹀悧锛 - - - - PasswordDialog - - - Authentication Required - 闇瑕侀獙璇 - - - - DUMMY ICON - - - - - INTRO TEXT DUMMY - - - - - Username: - 鐢ㄦ埛鍚嶏細 - - - - Password: - 瀵嗙爜锛 - - - - PlainTextEditSearch - - - Not Found - 鏈壘鍒 - - - - ProxyDialog - - - Proxy Authentication - 浠g悊楠岃瘉 - - - - ICON - - - - - Connect to proxy - 杩炴帴鍒颁唬鐞 - - - - Username: - 鐢ㄦ埛鍚嶏細 - - - - Password: - 瀵嗙爜锛 - - - - QObject - - - The file is not an XBEL version 1.0 file. - 璇ユ枃浠朵笉鏄増鏈负1.0鐨刋BEL鏂囦欢 - - - - Unknown title - 鏈煡鏂囦欢 - - - - SearchBanner - - - Form - 琛ㄥ崟 - - - - TextLabel - 鏂囨湰鏍囩 - - - - < - - - - - > - - - - - Done - 瀹屾垚 - - - - SearchLineEdit - - - Search - 鎼滅储 - - - - Settings - - - Preferences - 閫夐」 - - - - General - 甯歌 - - - - On startup: - 鍚姩鏃讹細 - - - - Show my home page - 鏄剧ず鎴戠殑涓婚〉 - - - - Show a blank page - 鏄剧ず绌虹櫧椤 - - - - Restore windows and tabs from last time - 鎭㈠鏈鍚庝竴娆$殑绐楀彛鍜屾爣绛 - - - - Home Page: - 涓婚〉锛 - - - - Set to current page - 璁剧疆涓哄綋鍓嶉〉闈 - - - - Remove history items: - 绉婚櫎鍘嗗彶椤癸細 - - - - After one day - 涓澶╁悗 - - - - After one week - 涓鍛ㄥ悗 - - - - After two weeks - 涓ゅ懆鍚 - - - - After one month - 涓涓湀鍚 - - - - After one year - 涓骞村悗 - - - - Manually - 鎵嬪伐 - - - - On application exit - 搴旂敤閫鍑 - - - - Open links from applications: - 浠庡簲鐢ㄧ▼搴忔墦寮閾炬帴锛 - - - - In a tab in the current window - 鍦ㄥ綋鍓嶇獥鍙g殑鏍囩涓 - - - - In a new window - 鍦ㄦ柊绐楀彛涓 - - - - Downloads - 涓嬭浇 - - - - Ask for a destination each time - 姣忔鍧囪闂洰鐨勫湴 - - - - Use this destination: - 浣跨敤璇ョ洰鐨勫湴锛 - - - - Appearance - 澶栬 - - - - Standard font: - 鏍囧噯瀛椾綋 - - - - Times 16 - - - - - Select... - 閫夋嫨... - - - - Fixed-width font: - 瀹氬瀛椾綋锛 - - - - Courier 13 - - - - - Privacy - 闅愮 - - - - Web Content - Web鍐呭 - - - - Enable Plugins - 鍏佽鎻掍欢 - - - - Enable Javascript - 鍏佽Javascript - - - - View Images - 鏌ョ湅鍥剧墖 - - - - Cookies - - - - - Accept Cookies: - 鎺ュ彈Cookies锛 - - - - Always - 鎬绘槸 - - - - Never - 浠庝笉 - - - - Only from sites you navigate to - 鍙厑璁镐粠娴忚杩囩殑绔欑偣 - - - - Exceptions... - 渚嬪... - - - - Keep Cookies Until: - 淇濇寔Cookies鐩村埌锛 - - - - They expire - 瀹冧滑澶辨晥 - - - - I exit the application - 閫鍑哄簲鐢ㄧ▼搴 - - - - At most 90 days - 鏈澶90澶 - - - - Cookies... - - - - - Tabs - 鏍囩 - - - - Select tabs and windows as they are created - 鍦ㄦ爣绛惧拰绐楀彛琚垱寤哄悗閫夋嫨瀹冧滑 - - - - Confirm when closing multiple tabs - 鍏抽棴澶氫釜鏍囩鏃惰繘琛岀‘璁 - - - - Proxy - 浠g悊 - - - - Use proxy server - 浣跨敤浠g悊鏈嶅姟鍣 - - - - Type: - 绫诲瀷锛 - - - - Socks5 - - - - - Http - - - - - Host name: - 涓绘満鍚嶏細 - - - - Port: - 绔彛锛 - - - - User Name: - 鐢ㄦ埛鍚嶏細 - - - - Password: - 瀵嗙爜锛 - - - - Advanced - 楂樼骇 - - - - Style Sheet: - 鏍峰紡琛細 - - - - SourceViewer - - - Loading... - 鍔犺浇... - - - - &Edit - 缂栬緫(&E) - - - - &Find - 鏌ユ壘(&F) - - - - Source of Page - 椤甸潰婧愮爜 - - - - TabBar - - - Show Tab Bar - 鏄剧ず鏍囩鏍 - - - - Hide Tab Bar - 闅愯棌鏍囩鏍 - - - - New &Tab - 鏂版爣绛鹃〉(&T) - - - - Duplicate Tab - 澶嶅埗鏍囩 - - - - &Close Tab - 鍏抽棴鏍囩(&C) - - - - Close &Other Tabs - 鍏抽棴鍏跺畠鏍囩(&O) - - - - Reload Tab - 閲嶆柊鍔犺浇鏍囩 - - - - Reload All Tabs - 閲嶆柊鍔犺浇鎵鏈夋爣绛 - - - - TabWidget - - - New &Tab - 鏂版爣绛鹃〉(&T) - - - - &Close Tab - 鍏抽棴鏍囩(&C) - - - - Show Next Tab - 鏄剧ず涓嬩竴涓爣绛 - - - - Show Previous Tab - 鏄剧ず鍓嶄竴涓爣绛 - - - - Recently Closed Tabs - 鏈杩戝叧闂殑鏍囩 - - - - Untitled - 鏃犳爣棰 - - - - Do you really want to close this page? - 纭鍏抽棴璇ラ〉闈紵 - - - - You have modified this page and when closing it you would lose the modification. -Do you really want to close this page? - - 椤甸潰宸茶淇敼锛屽鏋滃叧闂紝灏嗕涪澶辨墍鏈変慨鏀广傜‘璁ゅ叧闂椤甸潰锛 - - - - ToolbarSearch - - - No Recent Searches - 鏃犳渶杩戞悳绱 - - - - Recent Searches - 鏈杩戞悳绱 - - - - Clear Recent Searches - 娓呴櫎鏈杩戞悳绱 - - - - WebPage - - - Error loading page: %1 - 鍔犺浇椤甸潰鍑洪敊锛 %1 - - - - WebView - - - Open in New &Window - 鍦ㄦ柊绐楀彛涓墦寮(&W) - - - - Open in New &Tab - 鍦ㄦ柊鏍囩椤典腑鎵撳紑(&T) - - - - Save Lin&k - 淇濆瓨閾炬帴(&k) - - - - &Bookmark This Link - 娣诲姞璇ラ摼鎺ュ埌涔︾(&B) - - - - &Copy Link Location - 澶嶅埗閾炬帴鍦板潃(&C) - - - - Open Image in New &Window - 鍦ㄦ柊绐楀彛涓墦寮鍥剧墖(&W) - - - - Open Image in New &Tab - 鍦ㄦ柊鏍囩椤典腑鎵撳紑鍥剧墖(&T) - - - - &Save Image - 淇濆瓨鍥剧墖(&S) - - - - &Copy Image - 澶嶅埗鍥剧墖(&C) - - - - C&opy Image Location - 澶嶅埗鍥剧墖鍦板潃(&o) - - - - Loading... - 鍔犺浇... - - - - WebViewSearch - - - Not Found - 鏈壘鍒 - - - + + + + + + AboutDialog + + About + 鍏充簬 + + + Authors + 浣滆 + + + License + 璁稿彲璇 + + + Lightweight WebKit-based web browser + 杞诲揩鐨勬祻瑙堝櫒-鍩轰簬Webkit + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + 鍏抽棴 + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + + AddBookmarkDialog + + Add Bookmark + 娣诲姞涔︾ + + + Type a name for the bookmark, and choose where to keep it. + 璇疯緭鍏ヤ功绛惧悕锛屽苟閫夋嫨淇濆瓨浣嶇疆 + + + + BookmarksDialog + + Open + 鎵撳紑 + + + Open in New Tab + 鍦ㄦ柊鏍囩椤典腑鎵撳紑 + + + Delete + 鍒犻櫎 + + + New Folder + 鏂板缓鏂囦欢澶 + + + Bookmarks + 涔︾ + + + &Remove + 绉婚櫎(&R) + + + Add Folder + 娣诲姞鏂囦欢澶 + + + + BookmarksManager + + Error when loading bookmarks on line %1, column %2: +%3 + 鍦ㄨ%1锛屽垪%2: +%3瀵煎叆涔︾鏃跺嚭閿 + + + Toolbar Bookmarks + 宸ュ叿鏍忎功绛 + + + Menu + 鑿滃崟 + + + Open File + 鎵撳紑鏂囦欢 + + + XBEL (*.xbel *.xml) + + + + Imported %1 + 瀵煎叆鐨%1 + + + Save File + 淇濆瓨鏂囦欢 + + + %1 Bookmarks.xbel + + + + Export error + 瀵煎嚭閿欒 + + + error saving bookmarks + 淇濆瓨涔︾鍑洪敊 + + + Remove Bookmark + 绉婚櫎涔︾ + + + Insert Bookmark + 鎻掑叆涔︾ + + + Name Change + 鍚嶅瓧鍙樻洿 + + + Address Change + 鍦板潃鍙樻洿 + + + + BookmarksModel + + Title + 鏍囬 + + + Address + 鍦板潃 + + + + BookmarksToolBar + + Bookmark + 涔︾ + + + + BrowserApplication + + (Change: %1 %2) + (鍙樻洿锛 %1 %2) + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + 鏈%1涓獥鍙e拰%2涓爣绛句负鎵撳紑鐘舵 +浠嶆棫纭閫鍑哄悧锛 + + + Restore failed + 鎭㈠澶辫触 + + + The saved session will not be restored because Arora crashed while trying to restore this session. + 淇濆瓨鐨勪細璇濅笉浼氭仮澶嶏紝鍥犱负Arora鍦ㄥ皾璇曟仮澶嶈浼氳瘽鏃跺凡宕╂簝銆 + + + + BrowserMainWindow + + &File + 鏂囦欢(&F) + + + &New Window + 鏂扮獥鍙(&N) + + + &Open File... + 鎵撳紑鏂囦欢(&O)... + + + Open &Location... + 鎵撳紑浣嶇疆(&L)... + + + &Save As... + 鍙﹀瓨涓(&S)... + + + &Import Bookmarks... + 瀵煎叆涔︾(&I)... + + + &Export Bookmarks... + 瀵煎嚭涔︾(&E)... + + + P&rint Preview... + 鎵撳嵃棰勮(&P)... + + + &Print... + 鎵撳嵃(&P)... + + + Private &Browsing... + 闅愮娴忚(&B)... + + + &Quit + 閫鍑(&Q) + + + &Edit + 缂栬緫(&E) + + + &Undo + 鎾ら攢(&U) + + + &Redo + 閲嶅仛(&R) + + + Cu&t + 鍓垏(&t) + + + &Copy + 澶嶅埗(&C) + + + &Paste + 绮樺笘(&P) + + + &Find + 鏌ユ壘(&F) + + + Find Nex&t + 鏌ユ壘涓嬩竴涓(&t) + + + Find P&revious + 鏌ユ壘鍓嶄竴涓(&r) + + + Prefere&nces... + 閫夐」(&r)... + + + Ctrl+, + + + + &View + 鏌ョ湅(&V) + + + Show Menu Bar + 鏄剧ず鑿滃崟鏍 + + + Ctrl+| + + + + Shift+Ctrl+B + + + + Ctrl+/ + + + + &Stop + 鍋滄(&S) + + + &Reload Page + 閲嶆柊鍔犺浇椤甸潰(&R) + + + Make Text &Bigger + 瀛椾綋鏀惧ぇ(&B) + + + Make Text &Normal + 鏅氬瓧浣(&N) + + + Make Text &Smaller + 瀛椾綋缂╁皬(&S) + + + Page S&ource + 椤甸潰婧愮爜(&o) + + + Ctrl+Alt+U + + + + &Full Screen + 鍏ㄥ睆(&F) + + + Hi&story + 鍘嗗彶(&s) + + + Back + 鍚庨 + + + Forward + 鍓嶈繘 + + + Home + 涓婚〉 + + + Restore Last Session + 鎭㈠鏈鍚庝竴娆′細璇 + + + &Bookmarks + 鏍囩(&B) + + + Manage Bookmarks... + 绠$悊鏍囩... + + + Add Bookmark... + 娣诲姞鏍囩... + + + &Window + 绐楀彛(&W) + + + &Tools + 宸ュ叿(&T) + + + Web &Search + Web鎼滅储(&S) + + + Ctrl+K + Web Search + + + + &Clear Private Data + 娓呴櫎闅愮鏁版嵁(&C) + + + Ctrl+Shift+Delete + Clear Private Data + + + + Enable Web &Inspector + 鍏佽Web &Inspector + + + &Help + 甯姪(&H) + + + Switch application language + 鍒囨崲搴旂敤绋嬪簭璇█ + + + About &Qt + 鍏充簬&Qt + + + About &Arora + 鍏充簬&Arora + + + Navigation + 瀵艰埅 + + + Show Status Bar + 鏄剧ず鐘舵佹爮 + + + Hide Status Bar + 闅愯棌鐘舵佹爮 + + + Show Toolbar + 鏄剧ず宸ュ叿鏍 + + + Hide Toolbar + 闅愯棌宸ュ叿鏍 + + + Show Bookmarks Bar + 鏄剧ず鏍囩鏍 + + + Hide Bookmarks Bar + 闅愯棌鏍囩鏍 + + + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + Open Web Resource + 鎵撳紑Web璧勬簮 + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Web璧勬簮 (*.html *.htm *.svg *.png *.gif *.svgz);;鎵鏈夋枃浠 (*.*) + + + Print Document + 鎵撳嵃鏂囨。 + + + Are you sure you want to turn on private browsing? + 鏄惁纭鎵撳紑闅愮娴忚锛 + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>褰撳紑鍚殣绉佹祻瑙堟椂锛屽叧浜庝綘鐨勬煇浜涢殣绉佸姩浣滀笉浼氳璁板綍锛<ul><li> 椤甸潰涓嶄細琚坊鍔犲埌鍘嗗彶涓</li><li>涓嬭浇椤逛細鑷姩浠庝笅杞界獥鍙gЩ闄ゃ </li><li> 鏂扮殑cookies涓嶄細琚瓨鍌紝褰撳墠鐨刢ookies涔熶笉浼氳璁块棶銆</li><li>绔欑偣鍥炬爣涓嶄細琚瓨鍌紝浼氳瘽涔熶笉浼氳淇濆瓨銆 </li><li>鎼滅储鍔ㄤ綔涓嶄細琚坊鍔犲埌鎼滅储妗嗙殑寮瑰嚭鑿滃崟涓</li></ul>鍦ㄥ叧闂獥鍙d箣鍓嶏紝浣犲彲浠ヤ竴鐩撮氳繃鐐瑰嚮鍚庨鍜屽墠杩涙寜閽潵娴忚宸叉墦寮杩囩殑椤甸潰銆 + + + Are you sure you want to close the window? There are %1 tabs open + 鏄惁纭鍏抽棴绐楀彛锛熻繕鏈%1涓爣绛炬墦寮鐫 + + + Web Inspector + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + web inspector鍙湪椤甸潰琚厑璁镐笖琚姞杞藉悗鎵嶈兘姝e父杩愯銆 +甯屾湜閲嶆柊鍔犺浇鎵鏈夐〉闈㈠悧锛 + + + Stop loading the current page + 鍋滄鍔犺浇褰撳墠椤甸潰 + + + Reload the current page + 閲嶆柊鍔犺浇褰撳墠椤甸潰 + + + Downloads + 涓嬭浇 + + + Alt+Ctrl+L + Download Manager + + + + + ClearButton + + Clear + 娓呴櫎 + + + + ClearPrivateData + + Clear Private Data + 娓呴櫎闅愮鏁版嵁 + + + Clear the following items: + 娓呴櫎浠ヤ笅椤癸細 + + + &Browsing History + 娴忚鍘嗗彶(&B) + + + &Download History + 涓嬭浇鍘嗗彶(&D) + + + &Search History + 鎼滅储鍘嗗彶(&S) + + + &Cookies + + + + C&ached Web Pages + 缂撳瓨鐨勯〉闈(&a) + + + Website &Icons + 缃戠珯鍥炬爣(&I) + + + Clear &Private Data + 娓呴櫎闅愮鏁版嵁(&P) + + + &Cancel + 鍙栨秷(&C) + + + + CookieExceptionsModel + + Website + 缃戠珯 + + + Rule + 瑙勫垯 + + + Allow + 鍏佽 + + + Block + 闃绘尅 + + + Allow For Session + 浼氳瘽涓厑璁 + + + + CookieModel + + Website + 缃戠珯 + + + Name + 鍚嶅瓧 + + + Path + 璺緞 + + + Secure + 瀹夊叏 + + + Expires + 澶辨晥 + + + Contents + 鍐呭 + + + true + + + + false + + + + + CookiesDialog + + Cookies + + + + &Remove + 绉婚櫎(&R) + + + Remove &All Cookies + 绉婚櫎鎵鏈塁ookies(&A) + + + + CookiesExceptionsDialog + + Cookie Exceptions + Cookie渚嬪 + + + New Exception + 鏂板缓渚嬪 + + + Domain: + 鍩燂細 + + + Block + 闃绘尅 + + + Allow For Session + 浼氳瘽涓厑璁 + + + Allow + 鍏佽 + + + Exceptions + 渚嬪 + + + &Remove + 绉婚櫎(&R) + + + Remove &All + 绉婚櫎鎵鏈(&A) + + + + DownloadDialog + + Downloads + 涓嬭浇 + + + Clean up + 娓呴櫎 + + + 0 Items + 0椤 + + + &OK + + + + + DownloadItem + + Form + 琛ㄥ崟 + + + Ico + + + + Filename + 鏂囦欢鍚 + + + Try Again + 閲嶆柊灏濊瘯 + + + Stop + 鍋滄 + + + Open + 鎵撳紑 + + + Save File + 淇濆瓨鏂囦欢 + + + Download canceled: %1 + 涓嬭浇鍙栨秷锛 %1 + + + Error opening output file: %1 + 鎵撳紑杈撳嚭鏂囦欢鍑洪敊锛 %1 + + + Error saving: %1 + 淇濆瓨鍑洪敊锛 %1 + + + Network Error: %1 + 缃戠粶鍑洪敊锛 %1 + + + seconds + + + + - %n minutes remaining + + - 杩樻湁 %n 鍒嗛挓 + + + + - %n seconds remaining + + - 杩樻湁 %n 绉 + + + + %1 of %2 (%3/sec) %4 + %1 of %2 (%3/绉) %4 + + + ? + + + + %1 of %2 - Stopped + %1 of %2 - 鍋滄 + + + bytes + 瀛楄妭 + + + kB + + + + MB + + + + + DownloadManager + + %n Download(s) + + %n 涓嬭浇 + + + + + HistoryDialog + + Open + 鎵撳紑 + + + Copy + 澶嶅埗 + + + Delete + 鍒犻櫎 + + + History + 鍘嗗彶 + + + &Remove + 绉婚櫎(&R) + + + Remove &All + 绉婚櫎鎵鏈(&A) + + + + HistoryMenu + + Show All History + 鏄剧ず鎵鏈夊巻鍙 + + + Clear History... + 娓呴櫎鍘嗗彶... + + + Clear History + 娓呴櫎鍘嗗彶 + + + Do you want to clear the history? + 甯屾湜娓呴櫎鍘嗗彶鍚楋紵 + + + + HistoryModel + + Title + 鏍囬 + + + Address + 鍦板潃 + + + + HistoryTreeModel + + Earlier Today + 鏃╀簺鏃跺 + + + %n item(s) + + %n 椤 + + + + + LanguageManager + + Default + 缂虹渷 + + + Choose language + 閫夋嫨璇█ + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>浣犲彲浠ヨ繍琛屽湪鍏跺畠璇█鐜涓<br>鑰屼笉閲囩敤鎿嶄綔绯荤粺鎵缂虹渷鐨勮瑷鐜</p><p>璇烽夋嫨搴旇浣跨敤鐨勮瑷鐜</p> + + + + NetworkAccessManager + + <qt>Enter username and password for "%1" at %2</qt> + <qt>涓 "%1" 鍦 %2 杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜</qt> + + + <qt>Connect to proxy "%1" using:</qt> + <qt>杩炴帴鍒颁唬鐞 "%1" 浣跨敤锛</qt> + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL 閿欒锛%1%2甯屾湜蹇界暐璇ラ敊璇悧锛 + + + Do you want to accept all these certificates? + 纭鎺ュ彈鎵鏈夎瘉涔﹀悧锛 + + + + PasswordDialog + + Authentication Required + 闇瑕侀獙璇 + + + DUMMY ICON + + + + INTRO TEXT DUMMY + + + + Username: + 鐢ㄦ埛鍚嶏細 + + + Password: + 瀵嗙爜锛 + + + + PlainTextEditSearch + + Not Found + 鏈壘鍒 + + + + ProxyDialog + + Proxy Authentication + 浠g悊楠岃瘉 + + + ICON + + + + Connect to proxy + 杩炴帴鍒颁唬鐞 + + + Username: + 鐢ㄦ埛鍚嶏細 + + + Password: + 瀵嗙爜锛 + + + + QObject + + The file is not an XBEL version 1.0 file. + 璇ユ枃浠朵笉鏄増鏈负1.0鐨刋BEL鏂囦欢 + + + Unknown title + 鏈煡鏂囦欢 + + + + SearchBanner + + Form + 琛ㄥ崟 + + + TextLabel + 鏂囨湰鏍囩 + + + < + + + + > + + + + Done + 瀹屾垚 + + + + SearchLineEdit + + Search + 鎼滅储 + + + + Settings + + Preferences + 閫夐」 + + + General + 甯歌 + + + On startup: + 鍚姩鏃讹細 + + + Show my home page + 鏄剧ず鎴戠殑涓婚〉 + + + Show a blank page + 鏄剧ず绌虹櫧椤 + + + Restore windows and tabs from last time + 鎭㈠鏈鍚庝竴娆$殑绐楀彛鍜屾爣绛 + + + Home Page: + 涓婚〉锛 + + + Set to current page + 璁剧疆涓哄綋鍓嶉〉闈 + + + Remove history items: + 绉婚櫎鍘嗗彶椤癸細 + + + After one day + 涓澶╁悗 + + + After one week + 涓鍛ㄥ悗 + + + After two weeks + 涓ゅ懆鍚 + + + After one month + 涓涓湀鍚 + + + After one year + 涓骞村悗 + + + Manually + 鎵嬪伐 + + + On application exit + 搴旂敤閫鍑 + + + Open links from applications: + 浠庡簲鐢ㄧ▼搴忔墦寮閾炬帴锛 + + + In a tab in the current window + 鍦ㄥ綋鍓嶇獥鍙g殑鏍囩涓 + + + In a new window + 鍦ㄦ柊绐楀彛涓 + + + Downloads + 涓嬭浇 + + + Ask for a destination each time + 姣忔鍧囪闂洰鐨勫湴 + + + Use this destination: + 浣跨敤璇ョ洰鐨勫湴锛 + + + Appearance + 澶栬 + + + Standard font: + 鏍囧噯瀛椾綋锛 + + + Times 16 + + + + Select... + 閫夋嫨... + + + Fixed-width font: + 瀹氬瀛椾綋锛 + + + Courier 13 + + + + Privacy + 闅愮 + + + Web Content + Web鍐呭 + + + Enable Plugins + 鍏佽鎻掍欢 + + + Enable Javascript + 鍏佽Javascript + + + View Images + 鏌ョ湅鍥剧墖 + + + Cookies + + + + Accept Cookies: + 鎺ュ彈Cookies锛 + + + Always + 鎬绘槸 + + + Never + 浠庝笉 + + + Only from sites you navigate to + 鍙厑璁镐粠娴忚杩囩殑绔欑偣 + + + Exceptions... + 渚嬪... + + + Keep Cookies Until: + 淇濇寔Cookies鐩村埌锛 + + + They expire + 瀹冧滑澶辨晥 + + + I exit the application + 閫鍑哄簲鐢ㄧ▼搴 + + + At most 90 days + 鏈澶90澶 + + + Cookies... + + + + Tabs + 鏍囩 + + + Select tabs and windows as they are created + 鍦ㄦ爣绛惧拰绐楀彛琚垱寤哄悗閫夋嫨瀹冧滑 + + + Confirm when closing multiple tabs + 鍏抽棴澶氫釜鏍囩鏃惰繘琛岀‘璁 + + + Proxy + 浠g悊 + + + Use proxy server + 浣跨敤浠g悊鏈嶅姟鍣 + + + Type: + 绫诲瀷锛 + + + Socks5 + + + + Http + + + + Host name: + 涓绘満鍚嶏細 + + + Port: + 绔彛锛 + + + User Name: + 鐢ㄦ埛鍚嶏細 + + + Password: + 瀵嗙爜锛 + + + Advanced + 楂樼骇 + + + Style Sheet: + 鏍峰紡琛細 + + + Show only one close button instead of one for each tab + 鍙樉绀轰竴涓叧闂寜閽紝鑰屼笉鏄湪姣忎釜鏍囩涓婇兘鏄剧ず涓涓叧闂寜閽 + + + + SourceViewer + + Loading... + 鍔犺浇... + + + &Edit + 缂栬緫(&E) + + + &Find + 鏌ユ壘(&F) + + + Source of Page + 椤甸潰婧愮爜 + + + &View + 鏌ョ湅(&V) + + + &Wrap lines + 鎶樺彔琛(&W) + + + + TabBar + + Show Tab Bar + 鏄剧ず鏍囩鏍 + + + Hide Tab Bar + 闅愯棌鏍囩鏍 + + + New &Tab + 鏂版爣绛鹃〉(&T) + + + Duplicate Tab + 澶嶅埗鏍囩 + + + &Close Tab + 鍏抽棴鏍囩(&C) + + + Close &Other Tabs + 鍏抽棴鍏跺畠鏍囩(&O) + + + Reload Tab + 閲嶆柊鍔犺浇鏍囩 + + + Reload All Tabs + 閲嶆柊鍔犺浇鎵鏈夋爣绛 + + + + TabWidget + + New &Tab + 鏂版爣绛鹃〉(&T) + + + &Close Tab + 鍏抽棴鏍囩(&C) + + + Show Next Tab + 鏄剧ず涓嬩竴涓爣绛 + + + Show Previous Tab + 鏄剧ず鍓嶄竴涓爣绛 + + + Recently Closed Tabs + 鏈杩戝叧闂殑鏍囩 + + + Untitled + 鏃犳爣棰 + + + Do you really want to close this page? + 纭鍏抽棴璇ラ〉闈紵 + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + 椤甸潰宸茶淇敼锛屽鏋滃叧闂紝灏嗕涪澶辨墍鏈変慨鏀广傜‘璁ゅ叧闂椤甸潰锛 + + + + ToolbarSearch + + No Recent Searches + 鏃犳渶杩戞悳绱 + + + Recent Searches + 鏈杩戞悳绱 + + + Clear Recent Searches + 娓呴櫎鏈杩戞悳绱 + + + + WebPage + + Error loading page: %1 + 鍔犺浇椤甸潰鍑洪敊锛 %1 + + + When connecting to: %1. + 褰撹繛鎺ヨ嚦锛%1 + + + Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. + 妫鏌ュ湴鍧鏄惁閿欒锛屾瘮濡傝緭鍏ョ殑鏄 <b>ww</b>.trolltech.com 鑰屼笉鏄 <b>www</b>.trolltech.com. + + + If the address is correct, try to check the network connection. + 濡傛灉鍦板潃姝g‘锛岄偅涔堣妫鏌ョ綉缁滄槸鍚﹁繛鎺ャ + + + If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. + 濡傛灉璁$畻鏈烘垨缃戠粶琚槻鐏鎴栦唬鐞嗘墍淇濇姢锛岃纭娴忚鍣ㄨ鍏佽璁块棶缃戠粶銆 + + + + WebView + + Open in New &Window + 鍦ㄦ柊绐楀彛涓墦寮(&W) + + + Open in New &Tab + 鍦ㄦ柊鏍囩椤典腑鎵撳紑(&T) + + + Save Lin&k + 淇濆瓨閾炬帴(&k) + + + &Bookmark This Link + 娣诲姞璇ラ摼鎺ュ埌涔︾(&B) + + + &Copy Link Location + 澶嶅埗閾炬帴鍦板潃(&C) + + + Open Image in New &Window + 鍦ㄦ柊绐楀彛涓墦寮鍥剧墖(&W) + + + Open Image in New &Tab + 鍦ㄦ柊鏍囩椤典腑鎵撳紑鍥剧墖(&T) + + + &Save Image + 淇濆瓨鍥剧墖(&S) + + + &Copy Image + 澶嶅埗鍥剧墖(&C) + + + C&opy Image Location + 澶嶅埗鍥剧墖鍦板潃(&o) + + + Loading... + 鍔犺浇... + + + + WebViewSearch + + Not Found + 鏈壘鍒 + + + From 168f4220c0228e706da63e705f086495dea246f0 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 11:50:00 -0500 Subject: [PATCH 0320/1254] Implementation to get the current username on Windows from rittk --- src/utils/singleapplication.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/utils/singleapplication.cpp b/src/utils/singleapplication.cpp index 49db929d..088aae30 100644 --- a/src/utils/singleapplication.cpp +++ b/src/utils/singleapplication.cpp @@ -123,7 +123,23 @@ QString SingleApplication::serverName() const #ifndef Q_OS_WIN serverName += QString(QLatin1String("_%1_%2")).arg(getuid()).arg(getgid()); #else - // How do you get the current user on windows? + static QString login; + if(login.isEmpty()) + { + QT_WA({ + wchar_t buffer[256]; + DWORD bufferSize = sizeof(buffer) / sizeof(wchar_t) - 1; + GetUserNameW(buffer, &bufferSize); + login = QString::fromUtf16((ushort*)buffer); + }, + { + char buffer[256]; + DWORD bufferSize = sizeof(buffer) / sizeof(char) - 1; + GetUserNameA(buffer, &bufferSize); + login = QString::fromLocal8Bit(buffer); + }); + } + serverName += QString("_%1").arg(login); #endif return serverName; } From 0805a97312628292b6ea0606995a91056ea70084 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 21:49:57 -0500 Subject: [PATCH 0321/1254] Add Norwegian translation by Tom Gundersen Issue: 254 --- src/locale/locale.pri | 1 + src/locale/nb_NO.ts | 1827 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1828 insertions(+) create mode 100644 src/locale/nb_NO.ts diff --git a/src/locale/locale.pri b/src/locale/locale.pri index 4e6d760b..158c3cda 100644 --- a/src/locale/locale.pri +++ b/src/locale/locale.pri @@ -18,6 +18,7 @@ TRANSLATIONS += \ it_IT.ts \ ja_JP.ts \ ms.ts \ + nb_NO.ts \ nl_NL.ts \ pl_PL.ts \ ru_RU.ts \ diff --git a/src/locale/nb_NO.ts b/src/locale/nb_NO.ts new file mode 100644 index 00000000..f0d43ab1 --- /dev/null +++ b/src/locale/nb_NO.ts @@ -0,0 +1,1827 @@ + + + + AboutDialog + + + About + Om + + + + Authors + Forfattere + + + + License + Lisens + + + + Lightweight WebKit-based web browser + Lettvekts WebKit-basert nettleser + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Opphavsrett 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + <a href="http://arora-browser.org">http://arora-browser.org</a> + <a href="http://arora-browser.org">http://arora-browser.org</a> + + + + Close + Lukk + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Opphavsrett 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + + + + AddBookmarkDialog + + + Add Bookmark + Legg til bokmerke + + + + Type a name for the bookmark, and choose where to keep it. + Gi bokmerket et navn og velg hvor du vil lagre det. + + + + BookmarksDialog + + + Open + 脜pne + + + + Delete + Slett + + + + New Folder + Ny mappe + + + + Bookmarks + Bokmerker + + + + &Remove + &Fjern + + + + Add Folder + Legg til mappe + + + + Open in New Tab + 脜pne i ny fane + + + + Edit Name + Endre navn + + + + Edit Address + Endre adresse + + + + BookmarksManager + + + Error when loading bookmarks on line %1, column %2: +%3 + Feil ved lasting av bokmerker p氓 linje %1, rad %2: +%3 + + + + Toolbar Bookmarks + Bokmerker + + + + Menu + Meny + + + + Open File + 脜pne fil + + + + XBEL (*.xbel *.xml) + XBEL (*.xbel *.xml) + + + + Imported %1 + Importerte %1 + + + + Save File + Lagre fil + + + + %1 Bookmarks.xbel + %1 Bookmarks.xbel + + + + Export error + Feil ved eksportering + + + + error saving bookmarks + feil ved lagring av bokmerker + + + + Remove Bookmark + Fjern bokmerke + + + + Insert Bookmark + Legg til bokmerke + + + + Name Change + + + + + Address Change + + + + + BookmarksModel + + + Title + Tittel + + + + Address + Adresse + + + + BookmarksToolBar + + + Bookmark + Bokmerker + + + + BrowserApplication + + + There are %1 windows and %2 tabs open +Do you want to quit anyway? + Det er %1 vinduer og %2 faner 氓pne +Er du sikker p氓 at du vil avslutte Arora? + + + + Restore failed + Gjennopretningen misslyktes + + + + The saved session will not being restored because last time it was restored Arora crashed. + Den lagrede 酶kten blir ikke gjennoprettet siden forrige gang den ble gjnoprettet krasjet Arora. + + + + (Change: %1 %2) + (Endring: %1 %2) + + + + The saved session will not be restored because Arora crashed while trying to restore this session. + Den lagrede 酶kten blir ikke gjennoprettet siden det f酶rte til at Arora krasjet. + + + + BrowserMainWindow + + + &File + &Fil + + + + &New Window + &Nytt vindu + + + + &Open File... + &脜pne fil... + + + + Open &Location... + 脜pne &adresse... + + + + &Save As... + &Lagre som... + + + + &Import Bookmarks... + &Importer bokmerker... + + + + &Export Bookmarks... + &Eksporter bokmerker... + + + + P&rint Preview... + Fo&rh氓ndsvisning... + + + + &Print... + Skriv &ut... + + + + Private &Browsing... + Pri&vat surfing... + + + + &Quit + &Avslutt + + + + &Edit + &Rediger + + + + &Undo + &Angre + + + + &Redo + &Gjennta + + + + Cu&t + &Klipp + + + + &Copy + K&opier + + + + &Paste + &Lim + + + + &Find + &Finn + + + + Ctrl+, + Ctrl+, + + + + &View + &Vis + + + + Shift+Ctrl+B + Shift+Ctrl+B + + + + Ctrl+| + Ctrl+| + + + + Ctrl+/ + Ctrl+/ + + + + &Stop + &Stop + + + + Page S&ource + &Kildekode + + + + Ctrl+Alt+U + Ctrl+Alt+U + + + + &Full Screen + &Fullskjerm + + + + Hi&story + &Historie + + + + Back + Tilbake + + + + Forward + Fram + + + + Home + Hjem + + + + Restore Last Session + Gjennoprett siste 酶kt + + + + &Bookmarks + &Bokmerker + + + + Manage Bookmarks... + H氓ndter bokmerker... + + + + Add Bookmark... + Legg til bokmerke... + + + + &Window + &Vindu + + + + &Tools + &Verkt酶y + + + + Web &Search + &Netts酶k + + + + Ctrl+K + Web Search + Ctrl+K + + + + Enable Web &Inspector + + + + + &Help + &Hjelp + + + + About &Qt + Om &Qt + + + + About &Arora + Om &Arora + + + + Navigation + Navigering + + + + Show Status Bar + Vis statuslinje + + + + Hide Status Bar + Skjul statuslinje + + + + Show Toolbar + Vis verkt酶ylinje + + + + Hide Toolbar + Skjul verkt酶ylinje + + + + Arora + Arora + + + + %1 - Arora + Page title and Browser name + %1 - Arora + + + + Open Web Resource + 脜pne nettresurs + + + + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) + Nettresurs (*.html *.htm *.svg *.png *.gif *.svgz);;Alle filer (*.*) + + + + Print Document + Skriv ut dokument + + + + Are you sure you want to turn on private browsing? + Er du sikker p氓 at du vil skru p氓 privat surfing? + + + + Are you sure you want to close the window? There are %1 tabs open + Er du sikker p氓 at du vil lukke vinduet? Du har %1 faner 氓pne + + + + Page Source of %1 + Kildekoden til %1 + + + + Web Inspector + + + + + The web inspector will only work correctly for pages that were loaded after enabling. +Do you want to reload all pages? + + + + + Stop loading the current page + Avbryt lasting av denne siden + + + + Reload the current page + Oppdater denne siden + + + + Downloads + Nedlastninger + + + + Alt+Ctrl+L + Download Manager + Alt+Ctrl+L + + + + &Clear Private Data + &Slett privat data + + + + Ctrl+Shift+Delete + Clear Private Data + Ctrl+Shift+Delete + + + + Show Bookmarks Bar + Vis bokmerkelinjen + + + + Hide Bookmarks Bar + Skjul bokmerkelinjen + + + + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. + <b>%1</b><br><br>Noen handlinger relatert til dine personlige opplysninger vil bli deaktiverte n氓r privat surfing er skrudd p氓:<ul><li> Nettsider blir ikke lagt til i historien.</li><li> Elementer blir automatisk fjernet fra Nedlastninger vinduet.</li><li> Nye informasjonskapsler blir ikke lagret og gamle kan ikke 氓pnes.</li><li> Ikoner og 酶kter blir ikke lagret.</li><li> S酶k blir ikke lagt til i sprett-opp menyen i s酶keboksen.</li></ul>Du kan fremdeles klikke Tilbake og Fram intill du lukker vinduet. + + + + Find &Next + Finn &Neste + + + + Find P&revious + Finn &forrige + + + + Prefe&rences + &Instillinger + + + + &Reload Page + &Last siden p氓 nytt + + + + Make Text &Bigger + Gj酶r teksten &st酶rre + + + + Make Text &Normal + Gj酶r teksten &normal + + + + Make Text &Smaller + Gj酶r teksten &mindre + + + + Find Nex&t + Finn &neste + + + + Prefere&nces... + &Instillinger... + + + + Show Menu Bar + Vis menylinjen + + + + Switch application language + Endre spr氓k + + + + ClearButton + + + Clear + Fjern + + + + ClearPrivateData + + + Clear Private Data + Slett privat informasjon + + + + Clear the following items: + Slett f酶lgende elementer: + + + + &Browsing History + S&urfehistorie + + + + &Download History + &Nedlastningshistorie + + + + &Search History + &S酶kehistorie + + + + &Cookies + &Informasjonskapsler + + + + C&ache + &Hurtiglager + + + + Website &Icons + Nettside ikoner + + + + Clear &Private Data + Slett &privat informasjon + + + + &Cancel + &Avbryt + + + + C&ached Web Pages + Mellomlagrede nettsider + + + + CookieExceptionsModel + + + Website + Nettside + + + + Status + Status + + + + Allow + Tillat + + + + Block + Blokker + + + + Allow For Session + Tillat for denne 酶kten + + + + Rule + Regel + + + + CookieModel + + + Website + Nettside + + + + Name + Navn + + + + Path + Sti + + + + Secure + Sikker + + + + Expires + Utl酶per + + + + Contents + Innhold + + + + true + ja + + + + false + nei + + + + CookiesDialog + + + Cookies + Informasjonskapsler + + + + &Remove + &Slett + + + + Remove &All Cookies + Slett &alle informasjonskapslene + + + + CookiesExceptionsDialog + + + Cookie Exceptions + Unntak for informasjonskapsler + + + + New Exception + Nytt unntak + + + + Domain: + Domene: + + + + Block + Blokker + + + + Allow For Session + Tillat for 酶kt + + + + Allow + Tillat + + + + Exceptions + Unntak + + + + &Remove + &Fjern + + + + Remove &All + Fjern &alle + + + + DownloadDialog + + + Downloads + Nedlastinger + + + + Clean up + Rydd opp + + + + 0 Items + Ingen elementer + + + + &OK + &OK + + + + DownloadItem + + + Save File + Lagre fil + + + + Download canceled: %1 + Nedlasting avbrutt: %1 + + + + Error opening save file: %1 + Feil ved 氓pning av lagret fil: %1 + + + + Error saving: %1 + Feil ved lagring: %1 + + + + Network Error: %1 + Nettverksfeil: %1 + + + + seconds + sekunder + + + + %1 of %2 (%3/sec) %4 + %1 av %2 (%3/sek) %4 + + + + ? + ? + + + + %1 of %2 - Stopped + %1 av %2 - Stoppet + + + + bytes + bytes + + + + kB + kB + + + + MB + MB + + + + Form + Skjema + + + + Ico + Ikon + + + + Filename + Filnavn + + + + Try Again + Pr酶v igjenn + + + + Stop + Stopp + + + + Open + 脜pne + + + + - %n minutes remaining + + - %n minutt gjennst氓r + - %n minutter gjennst氓r + + + + + - %n seconds remaining + + - %n sekund gjennst氓r + - %n sekunder gjennst氓r + + + + + Error opening output file: %1 + Feil ved skriving til fil: %1 + + + + DownloadManager + + + %n Download(s) + + %n nedlasting + %n nedlastinger + + + + + HistoryDialog + + + Open + 脜pne + + + + Copy + Kopier + + + + Delete + Slett + + + + History + Historie + + + + &Remove + &Fjern + + + + Remove &All + Fjern &alle + + + + HistoryMenu + + + Show All History + Vis hele historien + + + + Clear History + Slett historien + + + + Clear History... + Slett historien... + + + + Do you want to clear the history? + Vil du slette historien? + + + + HistoryModel + + + Title + Tittel + + + + Address + Adresse + + + + HistoryTreeModel + + + Earlier Today + I dag + + + + %n item(s) + + %1 element + %2 elementer + + + + + LanguageManager + + + Default + Standardspr氓k + + + + Choose language + Velg spr氓k + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>Du kan bruke at annet spr氓k enn<br>standardspr氓ket til operativsystemet.</p><p>Velg spr氓k</p> + + + + NetworkAccessManager + + + <qt>Enter username and password for "%1" at %2</qt> + <qt>Oppgi brukernavn og passord for "%1" p氓 %2</qt> + + + + <qt>Connect to proxy "%1" using:</qt> + <qt>Koble til mellomtjener "%1" ved 氓 bruke:</qt> + + + + SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors? + SSL Feil: + +%1 + +%2 + +Vil du ignorere disse feilene? + + + + Do you want to accept all these certificates? + Vil du akseptere alle disse sertifikatene? + + + + PasswordDialog + + + Authentication Required + + + + + DUMMY ICON + + + + + INTRO TEXT DUMMY + + + + + Username: + Brukernavn: + + + + Password: + Passord: + + + + PlainTextEditSearch + + + Not Found + Ikke funnet + + + + ProxyDialog + + + Proxy Authentication + + + + + ICON + + + + + Connect to proxy + Koble til mellomtjener + + + + Username: + Brukernavn: + + + + Password: + Passord: + + + + QObject + + + The file is not an XBEL version 1.0 file. + Filen er ikke en XBEL versjon 1.0 fil. + + + + Unknown title + Ukjent tittel + + + + SearchBanner + + + Form + Skjema + + + + TextLabel + + + + + < + < + + + + > + > + + + + Done + Ferdig + + + + SearchLineEdit + + + Search + S酶k + + + + Settings + + + Settings + Innstilinger + + + + General + Generelt + + + + Home: + Hjem: + + + + Set to current page + Sett til n氓v忙rende side + + + + Remove history items: + Slett elementer fra historien: + + + + After one day + Etter en dag + + + + After one week + Etter en uke + + + + After two weeks + Etter to uker + + + + After one month + Etter en m氓ned + + + + After one year + Etter ett 氓r + + + + Manually + Manuelt + + + + Open links from applications: + 脜pne lenker fra andre programmer: + + + + In a tab in the current window + I en fane i det n氓v忙rende vinduet + + + + In a new window + I et nytt vindu + + + + Appearance + Utforming + + + + Fixed-width font: + Fastbreddeskrift: + + + + Privacy + Personvern + + + + Web Content + Nettinnhold + + + + Enable Plugins + Aktiver programtillegg + + + + Enable Javascript + Aktiver Javascript + + + + Cookies + Informasjonskapsler + + + + Accept Cookies: + Aksepter informasjonskapsler: + + + + Always + Alltid + + + + Never + Aldri + + + + Only from sites you navigate to + Kun fra sider du surfer til + + + + Exceptions... + Unntak... + + + + Keep until: + Behold inntil: + + + + They expire + De utl酶per + + + + I exit the application + Jeg lukker programmet + + + + At most 90 days + H酶yst 90 dager + + + + Cookies... + Informasjonskapsler... + + + + Proxy + Mellomtjener + + + + Enable proxy + Aktiver mellomtjener + + + + Type: + Type: + + + + Socks5 + Socks5 + + + + Http + Http + + + + Host: + Host: + + + + Port: + Port: + + + + User Name: + Brukernavn: + + + + Password: + Passord: + + + + Advanced + Avansert + + + + Style Sheet: + Stilsett: + + + + Downloads + Nedlastinger + + + + Ask for a destination each time + Sp酶rr om m氓lkatalog hver gang + + + + Use this destination: + Bruk denne katalogen: + + + + Standard font: + Standard skrift: + + + + Times 16 + Times 16 + + + + Select... + Velg... + + + + Courier 13 + Courier 13 + + + + On application exit + N氓r programmet avsluttes + + + + Enable Images + Aktiver bilder + + + + Tabs + Faner + + + + Select tabs and windows as they are created + Aktiver faner og vinduer n氓r de opprettes + + + + Confirm when closing multiple tabs + Be om bekreftelse for 氓 lukke flere faner + + + + On startup: + Ved oppstart: + + + + Show my home page + Vis min hjemmeside + + + + Show a blank page + Vis en blank side + + + + Restore windows and tabs from last time + Gjennoprett vinduer og faner fra forrige gang + + + + Preferences + Egenskaper + + + + Home Page: + Hjemmeside: + + + + View Images + Vis bilder + + + + Keep Cookies Until: + Behold informasjonskapsler inntil: + + + + Show only one close button instead of one for each tab + Vis kunn en lukkeknapp istedet for en per fane + + + + Use proxy server + Bruk mellomtjener + + + + Host name: + Vertsnavn: + + + + SourceViewer + + + Loading... + Laster... + + + + &Edit + &Rediger + + + + &Find + &Finn + + + + &View + &Vis + + + + &Wrap lines + &Bryt linjer + + + + Source of Page + Sidens kildekode + + + + TabBar + + + New &Tab + Ny &fane + + + + Duplicate Tab + Kopier fane + + + + &Close Tab + &Lukk fane + + + + Close &Other Tabs + Lukk &andre faner + + + + Reload Tab + Last fane p氓 nytt + + + + Reload All Tabs + Last alle faner p氓 nytt + + + + Show Tab Bar + Vis fanelinje + + + + Hide Tab Bar + Skjul fanelinje + + + + TabWidget + + + New &Tab + Ny &fane + + + + &Close Tab + &Lukk fane + + + + Show Next Tab + Vis neste fane + + + + Show Previous Tab + Vis forrige fane + + + + Recently Closed Tabs + Nylig lukkede faner + + + + (Untitled) + (Uten tittel) + + + + Do you really want to close this page? + Vil du virkelig lukke denne siden? + + + + You have modified this page and when closing it you would lose the modification. +Do you really want to close this page? + + Du har gjort endringer til denne siden og n氓r du lukker den vil du bli tapt. +Vil du virkelig lukke denne siden? + + + + + Untitled + Uten tittel + + + + ToolbarSearch + + + Google + Google + + + + No Recent Searches + Ingen nylige s酶k + + + + Recent Searches + Nylige s酶k + + + + Clear Recent Searches + Slett nylige s酶k + + + + WebPage + + + Error loading page: %1 + Feil ved lasting av side: %1 + + + + When connecting to: %1. + Ved tilkobling til: %1. + + + + Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. + Sjekk adresselinjen for feil som <b>ww</b>.trolltech.com isteden for <b>www</b>.trolltech.com. + + + + If the address is correct, try to check the network connection. + Hvis adressen er riktig, unders酶k nettilkolingen. + + + + If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. + Hvis datamaskinen eller nettverket ditt er beskyttet av en brannmur eller mellomtjener, sjekk at nettleseren har adgang til nettverket. + + + + WebView + + + Open in New &Window + 脜pne i nytt &vindu + + + + Open in New &Tab + 脜pne i ny &fane + + + + Save Lin&k + &Lagre lenke + + + + &Bookmark This Link + Lag &bokmerke av denne lenken + + + + &Copy Link Location + &Kopier denne lenken + + + + Open Image in New &Window + 脜pne bilde i nytt &vindu + + + + Open Image in New &Tab + 脜pne bilde i ny &fane + + + + &Save Image + &Lagre bilde + + + + &Copy Image + &Kopier bilde + + + + C&opy Image Location + &Kopier bildeets sti + + + + Loading... + Laster... + + + + WebViewSearch + + + Not Found + Ikke funnet + + + From 07205e81341bc60b116c3215c4d4d0bc13427662 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 06:08:58 -0500 Subject: [PATCH 0322/1254] Rework network monitor to use QAbstractItemModel rather then widgets and to be a QDialog --- src/browsermainwindow.cpp | 2 +- src/networkmonitor/networkmonitor.cpp | 262 ++++++++++++++++---------- src/networkmonitor/networkmonitor.h | 74 +++++--- src/networkmonitor/networkmonitor.ui | 212 ++++++++++----------- 4 files changed, 301 insertions(+), 249 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 9d0fb761..104f4ede 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -1192,7 +1192,7 @@ void BrowserMainWindow::toggleNetworkMonitor(bool enabled) if (enabled) { if (!monitor) { - monitor = new NetworkMonitor(manager); + monitor = new NetworkMonitor(this); manager->setNetworkMonitor(monitor); } monitor->show(); diff --git a/src/networkmonitor/networkmonitor.cpp b/src/networkmonitor/networkmonitor.cpp index 219e688f..9d202c75 100644 --- a/src/networkmonitor/networkmonitor.cpp +++ b/src/networkmonitor/networkmonitor.cpp @@ -21,154 +21,208 @@ #include #include -#include +#include #include -NetworkMonitor::NetworkMonitor(QObject *parent) - : QObject(parent) - , interactiveTamperingEnabled(false) +NetworkMonitor::NetworkMonitor(QWidget *parent, Qt::WindowFlags flags) + : QDialog(parent, flags) { - dialog = new QDialog(); - networkRequestsDialog = new Ui::NetworkRequestsDialog; - networkRequestsDialog->setupUi(dialog); - dialog->show(); - - mapper = new QSignalMapper(this); - connect(mapper, SIGNAL(mapped(QObject *)), SLOT(requestFinished(QObject *))); - - connect(networkRequestsDialog->requestList, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem* )), - this, SLOT(showItemDetails(QTreeWidgetItem *))); - connect(networkRequestsDialog->clearButton, SIGNAL(clicked()), + setupUi(this); + requestList->setSelectionBehavior(QAbstractItemView::SelectRows); + + requestHeaders = new QStandardItemModel(this); + requestHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); + requestDetailsView->setModel(requestHeaders); + replyHeaders = new QStandardItemModel(this); + replyHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); + responseDetailsView->setModel(replyHeaders); + requestDetailsView->horizontalHeader()->setStretchLastSection(true); + responseDetailsView->horizontalHeader()->setStretchLastSection(true); + + connect(requestList, SIGNAL(clicked(const QModelIndex &)), + this, SLOT(clicked(const QModelIndex &))); + connect(clearButton, SIGNAL(clicked()), this, SLOT(clear())); + model = new RequestModel(this); + requestList->setModel(model); + + QFontMetrics fm = fontMetrics(); + int m = fm.width(QLatin1Char('m')); + requestList->horizontalHeader()->resizeSection(0, m * 5); + requestList->horizontalHeader()->resizeSection(1, m * 20); + requestList->horizontalHeader()->resizeSection(3, m * 5); + requestList->horizontalHeader()->resizeSection(4, m * 15); + setModal(false); } -NetworkMonitor::~NetworkMonitor() +void NetworkMonitor::clear() { - delete networkRequestsDialog; - delete dialog; + model->clear(); + requestHeaders->setRowCount(0); + replyHeaders->setRowCount(0); } void NetworkMonitor::addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply) { Q_UNUSED(outgoingData); - // Add to list of requests - QStringList cols; - switch (op) { - case QNetworkAccessManager::HeadOperation: - cols << QString::fromLatin1("HEAD"); - break; - case QNetworkAccessManager::GetOperation: - cols << QString::fromLatin1("GET"); - break; - case QNetworkAccessManager::PutOperation: - cols << QString::fromLatin1("PUT"); - break; - case QNetworkAccessManager::PostOperation: - cols << QString::fromLatin1("POST"); - break; - default: - qWarning() << "Unknown network operation"; - } - cols << req.url().toString(); - cols << tr("Pending"); + Request r; + r.op = op; + r.request = req; + r.reply = reply; + r.length = 0; + model->addRequest(r); +} + +void NetworkMonitor::clicked(const QModelIndex &index) +{ + requestHeaders->setRowCount(0); + replyHeaders->setRowCount(0); - QTreeWidgetItem *item = new QTreeWidgetItem( cols ); - networkRequestsDialog->requestList->addTopLevelItem( item ); + if (!index.isValid()) + return; + + QNetworkRequest req = model->requests[index.row()].request; - // Add to maps - requestMap.insert( reply, req ); - itemMap.insert( reply, item ); - itemRequestMap.insert( item, req ); + foreach(const QByteArray &header, req.rawHeaderList()) { + requestHeaders->insertRows(0, 1, QModelIndex()); + requestHeaders->setData(requestHeaders->index(0, 0), QString::fromLatin1(header)); + requestHeaders->setData(requestHeaders->index(0, 1), QString::fromLatin1(req.rawHeader(header))); + requestHeaders->item(0, 0)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + requestHeaders->item(0, 1)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + } - mapper->setMapping( reply, reply ); - connect( reply, SIGNAL( finished() ), mapper, SLOT( map() ) ); + for (int i = 0; i < model->requests[index.row()].replyHeaders.count(); ++i) { + QByteArray first = model->requests[index.row()].replyHeaders[i].first; + QByteArray second = model->requests[index.row()].replyHeaders[i].second; + replyHeaders->insertRows(0, 1, QModelIndex()); + replyHeaders->setData(replyHeaders->index(0, 0), first); + replyHeaders->setData(replyHeaders->index(0, 1), second); + replyHeaders->item(0, 0)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + replyHeaders->item(0, 1)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + } } -void NetworkMonitor::show() +RequestModel::RequestModel(QObject *parent) + : QAbstractTableModel(parent) { - dialog->show(); } -void NetworkMonitor::hide() +void RequestModel::clear() { - dialog->hide(); + requests.clear(); + reset(); } -void NetworkMonitor::clear() +void RequestModel::addRequest(Request request) { - requestMap.clear(); - itemMap.clear(); - itemReplyMap.clear(); - itemRequestMap.clear(); - networkRequestsDialog->requestList->clear(); - networkRequestsDialog->requestDetails->clear(); - networkRequestsDialog->responseDetails->clear(); + beginInsertRows(QModelIndex(), rowCount(), rowCount()); + requests.append(request); + connect(request.reply, SIGNAL(finished()), + this, SLOT(update())); + endInsertRows(); } -void NetworkMonitor::requestFinished( QObject *replyObject ) +void RequestModel::update() { - QNetworkReply *reply = qobject_cast( replyObject ); - if (!reply) { - qWarning() << "Failed to downcast reply"; + QNetworkReply *reply = qobject_cast(sender()); + if (!reply) return; - } - QTreeWidgetItem *item = itemMap[reply]; + int offset; + for (offset = requests.count() - 1; offset >= 0; --offset) { + if (requests[offset].reply == reply) + break; + } + if (offset < 0) + return; - // Record the reply headers - QList headerValues; + // Save reply headers QByteArray header; - foreach( header, reply->rawHeaderList() ) { - headerValues += reply->rawHeader( header ); + foreach(header, reply->rawHeaderList() ) { + QPair pair(header, reply->rawHeader(header)); + requests[offset].replyHeaders.append(pair); } - QPair< QList, QList > replyHeaders; - replyHeaders.first = reply->rawHeaderList(); - replyHeaders.second = headerValues; - itemReplyMap[item] = replyHeaders; - // Display the request + // Save reply info to be displayed int status = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); - QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString(); - item->setText( 2, tr("%1 %2").arg(status).arg(reason) ); - - QString length = reply->header( QNetworkRequest::ContentLengthHeader ).toString(); - item->setText( 3, length ); + QString reason = reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString(); + requests[offset].response = QString(QLatin1String("%1 %2")).arg(status).arg(reason); + requests[offset].length = reply->header(QNetworkRequest::ContentLengthHeader).toInt(); + requests[offset].contentType = reply->header(QNetworkRequest::ContentTypeHeader).toString(); - QString contentType = reply->header( QNetworkRequest::ContentTypeHeader ).toString(); - item->setText( 4, contentType ); - - if ( status == 302 ) { + if (status == 302) { QUrl target = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); - item->setText( 5, tr("Redirect: %1").arg( target.toString() ) ); + requests[offset].info = tr("Redirect: %1").arg(target.toString()); } } -void NetworkMonitor::showItemDetails(QTreeWidgetItem *item) +QVariant RequestModel::headerData(int section, Qt::Orientation orientation, int role) const { - // Show request details - QTreeWidget *reqTree = networkRequestsDialog->requestDetails; - reqTree->clear(); + if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { + switch (section) { + case 0: return tr("Method"); + case 1: return tr("Address"); + case 2: return tr("Response"); + case 3: return tr("Length"); + case 4: return tr("Content Type"); + case 5: return tr("Info"); + } + } + return QAbstractItemModel::headerData(section, orientation, role); +} - QNetworkRequest req = itemRequestMap[item]; - QByteArray header; - foreach( header, req.rawHeaderList() ) { - QTreeWidgetItem *item = new QTreeWidgetItem(); - item->setText( 0, QString::fromLatin1( header ) ); - item->setText( 1, QString::fromLatin1( req.rawHeader( header ) ) ); - reqTree->addTopLevelItem( item ); +QVariant RequestModel::data(const QModelIndex &index, int role) const +{ + if (index.row() < 0 || index.row() >= requests.size()) + return QVariant(); + + switch (role) { + case Qt::DisplayRole: + case Qt::EditRole: { + switch (index.column()) { + case 0: + switch (requests[index.row()].op) { + case QNetworkAccessManager::HeadOperation: + return QLatin1String("HEAD"); + break; + case QNetworkAccessManager::GetOperation: + return QLatin1String("GET"); + break; + case QNetworkAccessManager::PutOperation: + return QLatin1String("PUT"); + break; + case QNetworkAccessManager::PostOperation: + return QLatin1String("POST"); + break; + default: + return QLatin1String("Unknown"); + } + case 1: + return requests[index.row()].request.url().toEncoded(); + case 2: + return requests[index.row()].response; + case 3: + return requests[index.row()].length; + case 4: + return requests[index.row()].contentType; + case 5: + return requests[index.row()].info; + + } + } } + return QVariant(); +} - // Show reply headers - QTreeWidget *respTree = networkRequestsDialog->responseDetails; - respTree->clear(); +int RequestModel::columnCount(const QModelIndex &parent) const +{ + return (parent.column() > 0) ? 0 : 6; +} - QPair< QList, QList > replyHeaders = itemReplyMap[item]; - for (int i = 0; i < replyHeaders.first.count(); ++i) { - QTreeWidgetItem *item = new QTreeWidgetItem(); - item->setText( 0, QString::fromLatin1( replyHeaders.first[i] ) ); - item->setText( 1, QString::fromLatin1( replyHeaders.second[i] ) ); - respTree->addTopLevelItem( item ); - } +int RequestModel::rowCount(const QModelIndex &parent) const +{ + return (parent.isValid()) ? 0 : requests.count(); } + diff --git a/src/networkmonitor/networkmonitor.h b/src/networkmonitor/networkmonitor.h index 159e220b..5abe83e7 100644 --- a/src/networkmonitor/networkmonitor.h +++ b/src/networkmonitor/networkmonitor.h @@ -20,47 +20,67 @@ #ifndef NETWORKMONITOR_H #define NETWORKMONITOR_H -#include - -#include -#include -#include -#include -#include - #include "ui_networkmonitor.h" +#include -class QDialog; -class QTreeWidgetItem; -class QSignalMapper; +#include -class NetworkMonitor : public QObject +class RequestModel; +class QStandardItemModel; +class NetworkMonitor : public QDialog, public Ui_NetworkMonitorDialog { Q_OBJECT public: - NetworkMonitor(QObject *parent = 0); - ~NetworkMonitor(); + NetworkMonitor(QWidget *parent = 0, Qt::WindowFlags flags = 0); void addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply); - void show(); - void hide(); - private slots: void clear(); - void requestFinished(QObject *replyObject); - void showItemDetails(QTreeWidgetItem *item); + void clicked(const QModelIndex &index); + +private: + RequestModel *model; + QStandardItemModel *requestHeaders; + QStandardItemModel *replyHeaders; +}; + +#include + +class Request { +public: + QNetworkAccessManager::Operation op; + QNetworkRequest request; + QNetworkReply *reply; + + QString response; + int length; + QString contentType; + QString info; + QList > replyHeaders; +}; + +class RequestModel : public QAbstractTableModel +{ + Q_OBJECT + +public: + RequestModel(QObject *parent = 0); + void clear(); + void addRequest(Request request); + + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const; + +private slots: + void update(); private: - QDialog *dialog; - Ui::NetworkRequestsDialog *networkRequestsDialog; - QMap requestMap; - QMap itemRequestMap; - QMap itemMap; - QMap, QList > > itemReplyMap; - QSignalMapper *mapper; - bool interactiveTamperingEnabled; + friend class NetworkMonitor; + QList requests; }; #endif // NETWORKMONITOR_H diff --git a/src/networkmonitor/networkmonitor.ui b/src/networkmonitor/networkmonitor.ui index 87a22c84..5198de5d 100644 --- a/src/networkmonitor/networkmonitor.ui +++ b/src/networkmonitor/networkmonitor.ui @@ -1,117 +1,95 @@ - - - NetworkRequestsDialog - - - - 0 - 0 - 621 - 506 - - - - Network Requests - - - - - - Network Requests - - - - - - - &Clear - - - - - - - true - - - false - - - - Method - - - - - URL - - - - - Response - - - - - Length - - - - - Content Type - - - - - Info - - - - - - - - Request Details - - - - - - - Response Details - - - - - - - - Name - - - - - Value - - - - - - - - - Name - - - - - Value - - - - - - - - - + + + NetworkMonitorDialog + + + + 0 + 0 + 747 + 506 + + + + Network Monitor + + + + + + Qt::Horizontal + + + + + + + Request Headers + + + + + + + false + + + + + + + + + + + Response Headers + + + + + + + false + + + + + + + + + + + + 0 + 0 + + + + Network Requests + + + + + + + &Clear + + + + + + + true + + + + + splitter + label + clearButton + requestList + + + + From 6d0dfbcbcba145282bc5af8f28dd91e9c6267aba Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 09:58:10 -0500 Subject: [PATCH 0323/1254] Change networkaccessmanager to emit a signal rather than knowing about the network monitor class. --- src/browsermainwindow.cpp | 22 ++++-------------- src/browsermainwindow.h | 2 +- src/networkaccessmanager.cpp | 17 +------------- src/networkaccessmanager.h | 9 +++----- src/networkmonitor/networkmonitor.cpp | 32 +++++++++++++++------------ src/networkmonitor/networkmonitor.h | 5 ++--- src/networkmonitor/networkmonitor.ui | 4 ---- 7 files changed, 29 insertions(+), 62 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 104f4ede..71dee5bf 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -564,9 +564,7 @@ void BrowserMainWindow::setupMenu() QKeySequence(tr("Ctrl+K", "Web Search"))); toolsMenu->addAction(tr("&Clear Private Data"), this, SLOT(slotClearPrivateData()), QKeySequence(tr("Ctrl+Shift+Delete", "Clear Private Data"))); - - QAction *networkEditorAction = toolsMenu->addAction(tr("Show &Network Monitor"), this, SLOT(toggleNetworkMonitor(bool)) ); - networkEditorAction->setCheckable( true ); + toolsMenu->addAction(tr("Show &Network Monitor"), this, SLOT(showNetworkMonitor()) ); #ifndef Q_CC_MINGW QAction *m_enableInspector = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool))); @@ -1185,21 +1183,9 @@ void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) setGeometry(geometry); } -void BrowserMainWindow::toggleNetworkMonitor(bool enabled) +void BrowserMainWindow::showNetworkMonitor() { - NetworkAccessManager *manager = BrowserApplication::networkAccessManager(); - NetworkMonitor *monitor = manager->networkMonitor(); - - if (enabled) { - if (!monitor) { - monitor = new NetworkMonitor(this); - manager->setNetworkMonitor(monitor); - } - monitor->show(); - } else if (monitor) { - monitor->hide(); - manager->setNetworkMonitor(0); - monitor->deleteLater(); - } + NetworkMonitor *monitor = new NetworkMonitor(this); + monitor->show(); } diff --git a/src/browsermainwindow.h b/src/browsermainwindow.h index c2fe6f70..859204bc 100644 --- a/src/browsermainwindow.h +++ b/src/browsermainwindow.h @@ -158,7 +158,7 @@ private slots: void geometryChangeRequested(const QRect &geometry); void updateToolbarActionText(bool visible); void updateBookmarksToolbarActionText(bool visible); - void toggleNetworkMonitor(bool enable); + void showNetworkMonitor(); private: void retranslate(); diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index aa6746d5..810f9542 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -64,7 +64,6 @@ #include "browserapplication.h" #include "browsermainwindow.h" -#include "networkmonitor.h" #include "ui_passworddialog.h" #include "ui_proxy.h" @@ -87,7 +86,6 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) : QNetworkAccessManager(parent) - , m_networkMonitor(0) { connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*))); @@ -108,16 +106,6 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent) #endif } -void NetworkAccessManager::setNetworkMonitor(NetworkMonitor *editor) -{ - m_networkMonitor = editor; -} - -NetworkMonitor *NetworkAccessManager::networkMonitor() const -{ - return m_networkMonitor; -} - void NetworkAccessManager::loadSettings() { QSettings settings; @@ -254,9 +242,6 @@ void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QListaddRequest(op, request, outgoingData, reply); - + emit requestCreated(op, request, reply); return reply; } diff --git a/src/networkaccessmanager.h b/src/networkaccessmanager.h index fbe84468..72f7b649 100644 --- a/src/networkaccessmanager.h +++ b/src/networkaccessmanager.h @@ -65,16 +65,15 @@ #include -class NetworkMonitor; - class NetworkAccessManager : public QNetworkAccessManager { Q_OBJECT +signals: + void requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QNetworkReply *reply); + public: NetworkAccessManager(QObject *parent = 0); - void setNetworkMonitor(NetworkMonitor *editor); - NetworkMonitor *networkMonitor() const; protected: QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = 0); @@ -89,8 +88,6 @@ private slots: void sslErrors(QNetworkReply *reply, const QList &error); #endif -private: - NetworkMonitor *m_networkMonitor; }; #endif // NETWORKACCESSMANAGER_H diff --git a/src/networkmonitor/networkmonitor.cpp b/src/networkmonitor/networkmonitor.cpp index 9d202c75..63929a55 100644 --- a/src/networkmonitor/networkmonitor.cpp +++ b/src/networkmonitor/networkmonitor.cpp @@ -19,9 +19,13 @@ #include "networkmonitor.h" +#include "browserapplication.h" +#include "networkaccessmanager.h" + #include #include #include +#include #include @@ -30,7 +34,6 @@ NetworkMonitor::NetworkMonitor(QWidget *parent, Qt::WindowFlags flags) { setupUi(this); requestList->setSelectionBehavior(QAbstractItemView::SelectRows); - requestHeaders = new QStandardItemModel(this); requestHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); requestDetailsView->setModel(requestHeaders); @@ -53,7 +56,6 @@ NetworkMonitor::NetworkMonitor(QWidget *parent, Qt::WindowFlags flags) requestList->horizontalHeader()->resizeSection(1, m * 20); requestList->horizontalHeader()->resizeSection(3, m * 5); requestList->horizontalHeader()->resizeSection(4, m * 15); - setModal(false); } void NetworkMonitor::clear() @@ -63,17 +65,6 @@ void NetworkMonitor::clear() replyHeaders->setRowCount(0); } -void NetworkMonitor::addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply) -{ - Q_UNUSED(outgoingData); - Request r; - r.op = op; - r.request = req; - r.reply = reply; - r.length = 0; - model->addRequest(r); -} - void NetworkMonitor::clicked(const QModelIndex &index) { requestHeaders->setRowCount(0); @@ -106,6 +97,9 @@ void NetworkMonitor::clicked(const QModelIndex &index) RequestModel::RequestModel(QObject *parent) : QAbstractTableModel(parent) { + NetworkAccessManager *manager = BrowserApplication::networkAccessManager(); + connect(manager, SIGNAL(requestCreated(QNetworkAccessManager::Operation, const QNetworkRequest &, QNetworkReply *)), + this, SLOT(requestCreated(QNetworkAccessManager::Operation, const QNetworkRequest &, QNetworkReply *))); } void RequestModel::clear() @@ -114,7 +108,17 @@ void RequestModel::clear() reset(); } -void RequestModel::addRequest(Request request) +void RequestModel::requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QNetworkReply *reply) +{ + Request request; + request.op = op; + request.request = req; + request.reply = reply; + request.length = 0; + addRequest(request); +} + +void RequestModel::addRequest(const Request &request) { beginInsertRows(QModelIndex(), rowCount(), rowCount()); requests.append(request); diff --git a/src/networkmonitor/networkmonitor.h b/src/networkmonitor/networkmonitor.h index 5abe83e7..99266c6c 100644 --- a/src/networkmonitor/networkmonitor.h +++ b/src/networkmonitor/networkmonitor.h @@ -34,8 +34,6 @@ class NetworkMonitor : public QDialog, public Ui_NetworkMonitorDialog public: NetworkMonitor(QWidget *parent = 0, Qt::WindowFlags flags = 0); - void addRequest(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QIODevice *outgoingData, QNetworkReply *reply); - private slots: void clear(); void clicked(const QModelIndex &index); @@ -68,14 +66,15 @@ class RequestModel : public QAbstractTableModel public: RequestModel(QObject *parent = 0); void clear(); - void addRequest(Request request); + void addRequest(const Request &request); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; private slots: + void requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest &req, QNetworkReply *reply); void update(); private: diff --git a/src/networkmonitor/networkmonitor.ui b/src/networkmonitor/networkmonitor.ui index 5198de5d..e716cc61 100644 --- a/src/networkmonitor/networkmonitor.ui +++ b/src/networkmonitor/networkmonitor.ui @@ -85,10 +85,6 @@ - splitter - label - clearButton - requestList From 7b7551d1888fd164842420db5fbe65a4c9acb7e8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 25 Jan 2009 11:38:33 -0500 Subject: [PATCH 0324/1254] Polish the Network Monitor. Add a search box, remove, remove all, and close button. Cleanup variable names and some minor code style improvements also. --- src/browsermainwindow.cpp | 2 +- src/networkmonitor/networkmonitor.cpp | 149 +++++++++++++++----------- src/networkmonitor/networkmonitor.h | 22 ++-- src/networkmonitor/networkmonitor.ui | 123 +++++++++++++++------ 4 files changed, 194 insertions(+), 102 deletions(-) diff --git a/src/browsermainwindow.cpp b/src/browsermainwindow.cpp index 71dee5bf..683563e3 100644 --- a/src/browsermainwindow.cpp +++ b/src/browsermainwindow.cpp @@ -1185,7 +1185,7 @@ void BrowserMainWindow::geometryChangeRequested(const QRect &geometry) void BrowserMainWindow::showNetworkMonitor() { - NetworkMonitor *monitor = new NetworkMonitor(this); + NetworkMonitor *monitor = NetworkMonitor::self(); monitor->show(); } diff --git a/src/networkmonitor/networkmonitor.cpp b/src/networkmonitor/networkmonitor.cpp index 63929a55..7ba6408c 100644 --- a/src/networkmonitor/networkmonitor.cpp +++ b/src/networkmonitor/networkmonitor.cpp @@ -22,33 +22,53 @@ #include "browserapplication.h" #include "networkaccessmanager.h" -#include +#include #include +#include +#include #include -#include -#include +NetworkMonitor *NetworkMonitor::m_self = 0; + +NetworkMonitor *NetworkMonitor::self() { + if (!m_self) { + m_self = new NetworkMonitor; + m_self->setAttribute(Qt::WA_DeleteOnClose, true); + } + return m_self; +} NetworkMonitor::NetworkMonitor(QWidget *parent, Qt::WindowFlags flags) : QDialog(parent, flags) { setupUi(this); requestList->setSelectionBehavior(QAbstractItemView::SelectRows); - requestHeaders = new QStandardItemModel(this); - requestHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); - requestDetailsView->setModel(requestHeaders); - replyHeaders = new QStandardItemModel(this); - replyHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); - responseDetailsView->setModel(replyHeaders); + m_requestHeaders = new QStandardItemModel(this); + m_requestHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); + requestDetailsView->setModel(m_requestHeaders); + m_replyHeaders = new QStandardItemModel(this); + m_replyHeaders->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value")); + responseDetailsView->setModel(m_replyHeaders); requestDetailsView->horizontalHeader()->setStretchLastSection(true); responseDetailsView->horizontalHeader()->setStretchLastSection(true); - connect(requestList, SIGNAL(clicked(const QModelIndex &)), - this, SLOT(clicked(const QModelIndex &))); - connect(clearButton, SIGNAL(clicked()), - this, SLOT(clear())); - model = new RequestModel(this); - requestList->setModel(model); + requestList->horizontalHeader()->setStretchLastSection(true); + m_proxyModel = new QSortFilterProxyModel(this); + m_proxyModel->setFilterKeyColumn(-1); + requestList->setShowGrid(false); + requestList->setAlternatingRowColors(true); + requestList->verticalHeader()->setMinimumSectionSize(-1); + connect(search, SIGNAL(textChanged(QString)), + m_proxyModel, SLOT(setFilterFixedString(QString))); + connect(removeButton, SIGNAL(clicked()), requestList, SLOT(removeSelected())); + connect(removeAllButton, SIGNAL(clicked()), requestList, SLOT(removeAll())); + m_model = new RequestModel(this); + m_proxyModel->setSourceModel(m_model); + requestList->setModel(m_proxyModel); + connect(requestList->selectionModel(), + SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), + this, + SLOT(currentChanged(const QModelIndex &, const QModelIndex &))); QFontMetrics fm = fontMetrics(); int m = fm.width(QLatin1Char('m')); @@ -58,39 +78,36 @@ NetworkMonitor::NetworkMonitor(QWidget *parent, Qt::WindowFlags flags) requestList->horizontalHeader()->resizeSection(4, m * 15); } -void NetworkMonitor::clear() -{ - model->clear(); - requestHeaders->setRowCount(0); - replyHeaders->setRowCount(0); -} - -void NetworkMonitor::clicked(const QModelIndex &index) +void NetworkMonitor::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { - requestHeaders->setRowCount(0); - replyHeaders->setRowCount(0); + Q_UNUSED(previous); + m_requestHeaders->setRowCount(0); + m_replyHeaders->setRowCount(0); - if (!index.isValid()) + if (!current.isValid()) return; + int row = m_proxyModel->mapToSource(current).row(); - QNetworkRequest req = model->requests[index.row()].request; + QNetworkRequest req = m_model->m_requests[row].request; foreach(const QByteArray &header, req.rawHeaderList()) { - requestHeaders->insertRows(0, 1, QModelIndex()); - requestHeaders->setData(requestHeaders->index(0, 0), QString::fromLatin1(header)); - requestHeaders->setData(requestHeaders->index(0, 1), QString::fromLatin1(req.rawHeader(header))); - requestHeaders->item(0, 0)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); - requestHeaders->item(0, 1)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + m_requestHeaders->insertRows(0, 1, QModelIndex()); + m_requestHeaders->setData(m_requestHeaders->index(0, 0), + QString::fromLatin1(header)); + m_requestHeaders->setData(m_requestHeaders->index(0, 1), + QString::fromLatin1(req.rawHeader(header))); + m_requestHeaders->item(0, 0)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + m_requestHeaders->item(0, 1)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); } - for (int i = 0; i < model->requests[index.row()].replyHeaders.count(); ++i) { - QByteArray first = model->requests[index.row()].replyHeaders[i].first; - QByteArray second = model->requests[index.row()].replyHeaders[i].second; - replyHeaders->insertRows(0, 1, QModelIndex()); - replyHeaders->setData(replyHeaders->index(0, 0), first); - replyHeaders->setData(replyHeaders->index(0, 1), second); - replyHeaders->item(0, 0)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); - replyHeaders->item(0, 1)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + for (int i = 0; i < m_model->m_requests[row].replyHeaders.count(); ++i) { + QByteArray first = m_model->m_requests[row].replyHeaders[i].first; + QByteArray second = m_model->m_requests[row].replyHeaders[i].second; + m_replyHeaders->insertRows(0, 1, QModelIndex()); + m_replyHeaders->setData(m_replyHeaders->index(0, 0), first); + m_replyHeaders->setData(m_replyHeaders->index(0, 1), second); + m_replyHeaders->item(0, 0)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + m_replyHeaders->item(0, 1)->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); } } @@ -102,13 +119,7 @@ RequestModel::RequestModel(QObject *parent) this, SLOT(requestCreated(QNetworkAccessManager::Operation, const QNetworkRequest &, QNetworkReply *))); } -void RequestModel::clear() -{ - requests.clear(); - reset(); -} - -void RequestModel::requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest&req, QNetworkReply *reply) +void RequestModel::requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest &req, QNetworkReply *reply) { Request request; request.op = op; @@ -121,7 +132,7 @@ void RequestModel::requestCreated(QNetworkAccessManager::Operation op, const QNe void RequestModel::addRequest(const Request &request) { beginInsertRows(QModelIndex(), rowCount(), rowCount()); - requests.append(request); + m_requests.append(request); connect(request.reply, SIGNAL(finished()), this, SLOT(update())); endInsertRows(); @@ -134,8 +145,8 @@ void RequestModel::update() return; int offset; - for (offset = requests.count() - 1; offset >= 0; --offset) { - if (requests[offset].reply == reply) + for (offset = m_requests.count() - 1; offset >= 0; --offset) { + if (m_requests[offset].reply == reply) break; } if (offset < 0) @@ -145,19 +156,19 @@ void RequestModel::update() QByteArray header; foreach(header, reply->rawHeaderList() ) { QPair pair(header, reply->rawHeader(header)); - requests[offset].replyHeaders.append(pair); + m_requests[offset].replyHeaders.append(pair); } // Save reply info to be displayed int status = reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt(); QString reason = reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString(); - requests[offset].response = QString(QLatin1String("%1 %2")).arg(status).arg(reason); - requests[offset].length = reply->header(QNetworkRequest::ContentLengthHeader).toInt(); - requests[offset].contentType = reply->header(QNetworkRequest::ContentTypeHeader).toString(); + m_requests[offset].response = QString(QLatin1String("%1 %2")).arg(status).arg(reason); + m_requests[offset].length = reply->header(QNetworkRequest::ContentLengthHeader).toInt(); + m_requests[offset].contentType = reply->header(QNetworkRequest::ContentTypeHeader).toString(); if (status == 302) { QUrl target = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); - requests[offset].info = tr("Redirect: %1").arg(target.toString()); + m_requests[offset].info = tr("Redirect: %1").arg(target.toString()); } } @@ -178,7 +189,7 @@ QVariant RequestModel::headerData(int section, Qt::Orientation orientation, int QVariant RequestModel::data(const QModelIndex &index, int role) const { - if (index.row() < 0 || index.row() >= requests.size()) + if (index.row() < 0 || index.row() >= m_requests.size()) return QVariant(); switch (role) { @@ -186,7 +197,7 @@ QVariant RequestModel::data(const QModelIndex &index, int role) const case Qt::EditRole: { switch (index.column()) { case 0: - switch (requests[index.row()].op) { + switch (m_requests[index.row()].op) { case QNetworkAccessManager::HeadOperation: return QLatin1String("HEAD"); break; @@ -203,15 +214,15 @@ QVariant RequestModel::data(const QModelIndex &index, int role) const return QLatin1String("Unknown"); } case 1: - return requests[index.row()].request.url().toEncoded(); + return m_requests[index.row()].request.url().toEncoded(); case 2: - return requests[index.row()].response; + return m_requests[index.row()].response; case 3: - return requests[index.row()].length; + return m_requests[index.row()].length; case 4: - return requests[index.row()].contentType; + return m_requests[index.row()].contentType; case 5: - return requests[index.row()].info; + return m_requests[index.row()].info; } } @@ -226,7 +237,19 @@ int RequestModel::columnCount(const QModelIndex &parent) const int RequestModel::rowCount(const QModelIndex &parent) const { - return (parent.isValid()) ? 0 : requests.count(); + return (parent.isValid()) ? 0 : m_requests.count(); +} + +bool RequestModel::removeRows(int row, int count, const QModelIndex &parent) +{ + if (parent.isValid()) + return false; + int lastRow = row + count - 1; + beginRemoveRows(parent, row, lastRow); + for (int i = lastRow; i >= row; --i) + m_requests.removeAt(i); + endRemoveRows(); + return true; } diff --git a/src/networkmonitor/networkmonitor.h b/src/networkmonitor/networkmonitor.h index 99266c6c..46a1f7e5 100644 --- a/src/networkmonitor/networkmonitor.h +++ b/src/networkmonitor/networkmonitor.h @@ -27,21 +27,26 @@ class RequestModel; class QStandardItemModel; +class QSortFilterProxyModel; class NetworkMonitor : public QDialog, public Ui_NetworkMonitorDialog { Q_OBJECT -public: +protected: NetworkMonitor(QWidget *parent = 0, Qt::WindowFlags flags = 0); + static NetworkMonitor *m_self; private slots: - void clear(); - void clicked(const QModelIndex &index); + void currentChanged(const QModelIndex ¤t, const QModelIndex &previous); + +public: + static NetworkMonitor *self(); private: - RequestModel *model; - QStandardItemModel *requestHeaders; - QStandardItemModel *replyHeaders; + QSortFilterProxyModel *m_proxyModel; + RequestModel *m_model; + QStandardItemModel *m_requestHeaders; + QStandardItemModel *m_replyHeaders; }; #include @@ -65,13 +70,13 @@ class RequestModel : public QAbstractTableModel public: RequestModel(QObject *parent = 0); - void clear(); void addRequest(const Request &request); QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; + bool removeRows(int row, int count, const QModelIndex &parent); private slots: void requestCreated(QNetworkAccessManager::Operation op, const QNetworkRequest &req, QNetworkReply *reply); @@ -79,7 +84,8 @@ private slots: private: friend class NetworkMonitor; - QList requests; + QList m_requests; }; #endif // NETWORKMONITOR_H + diff --git a/src/networkmonitor/networkmonitor.ui b/src/networkmonitor/networkmonitor.ui index e716cc61..cd033a5d 100644 --- a/src/networkmonitor/networkmonitor.ui +++ b/src/networkmonitor/networkmonitor.ui @@ -6,14 +6,37 @@ 0 0 - 747 - 506 + 800 + 600 Network Monitor + + + + + 0 + 0 + + + + Network Requests + + + + + + + + + + true + + + @@ -37,7 +60,7 @@ - + @@ -57,35 +80,75 @@ - - - - - 0 - 0 - - - - Network Requests - - - - - - - &Clear - - - - - - - true - - + + + + + + &Remove + + + + + + + Remove &All Requests + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + QDialogButtonBox::Close + + + + + + + SearchLineEdit + QLineEdit +
searchlineedit.h
+
+ + EditTableView + QTableView +
edittableview.h
+
+
- + + + buttonBox + rejected() + NetworkMonitorDialog + reject() + + + 765 + 553 + + + 779 + 515 + + + + From 967934cab0d595324620d576292772148e0c7c26 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 30 Jan 2009 00:19:05 -0500 Subject: [PATCH 0325/1254] Change code style to follow Arora style guildlines --- src/browserapplication.cpp | 2 +- src/tabwidget.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 78db069b..cb8c31a5 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -108,7 +108,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) if (sendMessage(args.last())) return; // not sure what else to do... - if(!startSingleServer()) + if (!startSingleServer()) return; connect(this, SIGNAL(messageRecieved(const QString &)), this, SLOT(messageRecieved(const QString &))); diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 214d4bc3..95457b03 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -174,7 +174,7 @@ TabWidget::TabWidget(QWidget *parent) m_recentlyClosedTabsAction->setEnabled(false); #if QT_VERSION >= 0x040500 - if(oneCloseButton) { + if (oneCloseButton) { #endif // corner buttons // With Qt < 4.5 do this always, with >=4.5 only if enabled. From a9c28b7f387bfb2dea78f3f23da67fe10cfc7d2c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 30 Jan 2009 01:53:00 -0500 Subject: [PATCH 0326/1254] reset m_self when destroyed --- src/networkmonitor/networkmonitor.cpp | 5 +++++ src/networkmonitor/networkmonitor.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/networkmonitor/networkmonitor.cpp b/src/networkmonitor/networkmonitor.cpp index 7ba6408c..58a4a6e9 100644 --- a/src/networkmonitor/networkmonitor.cpp +++ b/src/networkmonitor/networkmonitor.cpp @@ -78,6 +78,11 @@ NetworkMonitor::NetworkMonitor(QWidget *parent, Qt::WindowFlags flags) requestList->horizontalHeader()->resizeSection(4, m * 15); } +NetworkMonitor::~NetworkMonitor() +{ + m_self = 0; +} + void NetworkMonitor::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { Q_UNUSED(previous); diff --git a/src/networkmonitor/networkmonitor.h b/src/networkmonitor/networkmonitor.h index 46a1f7e5..191ccec6 100644 --- a/src/networkmonitor/networkmonitor.h +++ b/src/networkmonitor/networkmonitor.h @@ -34,6 +34,7 @@ class NetworkMonitor : public QDialog, public Ui_NetworkMonitorDialog protected: NetworkMonitor(QWidget *parent = 0, Qt::WindowFlags flags = 0); + ~NetworkMonitor(); static NetworkMonitor *m_self; private slots: From 67d04e243b7df92c57f596504f66ed1063c2d3b9 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 30 Jan 2009 02:29:13 -0500 Subject: [PATCH 0327/1254] Remove reference to trolltech.com which is now qtsoftware.com --- src/webview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webview.cpp b/src/webview.cpp index a4a8f62e..59cd51e2 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -200,7 +200,7 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) .arg(title) .arg(reply->errorString()) .arg(tr("When connecting to: %1.").arg(reply->url().toString())) - .arg(tr("Check the address for errors such as ww.trolltech.com instead of www.trolltech.com.")) + .arg(tr("Check the address for errors such as ww.arora-browser.org instead of www.arora-browser.org")) .arg(tr("If the address is correct, try to check the network connection.")) .arg(tr("If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network.")); From cb476356e3e69eb7e3217fbd31fe74341ab9091a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Fri, 30 Jan 2009 02:46:21 -0500 Subject: [PATCH 0328/1254] Update the script to merge users who used different names and updated the list of commiters while at it --- AUTHORS | 8 ++++++++ generateAuthors | 3 +++ 2 files changed, 11 insertions(+) diff --git a/AUTHORS b/AUTHORS index bf8e5286..83f59c61 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,20 +2,28 @@ Benjamin C Meyer ben@meyerhome.net Diego Iastrubni elcuco@kde.org Jason A. Donenfeld Jason@zx2c4.com Jakub Lu啪n媒 limoto94@gmail.com +Jakub Wieczorek faw217@gmail.com Christian Franke cfchris6@ts2server.com Matvey Kozhev sikon@ubuntu.com Ariya Hidayat ariya.hidayat@trolltech.com Josef Kufner jk@myserver.cz Adam Treat treat@kde.org +Janusz Lewandowski lew21st@gmail.com Daniel Albuschat d.albuschat@gmail.com porphyr porphyr@gmx.de Vincenzo Reale smart2128@baslug.org Tor Arne Vestb酶 tavestbo@trolltech.com John Schember john@nachtimwald.com Chris Lee clee@mg8.org +Benjamin K. Stuhl bks@coldkeck2.colorado.edu +Alexandre Bique bique.alexandre@gmail.com ABuus amb@lafnet.dk Zack Rusin zack@kde.org Simon Hausmann simon@lst.de +Richard Moore rich@beast.needcoffee.co.uk +Raphael Kubo da Costa kubito@gmail.com +Pavol Rusnak stick@gk2.sk +Paul Olav Tvete paul@trolltech.com Marius Bugge Monsen mariusbu@pvv.org Gergely Nagy gergely.nagy@interware.co.hu Chris Hills chaz@chaz6.com diff --git a/generateAuthors b/generateAuthors index 7888a578..856319e4 100755 --- a/generateAuthors +++ b/generateAuthors @@ -2,4 +2,7 @@ git log --pretty="format:%an %ae" \ | sed -e 's/smart2128 /Vincenzo Reale /g' \ | sed -e 's/buster\.xtense\.dyndns\.org/ts2server\.com/g' \ | sed -e 's/^cfchris6 /Christian Franke /g' \ + | sed -e 's/^faw /Jakub Wieczorek /g' \ + | sed -e 's/^LEW21 /Janusz Lewandowski /g' \ + | sed -e 's/lew21@pecet.(none)$/lew21st@gmail.com/g' \ | sort | uniq -c | sort -n -r | sed -e 's/^ *[0-9]* //g' From ec4776db66d58bc08c58f789fd5ba065c764de22 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sun, 1 Feb 2009 00:14:57 +0100 Subject: [PATCH 0329/1254] Fixed typo in contsructor of BrowserApplication If arora was called twice without arguments the second call would direct arora to file://path-to-arora. Now the second call does nothing. --- src/browserapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index cb8c31a5..92a451ef 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -105,7 +105,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) #ifndef AUTOTESTS QStringList args = QCoreApplication::arguments(); QString message = (args.count() > 1) ? args.last() : QString(); - if (sendMessage(args.last())) + if (sendMessage(message)) return; // not sure what else to do... if (!startSingleServer()) From dcc0e6ebd85fde0a85f02dbe730e1a7fe8018efe Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Wed, 28 Jan 2009 21:49:56 +0100 Subject: [PATCH 0330/1254] Update Polish translation. --- src/locale/pl_PL.ts | 385 ++++---------------------------------------- 1 file changed, 35 insertions(+), 350 deletions(-) diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index b728a204..b32898ed 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -1,40 +1,34 @@ - + + - + AboutDialog - About O programie - Authors Autorzy - License Licencja - Lightweight WebKit-based web browser Lekka bazuj膮ca na silniku WebKit przegl膮darka - <a href="http://arora-browser.org">http://arora-browser.org</a> - Close Zamknij - - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -46,12 +40,10 @@ p, li { white-space: pre-wrap; } AddBookmarkDialog - Add Bookmark Dodaj zak艂adk臋 - Type a name for the bookmark, and choose where to keep it. Podaj nazw臋 dla zak艂adki i wybierz gdzie chcesz j膮 umie艣ci膰. @@ -59,112 +51,99 @@ p, li { white-space: pre-wrap; } BookmarksDialog - Open Otw贸rz - Open in New Tab Otw贸rz w nowej karcie - Delete Usu艅 - New Folder Nowy katalog - Bookmarks Zak艂adki - &Remove &Usu艅 - Add Folder Dodaj katalog + + Edit Name + Edytuj nazw臋 + + + Edit Address + Edytuj adres + BookmarksManager - Error when loading bookmarks on line %1, column %2: %3 B艂膮d podczas 艂adowania zak艂adek w linii %1, kolumna %2: %3 - Toolbar Bookmarks Pasek zak艂adek - Menu Menu - Open File Otw贸rz plik - XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) - Imported %1 Zaimportowano %1 - Save File Zapisz plik - %1 Bookmarks.xbel %1 Bookmarks.xbel - Export error B艂膮d przy eksportowaniu - error saving bookmarks B艂膮d przy zapisie zak艂adek - Remove Bookmark Usu艅 zak艂adk臋 - Insert Bookmark Wstaw zak艂adk臋 - Name Change Zmiana nazwy - Address Change Zmiana adresu @@ -172,12 +151,10 @@ p, li { white-space: pre-wrap; } BookmarksModel - Title Tytu艂 - Address Adres @@ -185,37 +162,47 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - Bookmark Zak艂adka + + Open + Otw贸rz + + + Open in New &Tab + Otw贸rz w nowej &karcie + + + Remove + Usu艅 + + + Add Bookmark... + Dodaj zak艂adk臋... + BrowserApplication - There are %1 windows and %2 tabs open Do you want to quit anyway? Obecnie otwartych jest %1 okien i %2 kart Czy mimo to chcesz zako艅czy膰? - Restore failed Przywracanie nie powiod艂o si臋 - The saved session will not being restored because last time it was restored Arora crashed. Zapisana sesja nie zostanie przywr贸cona poniewa偶 ostatnim razem Arora wywali艂a si臋. - (Change: %1 %2) (Zmiana: %1 %2) - The saved session will not be restored because Arora crashed while trying to restore this session. Zapisana sesja nie mog艂a zosta膰 przywr贸cona poniewa偶 Arora wysypa艂a si臋. @@ -223,448 +210,360 @@ Czy mimo to chcesz zako艅czy膰? BrowserMainWindow - &File &Plik - &New Window &Nowe okno - &Open File... &Otw贸rz plik... - Open &Location... Otw贸rz &lokacj臋... - &Save As... Zapi&sz jako... - &Import Bookmarks... &Importuj zak艂adki... - &Export Bookmarks... &Eksportuj zak艂adki... - P&rint Preview... Podgl膮d wyd&ruku... - &Print... &Drukuj... - Private &Browsing... &Prywatne przegl膮danie... - &Quit &Zako艅cz - &Edit &Edytuj - &Undo &Cofnij - &Redo &Pon贸w - Cu&t Wy&tnij - &Copy &Kopiuj - &Paste &Wklej - &Find &Znajd藕 - &Find Next &Znajd藕 nast臋pny - &Find Previous &Znajd藕 poprzedni - &Preferences &Preferencje - Ctrl+, Ctrl+, - &View &Widok - Shift+Ctrl+B Shift+Ctrl+B - Ctrl+| Ctrl+| - Ctrl+/ Ctrl+/ - &Stop &Zatrzymaj - Reload Page Od艣wie偶 stron臋 - &Make Text Bigger &Powi臋ksz rozmiar tekstu - &Make Text Normal &Przywr贸膰 rozmiar tekstu - &Make Text Smaller &Zmniejsz rozmiar tekstu - Page S&ource 殴r贸d艂&o strony - Ctrl+Alt+U Ctrl+Alt+U - &Full Screen &Tryb pe艂noekranowy - Hi&story Hi&storia - Back Wstecz - Forward Do przodu - Home Strona domowa - Restore Last Session Odtw贸rz ostatni膮 sesj臋 - &Bookmarks &Zak艂adki - Manage Bookmarks... Zarz膮dzaj zak艂adkami... - Add Bookmark... Dodaj zak艂adk臋... - &Window &Okno - &Tools &Narz臋dzia - Web &Search Wy&szukiwanie - Ctrl+K Web Search Ctrl+K - &Clear Private Data Wy&czy艣膰 prywatne dane - Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - Enable Web &Inspector W艂膮cz &inspektora stron - &Help &Pomoc - About &Qt Informacje o &Qt - About &Arora Informacje o programie &Arora - Navigation Nawigacja - Show Status Bar Poka偶 pasek stanu - Hide Status Bar Schowaj pasek stanu - Show Toolbar Poka偶 pasek narz臋dziowy - Hide Toolbar Schowaj pasek narz臋dziowy - Show Bookmarks bar Poka偶 pasek zak艂adek - Hide Bookmarks bar Schowaj pasek zak艂adek - Arora Arora - %1 - Arora Page title and Browser name %1 - Arora - Open Web Resource Otw贸rz plik internetowy - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Pliki internetowe (*.html *.htm *.svg *.png *.gif *.svgz);;Wszystkie pliki (*.*) - Print Document Drukuj dokument - Are you sure you want to turn on private browsing? Czy jeste艣 pewny 偶e chcesz w艂膮czy膰 prywatne przegl膮danie sieci? - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. <b>%1</b><br><br>Kiedy prywatne przegl膮danie sieci jest w艂膮czone, niekt贸re dzia艂ania dotycz膮ce twojej prywatno艣ci s膮 wy艂膮czone:<ul><li> Strony internetowe nie s膮 dodawane do historii.</li><li> Lista pobierania jest automatycznie czyszczona.</li><li> Nowe ciasteczka nie s膮 zapisywane a dost臋p do przechowywanych jest uniemo偶liwiony.</li><li> Ikony stron nie s膮 przechowywane a sesje nie b臋d膮 zapisane.</li><li> Wyszukiwania nie s膮 dodawane do listy w menu pola wyszukiwania.</li></ul>Dop贸ki okno nie zostanie zamkni臋te, mo偶na u偶ywa膰 przycisk贸w Wstecz i Do przodu, by powr贸ci膰 do wcze艣niej otwartych stron. - Are you sure you want to close the window? There are %1 tabs open Czy jeste艣 pewien, 偶e chcesz zamkn膮膰 okno? %1 kart jest otwartych - Page Source of %1 殴r贸d艂o strony %1 - Web Inspector Inspektor stron - The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Inspektor stron porawnie dzia艂a tylko dla stron, kt贸re zosta艂y za艂adowane po w艂膮czeniu inspektora. Czy chcesz od艣wie偶y膰 wszystkie strony? - Stop loading the current page Zatrzymaj 艂adowenie strony - Reload the current page Od艣wie偶 stron臋 - Downloads Pobieranie - Alt+Ctrl+L Download Manager Alt+Ctrl+L - Find &Next Znajd藕 &nast臋pny - Find P&revious Znajd藕 &poprzedni - Prefe&rences Prefe&rencje - &Reload Page Od艣wie偶 st&ron臋 - Make Text &Bigger Zwi臋ksz rozmiar tekstu - Make Text &Normal Znormalizuj rozmiar tekstu - Make Text &Smaller Zmniejsz rozmiar tekstu - Show Bookmarks Bar Poka偶 pasek zak艂adek - Hide Bookmarks Bar Schowaj pasek zak艂adek - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br /><br />Kiedy prywatne przegl膮danie jest w艂膮czone, niekt贸re akcje wp艂ywaj膮ce na Twoj膮 prywatno艣膰 s膮 wy艂膮czone.<ul><li>Historia nie jest uzupe艂niana o odwiedzane strony.</li><li>Pobrane pliki s膮 automatycznie usuwane z okna Pobierania.</li><li>Nowe ciasteczka nie s膮 przechowywane, aktualnie istniej膮ce nie mog膮 by膰 modyfikowane.</li><li>Ikony stron nie b臋d膮 przechowywane</li><li>Sesja nie zostanie zapisana.</li><li>Wyszukiwania nie s膮 dodawane do historii wyszukiwa艅.</li></ul>Dop贸ki nie zamkniesz okna, mo偶esz zawsze uzy膰 przycisk贸w Wstecz i Do przodu, by wr贸ci膰 do stron, kt贸re przegl膮da艂e艣. - Find Nex&t Znajd藕 &nast臋pny - Prefere&nces... Prefe&rencje - Show Menu Bar Poka偶 pasek menu - Switch application language Zmie艅 j臋zyk aplikacji @@ -672,7 +571,6 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? ClearButton - Clear Wyczy艣膰 @@ -680,57 +578,46 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? ClearPrivateData - Clear Private Data Wyczy艣膰 prywatne dane - Clear the following items: Wyczy艣膰 nast臋puj膮ce elementy: - &Browsing History &Historia przegl膮dania - &Download History Historia po&bierania - &Search History Historia &wyszukiwania - &Cookies &Ciasteczka - C&ache P&ami臋膰 podr臋czn膮 - Website &Icons &Ikony stron - Clear &Private Data Wyczy艣膰 &prywatne dane - &Cancel &Anuluj - C&ached Web Pages Zapisane w cache strony @@ -738,32 +625,26 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? CookieExceptionsModel - Website Strona - Status Stan - Allow Zezw贸l - Block Blokuj - Allow For Session Zezw贸l na czas sesji - Rule Zasada @@ -771,42 +652,34 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? CookieModel - Website Strona - Name Nazwa - Path 艢cie偶ka - Secure Bezpieczne - Expires Wygasa - Contents Zawarto艣膰 - true prawda - false fa艂sz @@ -814,17 +687,14 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? CookiesDialog - Cookies Ciasteczka - &Remove &Usu艅 - Remove &All Cookies Usu艅 &wszystkie ciasteczka @@ -832,47 +702,38 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? CookiesExceptionsDialog - Cookie Exceptions Wyj膮tki ciasteczek - New Exception Nowy wyj膮tek - Domain: Domena: - Block Blokuj - Allow For Session Zezw贸l na czas sesji - Allow Zezw贸l - Exceptions Wyj膮tki - &Remove &Usu艅 - Remove &All Usu艅 &wszystkie @@ -880,22 +741,18 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? DownloadDialog - Downloads Pobieranie - Clean up Wyczy艣膰 - 0 Items 0 element贸w - &OK &OK @@ -903,116 +760,94 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? DownloadItem - Form Forma - Ico Ikona - Filename Nazwa pliku - Try Again Spr贸buj ponownie - Stop Zatrzymaj - Open Otw贸rz - Save File Zapisz plik - Download canceled: %1 Pobieranie anulowane: %1 - Error opening save file: %1 B艂膮d przy otwieraniu zapisanego pliku: %1 - Error saving: %1 B艂膮d przy zapisie: %1 - Network Error: %1 B艂膮d sieci: %1 - seconds sekund - minutes minut - - %4 %5 remaining - %4 %5 pozosta艂o - %1 of %2 (%3/sec) %4 %1 z %2 (%3/sek) %4 - ? ? - %1 of %2 - Stopped %1 z %2 - Zatrzymano - bytes bajt贸w - kB kB - MB MB - - %n minutes remaining - %n minuta pozosta艂a - %n minuty pozosta艂y - - % minut pozosta艂o + - %n minut pozosta艂o - - %n seconds remaining - %n sekunda pozosta艂a @@ -1021,7 +856,6 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? - Error opening output file: %1 B艂膮d w trakcie otwierania pliku docelowego: %1 @@ -1029,17 +863,14 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? DownloadManager - 1 Download 1 pobieranie - %1 Downloads %1 pobiera艅 - %n Download(s) %n pobieranie @@ -1051,32 +882,26 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryDialog - Open Otw贸rz - Copy Kopiuj - Delete Skasuj - History Historia - &Remove &Usu艅 - Remove &All Usu艅 &wszystkie @@ -1084,22 +909,18 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryMenu - Show All History Poka偶 ca艂膮 histori臋 - Clear History Wyczy艣膰 histori臋 - Clear History... Wyczy艣膰 histori臋... - Do you want to clear the history? Chcesz wyczy艣ci膰 histori臋? @@ -1107,12 +928,10 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryModel - Title Tytu艂 - Address Adres @@ -1120,17 +939,14 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? HistoryTreeModel - Earlier Today Dzisiaj - %1 items %1 element贸w - %n item(s) %n element @@ -1142,17 +958,14 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? LanguageManager - Default Domy艣lny - Choose language Wybierz j臋zyk - <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Mo偶esz u偶ywa膰 innego j臋zyka ni偶<br />domy艣lny systemowy.</p><p>Wybierz j臋zyk, z kt贸rego chcia艂by艣 korzysta膰.</p> @@ -1160,17 +973,14 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? NetworkAccessManager - <qt>Enter username and password for "%1" at %2</qt> <qt>Wpisz nazw臋 u偶ytkownika i has艂o dla "%1" na %2</qt> - <qt>Connect to proxy "%1" using:</qt> <qt>Po艂膮cz si臋 z proxy "%1" u偶ywaj膮c:</qt> - SSL Errors: %1 @@ -1187,7 +997,6 @@ Do you want to ignore these errors? Czy chcesz zignorowa膰 te b艂臋dy? - Do you want to accept all these certificates? Czy chcesz zaakceptowa膰 te certyfikaty? @@ -1195,27 +1004,22 @@ Czy chcesz zignorowa膰 te b艂臋dy? PasswordDialog - Authentication Required Wymagane uwierzytelnienie - DUMMY ICON ATRAPA IKONY - INTRO TEXT DUMMY ATRAPA TEKSTU WST臉PNEGO - Username: Nazwa u偶ytkownika: - Password: Has艂o: @@ -1223,7 +1027,6 @@ Czy chcesz zignorowa膰 te b艂臋dy? PlainTextEditSearch - Not Found Nie znaleziono @@ -1231,27 +1034,22 @@ Czy chcesz zignorowa膰 te b艂臋dy? ProxyDialog - Proxy Authentication Uwierzytelnienie proxy - ICON IKONA - Connect to proxy Po艂膮cz z proxy - Username: Nazwa u偶ytkownika: - Password: Has艂o: @@ -1259,12 +1057,10 @@ Czy chcesz zignorowa膰 te b艂臋dy? QObject - The file is not an XBEL version 1.0 file. Wskazany plik nie jest plikiem XBEL w wersji 1.0. - Unknown title Nieznany tytu艂 @@ -1272,27 +1068,22 @@ Czy chcesz zignorowa膰 te b艂臋dy? SearchBanner - Form Forma - TextLabel Etykietka Tekstowa - < < - > > - Done Zrobione @@ -1300,7 +1091,6 @@ Czy chcesz zignorowa膰 te b艂臋dy? SearchLineEdit - Search Szukaj @@ -1308,355 +1098,289 @@ Czy chcesz zignorowa膰 te b艂臋dy? Settings - Settings Ustawienia - General Og贸lne - Home: Strona domowa: - Set to current page Ustaw jako obecn膮 stron臋 - Remove history items: Usu艅 elementy historii: - After one day Po jednym dniu - After one week Po tygodniu - After two weeks Po dw贸ch tygodniach - After one month Po miesi膮cu - After one year Po roku - Manually R臋cznie - Open links from applications: Otw贸rz linki z aplikacji: - In a tab in the current window W karcie w obecnym oknie - In a new window W nowym oknie - Downloads Pobieranie - Ask for a destination each time Za ka偶dym razem pytaj o miejsce do zapisu - Use this destination: U偶yj nast臋puj膮cego miejsca docelowego: - Appearance Wygl膮d - Standard font: Standardowa czcionka: - Times 16 Times 16 - Select... Wybierz... - Fixed-width font: O sta艂ej szeroko艣ci: - Courier 13 Courier 13 - Privacy Prywatno艣膰 - Web Content Zawarto艣膰 sieci - Enable Plugins W艂膮cz wtyczki - Enable Javascript W艂膮cz obs艂ug臋 j臋zyka Javascript - Cookies Ciasteczka - Accept Cookies: Akceptuj ciasteczka: - Always Zawsze - Never Nigdy - Only from sites you navigate to Tylko ze stron, kt贸re odwiedzasz - Exceptions... Wyj膮tki... - Keep until: Przechowuj: - They expire a偶 wygasn膮 - I exit the application do zamkni臋cia programu - At most 90 days najwy偶ej 90 dni - Cookies... Ciasteczka... - Proxy Proxy - Enable proxy W艂膮cz proxy - Type: Typ: - Socks5 Socks5 - Http Http - Host: Host: - Port: Port: - User Name: Nazwa u偶ytkownika: - Password: Has艂o: - Advanced Zaawansowane - Style Sheet: Arkusz styl贸w: - On startup: Po uruchomieniu: - Show my home page Poka偶 moj膮 stron臋 domow膮 - Show a blank page Poka偶 pust膮 stron臋 - Restore windows and tabs from last time Przywr贸膰 okna i karty z poprzedniej sesji - On application exit Przy zamykaniu aplikacji - Enable Images W艂膮cz obrazki - Tabs Karty - Select tabs and windows as they are created Wybierz karty i okna tak jak zosta艂y utworzone - Confirm when closing multiple tabs Potwierd藕 przy zamykaniu wielu kart - Preferences - Preferencje + Preferencje - Home Page: - Strona domowa: + Strona domowa: - View Images Wy艣wietlaj obrazki - Keep Cookies Until: Przechowuj ciastka: - Use proxy server U偶yj serwera proxy: - Host name: Host name: + + Show only one close button instead of one for each tab + Wy艣wietlaj tylko jeden przycisk zamkni臋cia karty zamiast jednego dla ka偶dej karty + SourceViewer - Loading... 艁adowanie... - &Edit &Edytuj - &Find &Znajd藕 - &View &Widok - &Wrap lines Za&wijaj wiersze - Source of Page 殴r贸d艂o strony @@ -1664,42 +1388,34 @@ Czy chcesz zignorowa膰 te b艂臋dy? TabBar - New &Tab Nowa &karta - Duplicate Tab Duplikuj kart臋 - &Close Tab &Zamknij kart臋 - Close &Other Tabs Zamknij &inne karty - Reload Tab Od艣wie偶 kart臋 - Reload All Tabs Od艣wie偶 wszystkie karty - Show Tab Bar Poka偶 pasek kart - Hide Tab Bar Schowaj pasek kart @@ -1707,42 +1423,34 @@ Czy chcesz zignorowa膰 te b艂臋dy? TabWidget - New &Tab Nowa &karta - &Close Tab &Zamknij kart臋 - Show Next Tab Poka偶 nast臋pn膮 kart臋 - Show Previous Tab Poka偶 poprzedni膮 kart臋 - Recently Closed Tabs Ostatnio zamykane karty - (Untitled) (Bez nazwy) - Do you really want to close this page? Czy na pewno chcesz zamkn膮膰 t臋 stron臋? - You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1750,7 +1458,6 @@ Do you really want to close this page? Czy na pewno chcesz zamkn膮膰 t臋 stron臋? - Untitled Nowy @@ -1758,22 +1465,18 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? ToolbarSearch - Google Google - No Recent Searches Brak ostatnich wyszukiwa艅 - Recent Searches Ostatnie wyszukiwa艅 - Clear Recent Searches Wyczy艣膰 list臋 wyszukiwa艅 @@ -1781,32 +1484,26 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebPage - Error loading page: %1 B艂膮d podczas 艂adowania strony: %1 - When connecting to: %3. Podczas 艂膮czenia z: %1. - Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. - If the address is correct, try to check the network connection. Je艣li adres jest prawid艂owy, sprawd藕 dzia艂anie swojego po艂膮czenia internetowego. - If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Je艣li tw贸j komputer lub sie膰 jest chroniona zapor膮 sieciow膮 lub proxy, upewnij si臋, 偶e przegl膮darka ma dost臋p do sieci. - When connecting to: %1. Podczas 艂膮czenia z: %1. @@ -1814,57 +1511,46 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebView - Open in New &Window Otw贸rz w nowym &oknie - Open in New &Tab Otw贸rz w nowej &karcie - Save Lin&k &Zapisz element docelowy - &Bookmark This Link Dodaj ten odno艣nik do &zak艂adek - &Copy Link Location &Kopiuj adres odno艣nika - Open Image in New &Window Otw贸rz obrazek w nowym o&knie - Open Image in New &Tab Otw贸rz obrazek w nowej k&arcie - &Save Image &Zapisz obrazek - &Copy Image &Kopiuj obrazek - C&opy Image Location K&opiuj adres obrazka - Loading... 艁adowanie... @@ -1872,7 +1558,6 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? WebViewSearch - Not Found Nie znaleziono From 7612ac44f910f6dd3993863c4165925a111c8eb8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 1 Feb 2009 06:38:48 -0500 Subject: [PATCH 0331/1254] Style consistancy fixes, put a space between the variable type and pointer or reference --- git_hooks/findstyleerrors.sh | 4 ++++ src/bookmarks.cpp | 2 +- src/bookmarks.h | 4 ++-- src/browserapplication.cpp | 2 +- src/explorerstyle.cpp | 4 ++-- src/history.h | 8 ++++---- src/tabbar.h | 4 ++-- src/utils/proxystyle.h | 2 +- 8 files changed, 17 insertions(+), 13 deletions(-) diff --git a/git_hooks/findstyleerrors.sh b/git_hooks/findstyleerrors.sh index caa07d2d..439fdaad 100755 --- a/git_hooks/findstyleerrors.sh +++ b/git_hooks/findstyleerrors.sh @@ -13,3 +13,7 @@ grep '^{ }*{' * | grep -v Makefile | grep -v Binary grep '){' * | grep -v Makefile | grep -v Binary grep ' ' * | grep -v Makefile | grep -v Binary egrep '\(.*\* .*\)' * | grep -v Makefile | grep -v Binary | grep '::' + +# var *name; +grep '[^\* \/]\* ' * | grep -v Binary +grep '[^& ]& ' * | grep -v Binary diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 12de1165..3be6bd4a 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -1029,7 +1029,7 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) int row = -1; QModelIndex parentIndex = m_root; - QToolButton* target = qobject_cast(childAt(event->pos())); + QToolButton *target = qobject_cast(childAt(event->pos())); if (target && target->menu()) { ModelMenu *menu = qobject_cast(target->menu()); diff --git a/src/bookmarks.h b/src/bookmarks.h index 51344286..2925e111 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -205,8 +205,8 @@ public slots: QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; - QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const; - QModelIndex parent(const QModelIndex& index = QModelIndex()) const; + QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &index = QModelIndex()) const; Qt::ItemFlags flags(const QModelIndex &index) const; Qt::DropActions supportedDropActions() const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); diff --git a/src/browserapplication.cpp b/src/browserapplication.cpp index 92a451ef..f65e4e19 100644 --- a/src/browserapplication.cpp +++ b/src/browserapplication.cpp @@ -480,7 +480,7 @@ BookmarksManager *BrowserApplication::bookmarksManager() return s_bookmarksManager; } -LanguageManager* BrowserApplication::languageManager() +LanguageManager *BrowserApplication::languageManager() { if (!s_languageManager) s_languageManager = new LanguageManager; diff --git a/src/explorerstyle.cpp b/src/explorerstyle.cpp index c3e48ffd..b31e011e 100644 --- a/src/explorerstyle.cpp +++ b/src/explorerstyle.cpp @@ -84,7 +84,7 @@ void ExplorerStyle::drawPrimitive(PrimitiveElement element, const QStyleOption * if (QMainWindow *window = qobject_cast(widget->window())) { QRegion topreg; QRegion bottomreg; - QMenuBar* menubar = qFindChild(window); + QMenuBar *menubar = qFindChild(window); //We draw the menubar as part of the top toolbar area if (menubar) { @@ -187,7 +187,7 @@ void ExplorerStyle::drawControl(ControlElement element, const QStyleOption *opti case CE_ToolBar: if (isAppThemed()) { - if (const QStyleOptionToolBar* toolbar = qstyleoption_cast(option)) { + if (const QStyleOptionToolBar *toolbar = qstyleoption_cast(option)) { QStyleOptionToolBar adjustedToolBar = *toolbar; adjustedToolBar.palette.setBrush(QPalette::All, QPalette::Dark, shadow); QWindowsXPStyle::drawControl(element, &adjustedToolBar, painter, widget); diff --git a/src/history.h b/src/history.h index b41d6bb7..38203326 100644 --- a/src/history.h +++ b/src/history.h @@ -206,8 +206,8 @@ class HistoryFilterModel : public QAbstractProxyModel QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; int columnCount(const QModelIndex &parent = QModelIndex()) const; - QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const; - QModelIndex parent(const QModelIndex& index = QModelIndex()) const; + QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &index = QModelIndex()) const; bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; @@ -293,8 +293,8 @@ class HistoryCompletionModel : public QAbstractProxyModel int columnCount(const QModelIndex &parent = QModelIndex()) const; QModelIndex mapFromSource(const QModelIndex &sourceIndex) const; QModelIndex mapToSource(const QModelIndex &proxyIndex) const; - QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const; - QModelIndex parent(const QModelIndex& index = QModelIndex()) const; + QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &index = QModelIndex()) const; void setSourceModel(QAbstractItemModel *sourceModel); private slots: diff --git a/src/tabbar.h b/src/tabbar.h index bf72f95b..6d90c277 100644 --- a/src/tabbar.h +++ b/src/tabbar.h @@ -99,8 +99,8 @@ class TabBar : public QTabBar protected: void mouseDoubleClickEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); - void mousePressEvent(QMouseEvent* event); - void mouseMoveEvent(QMouseEvent* event); + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); #if QT_VERSION < 0x040500 void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); diff --git a/src/utils/proxystyle.h b/src/utils/proxystyle.h index 30d8356a..950ac1f8 100644 --- a/src/utils/proxystyle.h +++ b/src/utils/proxystyle.h @@ -105,7 +105,7 @@ protected slots: { return style->standardIcon(standardIcon, option, widget); } private: - QStyle* style; + QStyle *style; }; From beaed2e3c2ed46feb3c6bd41f5ddc2940728c264 Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Wed, 28 Jan 2009 18:23:12 +0100 Subject: [PATCH 0332/1254] Implement simple context menu in bookmarks toolbar. Let user change bookmark URL in Add Bookmark dialog. --- src/addbookmarkdialog.ui | 3 + src/bookmarks.cpp | 117 ++++++++++++++++++++++++++++++++++++--- src/bookmarks.h | 13 ++++- 3 files changed, 123 insertions(+), 10 deletions(-) diff --git a/src/addbookmarkdialog.ui b/src/addbookmarkdialog.ui index 3460d7bb..a45de3d2 100644 --- a/src/addbookmarkdialog.ui +++ b/src/addbookmarkdialog.ui @@ -29,6 +29,9 @@ + + + diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 3be6bd4a..7b56e18e 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -710,7 +710,6 @@ bool AddBookmarkProxyModel::filterAcceptsRow(int source_row, const QModelIndex & AddBookmarkDialog::AddBookmarkDialog(const QString &url, const QString &title, QWidget *parent, BookmarksManager *bookmarkManager) : QDialog(parent) - , m_url(url) , m_bookmarksManager(bookmarkManager) , m_proxyModel(0) { @@ -737,17 +736,23 @@ AddBookmarkDialog::AddBookmarkDialog(const QString &url, const QString &title, Q view->setCurrentIndex(idx); location->setCurrentIndex(idx.row()); name->setText(title); + address->setText(url); } void AddBookmarkDialog::accept() { + if (address->text().isEmpty() || name->text().isEmpty()) { + QDialog::accept(); + return; + } + QModelIndex index = location->view()->currentIndex(); index = m_proxyModel->mapToSource(index); if (!index.isValid()) index = m_bookmarksManager->bookmarksModel()->index(0, 0); BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(index); BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark); - bookmark->url = m_url; + bookmark->url = address->text(); bookmark->title = name->text(); m_bookmarksManager->addBookmark(parent, bookmark); QDialog::accept(); @@ -963,9 +968,9 @@ void BookmarksDialog::newFolder() m_bookmarksManager->addBookmark(parent, node, currentIndex.row() + 1); } -BookmarkToolButton::BookmarkToolButton(QUrl url, QWidget *parent) +BookmarkToolButton::BookmarkToolButton(const QModelIndex &index, QWidget *parent) : QToolButton(parent) - , m_url(url) + , m_index(index) { } @@ -985,15 +990,24 @@ void BookmarkToolButton::mouseReleaseEvent(QMouseEvent *event) } } +QModelIndex BookmarkToolButton::index() const +{ + return m_index; +} + QUrl BookmarkToolButton::url() const { - return m_url; + return m_index.data(BookmarksModel::UrlRole).toUrl(); } BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent) : QToolBar(tr("Bookmark"), parent) , m_bookmarksModel(model) { + setContextMenuPolicy(Qt::CustomContextMenu); + connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), + this, SLOT(contextMenuRequested(const QPoint &))); + setRootIndex(model->index(0, 0)); connect(m_bookmarksModel, SIGNAL(modelReset()), this, SLOT(build())); connect(m_bookmarksModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(build())); @@ -1002,6 +1016,96 @@ BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent) setAcceptDrops(true); } +Q_DECLARE_METATYPE(QModelIndex) +void BookmarksToolBar::contextMenuRequested(const QPoint &position) +{ + QToolButton* button = qobject_cast(childAt(position)); + + QMenu menu; + QAction* action; + + if (button) { + QModelIndex index; + QVariant v; + + if (!button->menu()) { + BookmarkToolButton* bookmarkButton = qobject_cast(button); + index = bookmarkButton->index(); + v.setValue(index); + + action = menu.addAction(tr("Open"), this, SLOT(openBookmark())); + action->setData(v); + + action = menu.addAction(tr("Open in New &Tab"), this, SLOT(openBookmarkInNewTab())); + action->setData(v); + + menu.addSeparator(); + } else { + ModelMenu *menu = qobject_cast(button->menu()); + index = menu->rootIndex(); + v.setValue(index); + } + + action = menu.addAction(tr("Remove"), this, SLOT(removeBookmark())); + action->setData(v); + + menu.addSeparator(); + } + + action = menu.addAction(tr("Add Bookmark..."), this, SLOT(newBookmark())); + + menu.exec(QCursor::pos()); +} + +void BookmarksToolBar::openBookmark() +{ + QAction* action = qobject_cast(sender()); + QVariant variant = action->data(); + QModelIndex index; + + if (variant.canConvert()) + index = qvariant_cast(variant); + + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::CurrentTab, + index.data(Qt::DisplayRole).toString()); +} + +void BookmarksToolBar::openBookmarkInNewTab() +{ + QAction* action = qobject_cast(sender()); + QVariant variant = action->data(); + QModelIndex index; + + if (variant.canConvert()) + index = qvariant_cast(variant); + + emit openUrl( + index.data(BookmarksModel::UrlRole).toUrl(), + TabWidget::NewTab, + index.data(Qt::DisplayRole).toString()); +} + +void BookmarksToolBar::removeBookmark() +{ + QAction* action = qobject_cast(sender()); + QVariant variant = action->data(); + QModelIndex index; + + if (variant.canConvert()) + index = qvariant_cast(variant); + + m_bookmarksModel->removeRow(index.row(), m_root); +} + +void BookmarksToolBar::newBookmark() +{ + AddBookmarkDialog* dialog = new AddBookmarkDialog(QString(), QString()); + dialog->exec(); + delete dialog; +} + void BookmarksToolBar::dragEnterEvent(QDragEnterEvent *event) { const QMimeData *mimeData = event->mimeData(); @@ -1105,8 +1209,7 @@ void BookmarksToolBar::build() connect(menu, SIGNAL(openUrl(const QUrl &, TabWidget::Tab, const QString &)), this, SIGNAL(openUrl(const QUrl &, TabWidget::Tab, const QString &))); } else { - QUrl url = idx.data(BookmarksModel::UrlRole).toUrl(); - BookmarkToolButton *button = new BookmarkToolButton(url, this); + BookmarkToolButton *button = new BookmarkToolButton(idx, this); button->setText(idx.data().toString()); connect(button, SIGNAL(openBookmark(const QUrl &, TabWidget::Tab, const QString &)), this, SIGNAL(openUrl(const QUrl &, TabWidget::Tab, const QString &))); diff --git a/src/bookmarks.h b/src/bookmarks.h index 2925e111..6d305264 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -285,7 +285,6 @@ private slots: void accept(); private: - QString m_url; BookmarksManager *m_bookmarksManager; AddBookmarkProxyModel *m_proxyModel; }; @@ -329,14 +328,15 @@ class BookmarkToolButton : public QToolButton void openBookmark(const QUrl &url, TabWidget::Tab tab, const QString &title); public: - BookmarkToolButton(QUrl url, QWidget *parent = 0); + BookmarkToolButton(const QModelIndex &index, QWidget *parent = 0); + QModelIndex index() const; QUrl url() const; protected: void mouseReleaseEvent(QMouseEvent *event); private: - QUrl m_url; + QModelIndex m_index; }; @@ -381,6 +381,13 @@ class BookmarksToolBar : public QToolBar private slots: void build(); +protected slots: + void contextMenuRequested(const QPoint &position); + void openBookmark(); + void openBookmarkInNewTab(); + void removeBookmark(); + void newBookmark(); + private: BookmarksModel *m_bookmarksModel; QPersistentModelIndex m_root; From a98153f51f554a45e3c3ef13260224e3e4ec762e Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 1 Feb 2009 08:25:20 -0500 Subject: [PATCH 0333/1254] Add inactive text feature to LineEdit --- src/searchlineedit.cpp | 32 +------------------------------- src/searchlineedit.h | 5 ----- src/utils/lineedit.cpp | 31 +++++++++++++++++++++++++++++++ src/utils/lineedit.h | 6 +++++- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/src/searchlineedit.cpp b/src/searchlineedit.cpp index c5e5150e..63527ff3 100644 --- a/src/searchlineedit.cpp +++ b/src/searchlineedit.cpp @@ -195,7 +195,7 @@ SearchLineEdit::SearchLineEdit(QWidget *parent) m_searchButton = new SearchButton(this); updateGeometries(); addWidget(m_searchButton, LeftSide); - m_inactiveText = tr("Search"); + setInactiveText(tr("Search")); QSizePolicy policy = sizePolicy(); setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy()); @@ -212,26 +212,6 @@ SearchLineEdit::SearchLineEdit(QWidget *parent) setUpdatesEnabled(true); } -void SearchLineEdit::paintEvent(QPaintEvent *event) -{ - if (text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) { - LineEdit::paintEvent(event); - QStyleOptionFrameV2 panel; - initStyleOption(&panel); - QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); -#if QT_VERSION >= 0x040500 - int left = textMargin(LineEdit::LeftSide); - int right = textMargin(LineEdit::RightSide); - textRect.adjust(left, 0, -right, 0); -#endif - QPainter painter(this); - painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); - painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); - } else { - LineEdit::paintEvent(event); - } -} - void SearchLineEdit::resizeEvent(QResizeEvent *event) { updateGeometries(); @@ -249,16 +229,6 @@ void SearchLineEdit::updateGeometries() updateTextMargins(); } -QString SearchLineEdit::inactiveText() const -{ - return m_inactiveText; -} - -void SearchLineEdit::setInactiveText(const QString &text) -{ - m_inactiveText = text; -} - void SearchLineEdit::setMenu(QMenu *menu) { if (m_searchButton->m_menu) diff --git a/src/searchlineedit.h b/src/searchlineedit.h index 2c1ce9bb..b356978a 100644 --- a/src/searchlineedit.h +++ b/src/searchlineedit.h @@ -100,21 +100,16 @@ class SearchLineEdit : public LineEdit public: SearchLineEdit(QWidget *parent = 0); - QString inactiveText() const; - void setInactiveText(const QString &text); - QMenu *menu() const; void setMenu(QMenu *menu); protected: void resizeEvent(QResizeEvent *event); - void paintEvent(QPaintEvent *event); private: void updateGeometries(); SearchButton *m_searchButton; - QString m_inactiveText; }; #endif // SEARCHLINEEDIT_H diff --git a/src/utils/lineedit.cpp b/src/utils/lineedit.cpp index 0a5836a6..2167cfba 100644 --- a/src/utils/lineedit.cpp +++ b/src/utils/lineedit.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include @@ -213,3 +214,33 @@ void LineEdit::resizeEvent(QResizeEvent *event) QLineEdit::resizeEvent(event); } +QString LineEdit::inactiveText() const +{ + return m_inactiveText; +} + +void LineEdit::setInactiveText(const QString &text) +{ + m_inactiveText = text; +} + +void LineEdit::paintEvent(QPaintEvent *event) +{ + QLineEdit::paintEvent(event); + if (text().isEmpty() && !m_inactiveText.isEmpty() && !hasFocus()) { + QStyleOptionFrameV2 panel; + initStyleOption(&panel); + QRect textRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this); + int horizontalMargin = 2; + textRect.adjust(horizontalMargin, 0, 0, 0); +#if QT_VERSION >= 0x040500 + int left = textMargin(LineEdit::LeftSide); + int right = textMargin(LineEdit::RightSide); + textRect.adjust(left, 0, -right, 0); +#endif + QPainter painter(this); + painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color()); + painter.drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_inactiveText); + } +} + diff --git a/src/utils/lineedit.h b/src/utils/lineedit.h index ff3dd0d4..259b43d4 100644 --- a/src/utils/lineedit.h +++ b/src/utils/lineedit.h @@ -62,6 +62,10 @@ class LineEdit : public QLineEdit void setWidgetSpacing(int spacing); int widgetSpacing() const; int textMargin(WidgetPosition position) const; + QString inactiveText() const; + void setInactiveText(const QString &text); + + void paintEvent(QPaintEvent *event); protected: void resizeEvent(QResizeEvent *event); @@ -78,7 +82,7 @@ protected slots: SideWidget *m_rightWidget; QHBoxLayout *m_leftLayout; QHBoxLayout *m_rightLayout; - + QString m_inactiveText; }; #endif // LINEEDIT_H From bc7adf006d758cfddadee8b11d43b82e91e9cb2b Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 1 Feb 2009 08:38:11 -0500 Subject: [PATCH 0334/1254] When the url is set hide the address in the add bookmark dialog. Set an inactive text on the line edits in the add bookmark dialog. Add some more error checking minor code style fixes to the previous bookmark patch. --- src/addbookmarkdialog.ui | 56 +++++++++++++++++------------- src/bookmarks.cpp | 75 +++++++++++++++++++++++----------------- 2 files changed, 75 insertions(+), 56 deletions(-) diff --git a/src/addbookmarkdialog.ui b/src/addbookmarkdialog.ui index a45de3d2..c454fd93 100644 --- a/src/addbookmarkdialog.ui +++ b/src/addbookmarkdialog.ui @@ -1,46 +1,47 @@ - + + AddBookmarkDialog - - + + 0 0 240 - 168 + 179 - + Add Bookmark - + - - + + Type a name for the bookmark, and choose where to keep it. - + Qt::PlainText - + true - + - + - + - - + + Qt::Vertical - + 20 2 @@ -49,20 +50,27 @@ - - + + Qt::Horizontal - + QDialogButtonBox::Cancel|QDialogButtonBox::Ok - + false + + + LineEdit + QLineEdit +
lineedit.h
+
+
@@ -71,11 +79,11 @@ AddBookmarkDialog accept() - + 248 254 - + 157 274 @@ -87,11 +95,11 @@ AddBookmarkDialog reject() - + 316 260 - + 286 274 diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index 7b56e18e..bf5b027a 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -737,6 +737,11 @@ AddBookmarkDialog::AddBookmarkDialog(const QString &url, const QString &title, Q location->setCurrentIndex(idx.row()); name->setText(title); address->setText(url); + if (!url.isEmpty()) + address->hide(); + address->setInactiveText(QLatin1String("Url")); + name->setInactiveText(QLatin1String("Title")); + resize(sizeHint()); } void AddBookmarkDialog::accept() @@ -1019,35 +1024,37 @@ BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent) Q_DECLARE_METATYPE(QModelIndex) void BookmarksToolBar::contextMenuRequested(const QPoint &position) { - QToolButton* button = qobject_cast(childAt(position)); + QToolButton *button = qobject_cast(childAt(position)); QMenu menu; - QAction* action; + QAction *action; if (button) { QModelIndex index; - QVariant v; - - if (!button->menu()) { - BookmarkToolButton* bookmarkButton = qobject_cast(button); + QVariant variant; + + BookmarkToolButton *bookmarkButton = qobject_cast(button); + ModelMenu *modelMenu = qobject_cast(button->menu()); + if (modelMenu) { + index = modelMenu->rootIndex(); + variant.setValue(index); + } else if (bookmarkButton) { index = bookmarkButton->index(); - v.setValue(index); + variant.setValue(index); action = menu.addAction(tr("Open"), this, SLOT(openBookmark())); - action->setData(v); + action->setData(variant); action = menu.addAction(tr("Open in New &Tab"), this, SLOT(openBookmarkInNewTab())); - action->setData(v); + action->setData(variant); menu.addSeparator(); - } else { - ModelMenu *menu = qobject_cast(button->menu()); - index = menu->rootIndex(); - v.setValue(index); } - action = menu.addAction(tr("Remove"), this, SLOT(removeBookmark())); - action->setData(v); + if (variant.isValid()) { + action = menu.addAction(tr("Remove"), this, SLOT(removeBookmark())); + action->setData(variant); + } menu.addSeparator(); } @@ -1059,12 +1066,13 @@ void BookmarksToolBar::contextMenuRequested(const QPoint &position) void BookmarksToolBar::openBookmark() { - QAction* action = qobject_cast(sender()); + QAction *action = qobject_cast(sender()); + if (!action) + return; QVariant variant = action->data(); - QModelIndex index; - - if (variant.canConvert()) - index = qvariant_cast(variant); + if (!variant.canConvert()) + return; + QModelIndex index = qvariant_cast(variant); emit openUrl( index.data(BookmarksModel::UrlRole).toUrl(), @@ -1074,12 +1082,13 @@ void BookmarksToolBar::openBookmark() void BookmarksToolBar::openBookmarkInNewTab() { - QAction* action = qobject_cast(sender()); + QAction *action = qobject_cast(sender()); + if (!action) + return; QVariant variant = action->data(); - QModelIndex index; - - if (variant.canConvert()) - index = qvariant_cast(variant); + if (!variant.canConvert()) + return; + QModelIndex index = qvariant_cast(variant); emit openUrl( index.data(BookmarksModel::UrlRole).toUrl(), @@ -1089,19 +1098,20 @@ void BookmarksToolBar::openBookmarkInNewTab() void BookmarksToolBar::removeBookmark() { - QAction* action = qobject_cast(sender()); + QAction *action = qobject_cast(sender()); + if (!action) + return; QVariant variant = action->data(); - QModelIndex index; - - if (variant.canConvert()) - index = qvariant_cast(variant); + if (!variant.canConvert()) + return; + QModelIndex index = qvariant_cast(variant); m_bookmarksModel->removeRow(index.row(), m_root); } void BookmarksToolBar::newBookmark() { - AddBookmarkDialog* dialog = new AddBookmarkDialog(QString(), QString()); + AddBookmarkDialog *dialog = new AddBookmarkDialog(QString(), QString()); dialog->exec(); delete dialog; } @@ -1137,7 +1147,8 @@ void BookmarksToolBar::dropEvent(QDropEvent *event) if (target && target->menu()) { ModelMenu *menu = qobject_cast(target->menu()); - parentIndex = menu->rootIndex(); + if (menu) + parentIndex = menu->rootIndex(); } BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark); From b921592ab887d31abc6b02b31bdbcffbf21f6685 Mon Sep 17 00:00:00 2001 From: Adam Treat Date: Wed, 4 Feb 2009 09:50:30 -0500 Subject: [PATCH 0335/1254] Allow the build to honor the git branch name of webkit I wish to build against if set as an environment variable. --- src/webkittrunk.pri | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/webkittrunk.pri b/src/webkittrunk.pri index 46c8e8f6..53db7de7 100644 --- a/src/webkittrunk.pri +++ b/src/webkittrunk.pri @@ -1,12 +1,19 @@ # # export QT_WEBKIT=webkit_trunk # export WEBKITDIR=$HOME/dev/webkit +# export WEBKITBRANCH=some_cool_git_branch_of_webkit # CONFIG += $$(QT_WEBKIT) webkit_trunk { WEBKITDIR = $$(WEBKITDIR) - CONFIG(release):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Release/lib - CONFIG(debug):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Debug/lib + WEBKITBRANCH = $$(WEBKITBRANCH) + isEmpty(WEBKITBRANCH) { + CONFIG(release):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Release/lib + CONFIG(debug):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/Debug/lib + } else { + CONFIG(release):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/$$WEBKITBRANCH/Release/lib + CONFIG(debug):WEBKITBUILD = $$WEBKITDIR/WebKitBuild/$$WEBKITBRANCH/Debug/lib + } message(Using WebKit Trunk at $$WEBKITDIR) message(Using WebKit Build at $$WEBKITBUILD) QT -= webkit From 11b5ecebc3bcb2fef6b4caefe0011239c2de18f4 Mon Sep 17 00:00:00 2001 From: Adam Treat Date: Wed, 4 Feb 2009 10:07:25 -0500 Subject: [PATCH 0336/1254] Move the webkittrunk.pri to the top-level as other parts of the arora build need to link against QtWebKit too. Specifically, htmlToXBel. --- src/src.pri | 2 +- tools/htmlToXBel/htmlToXBel.pro | 1 + src/webkittrunk.pri => webkittrunk.pri | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) rename src/webkittrunk.pri => webkittrunk.pri (95%) diff --git a/src/src.pri b/src/src.pri index 4250dcca..072e2625 100644 --- a/src/src.pri +++ b/src/src.pri @@ -128,7 +128,7 @@ unix { DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" } -include(webkittrunk.pri) +include(../webkittrunk.pri) win32 { include(explorerstyle.pri) diff --git a/tools/htmlToXBel/htmlToXBel.pro b/tools/htmlToXBel/htmlToXBel.pro index fdd8851e..833f8423 100644 --- a/tools/htmlToXBel/htmlToXBel.pro +++ b/tools/htmlToXBel/htmlToXBel.pro @@ -18,3 +18,4 @@ OBJECTS_DIR = $$PWD/.obj RESOURCES += source.qrc +include(../../webkittrunk.pri) diff --git a/src/webkittrunk.pri b/webkittrunk.pri similarity index 95% rename from src/webkittrunk.pri rename to webkittrunk.pri index 53db7de7..c08131f2 100644 --- a/src/webkittrunk.pri +++ b/webkittrunk.pri @@ -19,7 +19,7 @@ webkit_trunk { QT -= webkit DEFINES += WEBKIT_TRUNK QMAKE_LIBDIR_FLAGS = -L$$WEBKITBUILD - LIBS = -lQtWebKit + LIBS = -L$$WEBKITBUILD -lQtWebKit INCLUDEPATH = $$WEBKITDIR/WebKit/qt/Api $$INCLUDEPATH QMAKE_RPATHDIR = $$WEBKITBUILD $$QMAKE_RPATHDIR } From b81ee0b65d6ffc4072ce4b889992c42e8a92c1dc Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Fri, 13 Feb 2009 22:14:34 +0100 Subject: [PATCH 0337/1254] updated German translation --- src/locale/de_DE.ts | 544 ++++++++++++++++++++++++++++---------------- 1 file changed, 342 insertions(+), 202 deletions(-) diff --git a/src/locale/de_DE.ts b/src/locale/de_DE.ts index 488bc03e..d8ae56f4 100644 --- a/src/locale/de_DE.ts +++ b/src/locale/de_DE.ts @@ -1,5 +1,6 @@ - + + @@ -12,7 +13,7 @@ Arora l盲uft bereits.
- + AboutDialog @@ -20,11 +21,13 @@ 脺ber + Authors Autoren + License Lizenz @@ -44,7 +47,7 @@ Close Schlie脽en - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -57,12 +60,12 @@ p, li { white-space: pre-wrap; } AddBookmarkDialog - + Add Bookmark Lesezeichen hinzuf眉gen - + Type a name for the bookmark, and choose where to keep it. Geben Sie einen Namen und Speicherort f眉r das Lesezeichen an. @@ -70,17 +73,17 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open 脰ffnen - + Delete L枚schen - + New Folder Neuer Ordner @@ -100,15 +103,26 @@ p, li { white-space: pre-wrap; } Ordner hinzuf眉gen - + Open in New Tab In einem neuen tab 枚ffnen + + + Edit Name + Titel editieren + + + + Edit Address + Adresse editieren + BookmarksManager - + + Error when loading bookmarks on line %1, column %2: %3 Fehler beim Laden der Lesezeichen in Zeile %1, Spalte %2锟: @@ -130,6 +144,7 @@ p, li { white-space: pre-wrap; } Datei 枚ffnen + XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) @@ -196,27 +211,46 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Lesezeichen + + + Open + 脰ffnen + + + + Open in New &Tab + In einem neuen &Tab 枚ffnen + + + + Remove + Entfernen + + + + Add Bookmark... + Lesezeichen hinzuf眉gen... + BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? %1 Fenster und %2 Tabs sind ge枚ffnet Arora wirklich beenden? - + Restore failed Wiederherstellung fehlgeschlagen - The saved session will not being restored because last time it was restored Arora crashed. Die gespeicherte Sitzung wird nicht wiederhergestellt weil bei der letzten Wiederherstellung Arora abgest眉rzt ist. @@ -226,7 +260,7 @@ Arora wirklich beenden? (脛nderung: %1 %2) - + The saved session will not be restored because Arora crashed while trying to restore this session. Die gespeicherte Sitzung wird nicht wiederhergestellt, weil bei der letzten Wiederherstellung Arora abgest眉rzt ist. @@ -234,361 +268,358 @@ Arora wirklich beenden? BrowserMainWindow - + &File &Datei - + &New Window &Neues Fenster - + &Open File... &Datei 枚ffnen... - + Open &Location... &Adresse aufrufen... - + &Save As... &Speichern unter... - + &Import Bookmarks... Lesezeichen &importieren... - + &Export Bookmarks... Lesezeichen &exportieren... - + P&rint Preview... Druck&vorschau... - + &Print... &Drucken... - + Private &Browsing... &Private Browsing... - + + &Quit &Beenden - + &Edit &Bearbeiten - + &Undo &R眉ckg盲ngig - + &Redo &Wiederholen - + Cu&t &Ausschneiden - + &Copy &Kopieren - + &Paste &Einf眉gen - + &Find &Suchen - &Find Next N盲chstes &Ergebnis - &Find Previous Vorheriges &Ergebnis - &Preferences &Einstellungen - + Ctrl+, Strg+, - + &View &Ansicht - + Shift+Ctrl+B Shift+Strg+B - + Ctrl+| Strg+| - + Ctrl+/ Strg+/ - + &Stop &Stop - Reload Page Seite aktualisieren - &Make Text Bigger &Text vergr枚脽ern - &Make Text Normal Normale &Textgr枚脽e - &Make Text Smaller &Text verkleinern - + Page S&ource &Quelltext - + Ctrl+Alt+U Strg+Alt+U - + &Full Screen &Vollbild - + Hi&story &Verlauf - + Back Zur眉ck - + Forward Vorw盲rts - + Home Startseite - + Restore Last Session Letzte Sitzung wiederherstellen - + &Bookmarks &Lesezeichen - + Manage Bookmarks... Lesezeichen verwalten... - + Add Bookmark... Lesezeichen hinzuf眉gen... - + &Window &Fenster - + &Tools &Werkzeuge - + Web &Search Web&suche - + Ctrl+K Web Search Strg+K - + + Show &Network Monitor + &Netzwerk Monitor anzeigen + + + Enable Web &Inspector Web-&Inspector aktivieren - + &Help &Hilfe - + About &Qt 脺ber &Qt - + About &Arora 脺ber &Arora - + + Navigation Navigation - + Show Status Bar Statusleiste zeigen - + Hide Status Bar Statusleiste verbergen - + Show Toolbar Werkzeugleiste zeigen - + Hide Toolbar Werkzeugleiste verbergen - Show Bookmarks bar Lesezeichenleiste zeigen - Hide Bookmarks bar Lesezeichenleiste verbergen - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Webinhalte 枚ffnen - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webinhalte (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - + Print Document Dokument drucken - + Are you sure you want to turn on private browsing? Private Browsing wirklich aktivieren? - + Are you sure you want to close the window? There are %1 tabs open Soll das Fenster wirklich geschlossen werden? Es sind %1 Tabs ge枚ffnet - Page Source of %1 Quelltext von %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Der Web Inspector funktioniert nur auf neu geladenen Seiten. Sollen alle Seiten neu geladen werden? - + Stop loading the current page Ladevorgang abbrechen - + Reload the current page Seite aktualisieren - + Downloads Downloads - + Alt+Ctrl+L Download Manager Alt+Strg+L @@ -598,83 +629,81 @@ Sollen alle Seiten neu geladen werden? <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsph盲re betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Eintr盲ge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zur眉ck- und Vorw盲rtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. - + &Clear Private Data Private Daten &l枚schen - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Delete - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Wenn Private Browsing aktiviert ist, werden einige Funktionen deaktiviert die Ihre Privatsph盲re betreffen:<ul><li> Aufgerufene Webseiten erscheinen nicht im Verlauf.</li><li> Eintr盲ge im Downloadfenster werden automatisch entfernt.</li><li> Neue Cookies werden nicht gespeichert, auf bestehende Cookies gibt es keinen Zugriff.</li><li> Seitensymbole und Sitzungen werden nicht gespeichert.</li><li> Suchen erscheinen nicht im Suchverlauf.</li></ul>Die Zur眉ck- und Vorw盲rtsbuttons funktionieren noch auf offenen Webseiten bis das Fenster geschlossen wird. - Find &Next N盲chstes &Ergebnis - + Find P&revious &Vorheriges Ergebnis - Prefe&rences &Einstellungen - + &Reload Page Seite &aktualisieren - + Make Text &Bigger Text ver&gr枚脽ern - + Make Text &Normal &Normale Textgr枚脽e - + Make Text &Smaller Text ver&kleinern - + Show Bookmarks Bar Lesezeichenleiste zeigen - + Hide Bookmarks Bar Lesezeichenleiste verbergen - + Find Nex&t &N盲chstes Ergebnis - + Prefere&nces... Einstellun&gen... - + Show Menu Bar Men眉leiste zeigen - + Switch application language Sprache 盲ndern @@ -720,7 +749,6 @@ Sollen alle Seiten neu geladen werden? &Cookies
- C&ache C&ache @@ -748,32 +776,31 @@ Sollen alle Seiten neu geladen werden? CookieExceptionsModel - + Website Website - Status Status - + Allow Erlauben - + Block Blocken - + Allow For Session F眉r diese Sitzung erlauben - + Rule Regel @@ -781,42 +808,42 @@ Sollen alle Seiten neu geladen werden? CookieModel - + Website Website - + Name Name - + Path Pfad - + Secure Sicher - + Expires L盲uft ab am - + Contents Inhalte - + true wahr - + false falsch @@ -824,17 +851,17 @@ Sollen alle Seiten neu geladen werden? CookiesDialog - + Cookies Cookies - + &Remove &Entfernen - + Remove &All Cookies &Alle Cookies entfernen @@ -842,47 +869,47 @@ Sollen alle Seiten neu geladen werden? CookiesExceptionsDialog - + Cookie Exceptions Cookie Ausnahmen - + New Exception Neue Ausnahme - + Domain: Domain: - + Block Blocken - + Allow For Session F眉r diese Sitzung erlauben - + Allow Erlauben - + Exceptions Ausnahmen - + &Remove &Entfernen - + Remove &All &Alle entfernen @@ -913,72 +940,69 @@ Sollen alle Seiten neu geladen werden? DownloadItem - + Save File Datei speichern - + Download canceled: %1 Download abgebrochen: %1 - Error opening save file: %1 Fehler beim 枚ffnen der gespeicherten Datei: %1 - + Error saving: %1 Fehler beim Speichern: %1 - + Network Error: %1 Netzwerk-Fehler: %1 - + seconds Sekunden - minutes Minuten - - %4 %5 remaining - noch %4 %5 - + %1 of %2 (%3/sec) %4 %1 von %2 (%3/Sek) %4 - + ? ? - + %1 of %2 - Stopped %1 von %2 - Angehalten - + bytes bytes - + kB kB - + MB MB @@ -1013,7 +1037,7 @@ Sollen alle Seiten neu geladen werden? 脰ffnen
- + - %n minutes remaining - noch %n Minute(n) @@ -1021,7 +1045,7 @@ Sollen alle Seiten neu geladen werden? - + - %n seconds remaining - noch %n Sekunden @@ -1029,7 +1053,7 @@ Sollen alle Seiten neu geladen werden? - + Error opening output file: %1 Fehler beim 脰ffnen der Ausgabedatei: %1 @@ -1037,17 +1061,15 @@ Sollen alle Seiten neu geladen werden? DownloadManager - 1 Download 1 Download - %1 Downloads %1 Downloads - + %n Download(s) %n Download(s) @@ -1058,17 +1080,17 @@ Sollen alle Seiten neu geladen werden? HistoryDialog - + Open 脰ffnen - + Copy Kopieren - + Delete L枚schen @@ -1091,22 +1113,22 @@ Sollen alle Seiten neu geladen werden? HistoryMenu - + Show All History Kompletten Verlauf zeigen - + Clear History Verlauf leeren - + Clear History... Verlauf leeren... - + Do you want to clear the history? Soll der Verlauf geleert werden? @@ -1114,12 +1136,12 @@ Sollen alle Seiten neu geladen werden? HistoryModel - + Title Titel - + Address Adresse @@ -1127,17 +1149,16 @@ Sollen alle Seiten neu geladen werden? HistoryTreeModel - + Earlier Today Heute - %1 items %1 Eintr盲ge - + %n item(s) %n Eintr盲ge @@ -1148,17 +1169,21 @@ Sollen alle Seiten neu geladen werden? LanguageManager - System locale (%1) %2 - System-Vorgabe (%1) %2 + System-Vorgabe (%1) %2 + Default + Standard + + + Choose language Sprache w盲hlen - + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Sie k枚nnen eine andere Sprache w盲hlen,<br>als im Betriebssystem voreingestellt.</p><p>Bitte w盲hlen Sie die Sprache,<br> die verwendet werden soll @@ -1176,7 +1201,7 @@ Sollen alle Seiten neu geladen werden? <qt>Mit Proxy "%1" verbinden mit:</qt> - + SSL Errors: %1 @@ -1198,6 +1223,54 @@ M枚chten Sie diese Fehler ignorieren? Alle Zertifikate akzeptieren? + + NetworkMonitor + + + + Name + Name + + + + + Value + Wert + + + + NetworkMonitorDialog + + + Network Monitor + Netzwerk Monitor + + + + Network Requests + Netzwerkanfragen + + + + Request Headers + Anfrage Header + + + + Response Headers + Antwort Header + + + + &Remove + &Entfernen + + + + Remove &All Requests + &Alle Entfernen + + PasswordDialog @@ -1275,6 +1348,44 @@ M枚chten Sie diese Fehler ignorieren? Unbekannter Titel + + RequestModel + + + Redirect: %1 + Umleitung: %1 + + + + Method + Methode + + + + Address + Adresse + + + + Response + Antwort + + + + Length + L盲nge + + + + Content Type + Format + + + + Info + Information + + SearchBanner @@ -1314,7 +1425,6 @@ M枚chten Sie diese Fehler ignorieren? Settings - Settings Einstellungen @@ -1324,7 +1434,6 @@ M枚chten Sie diese Fehler ignorieren? Allgemein - Home: Startseite: @@ -1448,7 +1557,6 @@ M枚chten Sie diese Fehler ignorieren? Ausnahmen... - Keep until: Speichern bis: @@ -1473,57 +1581,55 @@ M枚chten Sie diese Fehler ignorieren? Cookies...
- + Proxy Proxy - Enable proxy Proxy aktivieren - + Type: Typ: - + Socks5 Socks5 - + Http Http - Host: Host: - + Port: Port: - + User Name: Benutzername: - + Password: Passwort: - + Advanced Erweitert - + Style Sheet: Style Sheet: @@ -1569,6 +1675,7 @@ M枚chten Sie diese Fehler ignorieren? Times 16 + Select... Auswahl... @@ -1594,7 +1701,6 @@ M枚chten Sie diese Fehler ignorieren? Nachfragen, wenn mehrere Tabs geschlossen werden - Enable Images Bilder anzeigen @@ -1644,12 +1750,17 @@ M枚chten Sie diese Fehler ignorieren? Cookies speichern bis: - + + Show only one close button instead of one for each tab + Nur einen Schlie脽en Button anzeigen, statt einen f眉r jeden Tab + + + Use proxy server Proxyserver verwenden - + Host name: Hostname: @@ -1671,8 +1782,18 @@ M枚chten Sie diese Fehler ignorieren? &Find &Suchen + + + &View + &Ansicht + + &Wrap lines + Zeilen &Umbrechen + + + Source of Page Quelltext der Seite @@ -1710,7 +1831,6 @@ M枚chten Sie diese Fehler ignorieren? Alle Tabs neu laden - Shift+Ctrl+T Shift+Ctrl+T @@ -1738,32 +1858,31 @@ M枚chten Sie diese Fehler ignorieren? &Tab schlie脽en - + Show Next Tab N盲chster Tab - + Show Previous Tab Vorheriger Tab - + Recently Closed Tabs Zuletzt geschlossene Tabs - (Untitled) (Unbetitelt) - + Do you really want to close this page? Diese Seite wirklich schlie脽en? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1771,7 +1890,8 @@ Do you really want to close this page? Diese Seite wirklich schlie脽en? - + + Untitled Namenlos @@ -1779,7 +1899,6 @@ Diese Seite wirklich schlie脽en? ToolbarSearch - Google Google @@ -1802,65 +1921,86 @@ Diese Seite wirklich schlie脽en? WebPage - + Error loading page: %1 Fehler beim Laden von: %1 + + + When connecting to: %1. + Beim Verbinden zu: %1. + + + + Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org + 脺berpr眉fen Sie die Adresse auf Fehler wie <b>ww</b>.arora-browser.org statt <b>www</b>.arora-browser.org + + + + If the address is correct, try to check the network connection. + Falls die Adresse stimmt, versuchen Sie, die Netzwerkverbindung zu 眉berpr眉fen. + + + + If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. + Wenn Ihr Computer oder Ihr Netzwerk durch eine Firewall oder einen Proxy gesch眉tzt ist, stellen Sie sicher, dass der Browser auf das Netzwerk zugreifen darf. + WebView - + Open in New &Window In einem neuen &Fenster 枚ffnen - + Open in New &Tab In einem neuen &Tab 枚ffnen - + Save Lin&k Lin&k speichern - + &Bookmark This Link &Lesezeichen f眉r diesen Link setzen - + &Copy Link Location Linkadresse &kopieren - + Open Image in New &Window Bild in einem neuen &Fenster 枚ffnen - + Open Image in New &Tab Bild in einem neuen &Tab 枚ffnen - + &Save Image Bild &speichern - + &Copy Image Bild &kopieren - + C&opy Image Location Bildadresse &kopieren + Loading... Laden... From 703351c3e69722c4f59b624199c8c294cb32a247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Sat, 14 Feb 2009 12:10:48 +0100 Subject: [PATCH 0338/1254] Add missing include for windows symbols like DWORD et. al MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tor Arne Vestb酶 --- src/utils/singleapplication.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/utils/singleapplication.cpp b/src/utils/singleapplication.cpp index 088aae30..adf2b951 100644 --- a/src/utils/singleapplication.cpp +++ b/src/utils/singleapplication.cpp @@ -35,6 +35,8 @@ #ifndef Q_OS_WIN #include +#else +#include #endif SingleApplication::SingleApplication(int &argc, char **argv) From 4c10e8df8348422b8f317df57913b8dc729d422d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Sat, 14 Feb 2009 12:11:43 +0100 Subject: [PATCH 0339/1254] Use explicit fromAscii() just in case QT_NO_CAST_FROM_ASCII is defined MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tor Arne Vestb酶 --- src/utils/singleapplication.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/singleapplication.cpp b/src/utils/singleapplication.cpp index adf2b951..adadccc2 100644 --- a/src/utils/singleapplication.cpp +++ b/src/utils/singleapplication.cpp @@ -141,7 +141,7 @@ QString SingleApplication::serverName() const login = QString::fromLocal8Bit(buffer); }); } - serverName += QString("_%1").arg(login); + serverName += QString::fromAscii("_%1").arg(login); #endif return serverName; } From a6b1a84285477afbcaf420464ce31b73d1e071d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Sat, 14 Feb 2009 12:23:51 +0100 Subject: [PATCH 0340/1254] Cast away const when checking bounding rects for toolbars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After the foreach became const QToolBar *tb we need to cast away the const when dealing with QMainWindow::toolBarArea(). This should be safe, as all QMainWindow do is use the pointer to find the right toolbar. Signed-off-by: Tor Arne Vestb酶 --- src/explorerstyle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/explorerstyle.cpp b/src/explorerstyle.cpp index b31e011e..bba51d07 100644 --- a/src/explorerstyle.cpp +++ b/src/explorerstyle.cpp @@ -97,9 +97,9 @@ void ExplorerStyle::drawPrimitive(PrimitiveElement element, const QStyleOption * foreach(const QToolBar *tb, toolbars) { if (!tb->isFloating()) { QRect rect(tb->mapToParent(tb->rect().topLeft()), tb->rect().size()); - if (window->toolBarArea(tb) == Qt::TopToolBarArea) + if (window->toolBarArea(const_cast(tb)) == Qt::TopToolBarArea) topreg += rect; - else if (window->toolBarArea(tb) == Qt::BottomToolBarArea) + else if (window->toolBarArea(const_cast(tb)) == Qt::BottomToolBarArea) bottomreg += rect; } } From ec8bd771d2f8ce254e9c75dd9d09f9384b565c2a Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Sun, 15 Feb 2009 21:22:01 -0500 Subject: [PATCH 0341/1254] Updated Italian translation from Alessandro Briosi --- src/locale/it_IT.ts | 609 +++++++++++++++++++++++++++++--------------- 1 file changed, 403 insertions(+), 206 deletions(-) diff --git a/src/locale/it_IT.ts b/src/locale/it_IT.ts index fcc1c551..4769dfad 100644 --- a/src/locale/it_IT.ts +++ b/src/locale/it_IT.ts @@ -20,7 +20,7 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> @@ -42,6 +42,15 @@ p, li { white-space: pre-wrap; } Close Chiudi + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style="font-size:9pt;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> + AddBookmarkDialog @@ -59,17 +68,17 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open Apri - + Delete Elimina - + New Folder Nuova cartella @@ -89,10 +98,20 @@ p, li { white-space: pre-wrap; } Aggiungi cartella - + Open in New Tab Apri in una nuova scheda + + + Edit Name + Modifica Nome + + + + Edit Address + Modifica Indirizzo + BookmarksManager @@ -185,7 +204,7 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Segnalibro @@ -193,14 +212,14 @@ p, li { white-space: pre-wrap; } BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Ci sono %1 finestre e %2 schede aperte Sei sicuro di voler uscire? - + Restore failed Ripristino non riuscito @@ -210,12 +229,12 @@ Sei sicuro di voler uscire? La sessione salvata non sar脿 ripristinata perch茅 l'ultima volta che 猫 stata ripristinata Arora 猫 andato in crash. - + (Change: %1 %2) (Cambia: %1 %2) - + The saved session will not be restored because Arora crashed while trying to restore this session. La sessione salvata non sar脿 ripristinata perch猫 Arora 猫 andata in crash nel tentativo di ripristinarla. @@ -223,92 +242,92 @@ Sei sicuro di voler uscire? BrowserMainWindow - + &File &File - + &New Window &Nuova finestra - + &Open File... &Apri file... - + Open &Location... &Apri indirizzo... - + &Save As... &Salva come... - + &Import Bookmarks... &Importa i segnalibri... - + &Export Bookmarks... &Esporta i segnalibri... - + P&rint Preview... An&teprima di stampa... - + &Print... Stam&pa... - + Private &Browsing... &Navigazione anonima... - + &Quit &Esci - + &Edit &Modifica - + &Undo &Annulla - + &Redo &Ripeti - + Cu&t &Taglia - + &Copy &Copia - + &Paste &Incolla - + &Find Tro&va @@ -328,32 +347,32 @@ Sei sicuro di voler uscire? &Preferenze - + Ctrl+, Ctrl+, - + &View &Visualizza - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop &Ferma @@ -378,123 +397,123 @@ Sei sicuro di voler uscire? &Rimpicciolisci il testo - + Page S&ource &Sorgente della pagina - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Schermo intero - + Hi&story &Cronologia - + Back Indietro - + Forward Avanti - + Home Pagina iniziale - + Restore Last Session Ripristina la sessione precedente - + &Bookmarks &Segnalibri - + Manage Bookmarks... Gestione dei segnalibri... - + Add Bookmark... Aggiungi segnalibro... - + &Window &Finestra - + &Tools &Strumenti - + Web &Search &Ricerca nel web - + Ctrl+K Web Search Ctrl+K - + Enable Web &Inspector Abilita l'anal&izzatore web - + &Help &Aiuto - + About &Qt Informazioni su &Qt - + About &Arora Informazioni su &Arora - + Navigation Navigazione - + Show Status Bar Mostra la barra di stato - + Hide Status Bar Nascondi la barra di stato - + Show Toolbar Mostra la barra degli strumenti - + Hide Toolbar Nascondi la barra degli strumenti @@ -509,145 +528,155 @@ Sei sicuro di voler uscire? Nascondi la Barra Dei Segnalibri - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - + Open Web Resource Apri risorsa web - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Risorse web (*.html *.htm *.svg *.png *.gif *.svgz);;Tutti i file (*.*) - + Print Document Stampa documento - + Are you sure you want to turn on private browsing? Sei sicuro di voler passare alla navigazione anonima? - + Are you sure you want to close the window? There are %1 tabs open Sei sicuro di voler chiudere la finestra? Ci sono %1 schede aperte Page Source of %1 - Sorgente di %1 + Sorgente di %1 - + Web Inspector Analizzatore web - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? L'analizzatore web funziona correttamente solo con le pagine che sono caricate dopo averlo abilitato. Vuoi ricaricare tutte le pagine? - + Stop loading the current page Ferma il caricamento della pagina attuale - + Reload the current page Ricarica la pagina attuale - + Downloads Scaricamenti - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data &Cancella i dati privati - + Ctrl+Shift+Delete Clear Private Data Ctrl+Shift+Canc - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Quando la navigazione anonima 猫 attivata, alcune azioni sono disabilitate nel rispetto della tua privacy:<ul><li> Le pagine non sono aggiunte alla cronologia.</li><li> Gli elementi sono rimossi automaticamente dalla finestra degli scaricamenti.</li><li> Non vengono salvati i nuovi cookie e non 猫 possibile accedere a quelli attuali.</li><li> Le chiavi di ricerca non sono aggiunte al menu che appare sulla riquadro di ricerca.</li></ul>Fino a che la finestra 猫 aperta, puoi comunque usare i pulsanti Avanti e Indietro per tornare alle pagine che hai gi脿 visitato. - + Show Bookmarks Bar Mostra la barra dei segnalibri - + Hide Bookmarks Bar Nascondi la barra dei segnalibri - + Find Nex&t &Trova successivo - + Find P&revious Trova P&recedente - + Prefere&nces... Prefere&nze... - + Show Menu Bar Mostra barra del Men霉 - + &Reload Page &Ricarica Pagina - + Make Text &Bigger &Ingrandisci Testo - + Make Text &Normal Ripristi&na dimensione Testo - + Make Text &Smaller Riduci Te&sto + + + Show &Network Monitor + Mostra Mo&nitor di Rete + + + + Switch application language + Cambia lingua applicazione + ClearButton @@ -718,7 +747,7 @@ Vuoi ricaricare tutte le pagine? CookieExceptionsModel - + Website Sito web @@ -728,22 +757,22 @@ Vuoi ricaricare tutte le pagine? Stato - + Allow Consenti - + Block Rifiuta - + Allow For Session Consenti nella sessione - + Rule Regola @@ -751,42 +780,42 @@ Vuoi ricaricare tutte le pagine? CookieModel - + Website Sito web - + Name Nome - + Path Percorso - + Secure Sicuro - + Expires Scade - + Contents Contenuti - + true vero - + false falso @@ -794,17 +823,17 @@ Vuoi ricaricare tutte le pagine? CookiesDialog - + Cookies Cookie - + &Remove &Rimuovi - + Remove &All Cookies Rimuovi &tutti i cookie @@ -812,47 +841,47 @@ Vuoi ricaricare tutte le pagine? CookiesExceptionsDialog - + Cookie Exceptions Eccezioni - + New Exception Nuova eccezione - + Domain: Dominio: - + Block Rifiuta - + Allow For Session Consenti nella sessione - + Allow Consenti - + Exceptions Eccezioni - + &Remove &Rimuovi - + Remove &All Rimuovi &tutti @@ -883,12 +912,12 @@ Vuoi ricaricare tutte le pagine? DownloadItem - + Save File Salva il file - + Download canceled: %1 Scaricamento annullato: %1 @@ -898,17 +927,17 @@ Vuoi ricaricare tutte le pagine? Errore durante l'apertura del file: %1 - + Error saving: %1 Errore durante il salvataggio: %1 - + Network Error: %1 Errore di rete: %1 - + seconds secondi @@ -923,32 +952,32 @@ Vuoi ricaricare tutte le pagine? - %4 %5 rimanenti - + %1 of %2 (%3/sec) %4 %1 di %2 (%3/sec) %4 - + ? ? - + %1 of %2 - Stopped %1 di %2 - Fermato - + bytes byte - + kB kB - + MB MB @@ -983,7 +1012,7 @@ Vuoi ricaricare tutte le pagine? Apri - + - %n minutes remaining - %n minuto rimanente @@ -991,7 +1020,7 @@ Vuoi ricaricare tutte le pagine? - + - %n seconds remaining - %n secondo rimanente @@ -999,7 +1028,7 @@ Vuoi ricaricare tutte le pagine? - + Error opening output file: %1 Errore nel file di output: %1 @@ -1017,7 +1046,7 @@ Vuoi ricaricare tutte le pagine? %2 Scaricamenti - + %n Download(s) %n scaricamento @@ -1028,17 +1057,17 @@ Vuoi ricaricare tutte le pagine? HistoryDialog - + Open Apri - + Copy Copia - + Delete Elimina @@ -1061,22 +1090,22 @@ Vuoi ricaricare tutte le pagine? HistoryMenu - + Show All History Mostra tutta la cronologia - + Clear History Cancella la cronologia - + Clear History... Cancella Cronologia... - + Do you want to clear the history? Sei sicuro di voler cancellare la cronologia? @@ -1084,12 +1113,12 @@ Vuoi ricaricare tutte le pagine? HistoryModel - + Title Titolo - + Address Indirizzo @@ -1097,7 +1126,7 @@ Vuoi ricaricare tutte le pagine? HistoryTreeModel - + Earlier Today Prima di oggi @@ -1107,7 +1136,7 @@ Vuoi ricaricare tutte le pagine? %1 elementi - + %n item(s) %n elemento @@ -1115,6 +1144,24 @@ Vuoi ricaricare tutte le pagine? + + LanguageManager + + + Default + Default + + + + Choose language + Seleziona lingua + + + + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> + <p>Puoi utilizzare una lingua differente da<br>quella di default del sistema operativo.</p><p>Seleziona la lingua da utilizzare</p> + + NetworkAccessManager @@ -1150,6 +1197,52 @@ Vuoi ignorare questi errori? Vuoi accettare tutti questi certificati? + + NetworkMonitor + + + Name + Nome + + + + Value + Valore + + + + NetworkMonitorDialog + + + Network Monitor + Monitor di Rete + + + + Network Requests + Richieste di rete + + + + Request Headers + Testate Richieste + + + + Response Headers + Testate Risposte + + + + &Remove + &Rimuovi + + + + Remove &All Requests + Rimuovi &Tutte le Richieste + + PasswordDialog @@ -1178,6 +1271,14 @@ Vuoi ignorare questi errori? Password: + + PlainTextEditSearch + + + Not Found + Non trovato + + ProxyDialog @@ -1219,6 +1320,44 @@ Vuoi ignorare questi errori? Titolo sconosciuto + + RequestModel + + + Redirect: %1 + Redirezione: %1 + + + + Method + Metodo + + + + Address + Indirizzo + + + + Response + Risposta + + + + Length + Lunghezza + + + + Content Type + Tipo Contenuto + + + + Info + Info + + SearchBanner @@ -1273,117 +1412,117 @@ Vuoi ignorare questi errori? Pagina iniziale: - + Set to current page Usa la pagina corrente - + Remove history items: Rimuovi gli elementi dalla cronologia: - + After one day Dopo un giorno - + After one week Dopo una settimana - + After two weeks Dopo due settimane - + After one month Dopo un mese - + After one year Dopo un anno - + Manually Manualmente - + Open links from applications: Apri i collegamenti dalle applicazioni: - + In a tab in the current window In una scheda nella finestra corrente - + In a new window In una nuova finestra - + Appearance Aspetto - + Fixed-width font: Carattere a larghezza fissa: - + Privacy Riservatezza - + Web Content Contenuto web - + Enable Plugins Abilita i plugin - + Enable Javascript Abilita Javascript - + Cookies Cookie - + Accept Cookies: Accetta cookie: - + Always Sempre - + Never Mai - + Only from sites you navigate to Solo dai siti che stai navigando - + Exceptions... Eccezioni... @@ -1393,27 +1532,27 @@ Vuoi ignorare questi errori? Mantienili fino a che: - + They expire Scadono - + I exit the application Esci dall'applicazione - + At most 90 days Al massimo 90 giorni - + Cookies... Cookie... - + Proxy Proxy @@ -1423,17 +1562,17 @@ Vuoi ignorare questi errori? Abilita il proxy - + Type: Tipo: - + Socks5 Socks5 - + Http Http @@ -1443,62 +1582,62 @@ Vuoi ignorare questi errori? Host: - + Port: Porta: - + User Name: Nome utente: - + Password: Password: - + Advanced Avanzate - + Style Sheet: Foglio di stile: - + Downloads Scaricamenti - + Ask for a destination each time Chiedi la cartella di destinazione ogni volta - + Use this destination: Usa questa cartella di destinazione: - + Standard font: Carattere standard: - + Times 16 Times 16 - + Select... Scegli... - + Courier 13 Courier 13 @@ -1523,7 +1662,7 @@ Vuoi ignorare questi errori? Ripristina le finestre ed le schede dell'ultima sessione - + On application exit All'uscita @@ -1533,17 +1672,17 @@ Vuoi ignorare questi errori? Abilita immagini - + Tabs Schede - + Select tabs and windows as they are created Seleziona schede e finestre a seconda di come sono state create - + Confirm when closing multiple tabs Chiedi conferma durante la chiusura di schede multiple @@ -1558,25 +1697,63 @@ Vuoi ignorare questi errori? Pagina iniziale: - + View Images Visualizza Immagini - + Keep Cookies Until: Mantieni i Cookie Fino a che: - + Use proxy server Utilizza server proxy - + Host name: Nome server: + + + Show only one close button instead of one for each tab + Mostra solo un pulsante di chiusura al posto di uno per ogni tab + + + + SourceViewer + + + Loading... + Caricamento in corso ... + + + + &Edit + &Modifica + + + + &Find + Tro&va + + + + &View + &Visualizza + + + + &Wrap lines + Test&o a capo + + + + Source of Page + Sorgente della Pagina + TabBar @@ -1634,17 +1811,17 @@ Vuoi ignorare questi errori? &Chiudi la scheda - + Show Next Tab Mostra la scheda successiva - + Show Previous Tab Mostra la scheda precedente - + Recently Closed Tabs Schede chiuse di recente @@ -1654,12 +1831,12 @@ Vuoi ignorare questi errori? (Senza titolo) - + Do you really want to close this page? Sei sicuro di voler chiudere questa pagina? - + You have modified this page and when closing it you would lose the modification. Do you really want to close this page? @@ -1668,7 +1845,7 @@ Sei sicuro di volerlo fare? - + Untitled Senza titolo @@ -1699,65 +1876,85 @@ Sei sicuro di volerlo fare? WebPage - + Error loading page: %1 Errore durante l'apertura della pagina: %1 + + + When connecting to: %1. + Durante la connessione a: %1. + + + + Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. + Controlla che l'indirizzo non contenga errori tipo <b>ww</b>.trolltech.com al posto di <b>www</b>.trolltech.com. + + + + If the address is correct, try to check the network connection. + Se l'indirizzo 猫 corretto, controlla il corretto funzionamento della connessione di rete. + + + + If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. + Se il computer o la rete sono protette da un firewall o da un proxy, controlla che il browser abbia i permessi per accedere alla rete. + WebView - + Open in New &Window Apri in una nuova &finestra - + Open in New &Tab Apri in una nuova &scheda - + Save Lin&k Salva il colle&gamento - + &Bookmark This Link Salva il collegamento nei Segnali&bri - + &Copy Link Location &Copia l'indirizzo del collegamento - + Open Image in New &Window Apri l'immagine un una nuova &finestra - + Open Image in New &Tab Apri l'immagine in una nuova &scheda - + &Save Image &Salva l'immagine - + &Copy Image &Copia l'immagine - + C&opy Image Location C&opia l'indirizzo dell'immagine - + Loading... Caricamento in corso ... @@ -1765,7 +1962,7 @@ Sei sicuro di volerlo fare? WebViewSearch - + Not Found Non trovato From d6f17e1eddfb9f9663bd4e965ca16621abc4a60c Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 16 Feb 2009 22:49:30 -0500 Subject: [PATCH 0342/1254] =?UTF-8?q?Update=20Polish=20translation=20from?= =?UTF-8?q?=20Pawe=C5=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/pl_PL.ts | 104 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 91 insertions(+), 13 deletions(-) diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index b32898ed..f22c7502 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -18,7 +18,7 @@ Lightweight WebKit-based web browser - Lekka bazuj膮ca na silniku WebKit przegl膮darka + Lekka przegl膮darka internetowa bazuj膮ca na silniku WebKit <a href="http://arora-browser.org">http://arora-browser.org</a> @@ -458,7 +458,7 @@ Czy mimo to chcesz zako艅czy膰? Open Web Resource - Otw贸rz plik internetowy + Otw贸rz zas贸b internetowy Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) @@ -567,6 +567,10 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Switch application language Zmie艅 j臋zyk aplikacji + + Show &Network Monitor + Poka偶 Monitor &Sieci + ClearButton @@ -1001,6 +1005,44 @@ Czy chcesz zignorowa膰 te b艂臋dy? Czy chcesz zaakceptowa膰 te certyfikaty? + + NetworkMonitor + + Name + Nazwa + + + Value + Warto艣膰 + + + + NetworkMonitorDialog + + Network Monitor + Monitor Sieci + + + Network Requests + Rz膮dania sieciowe + + + Request Headers + Nag艂贸wki rz膮da艅 + + + Response Headers + Nag艂贸wki odpowiedzi + + + &Remove + &Usu艅 + + + Remove &All Requests + Usu艅 &Wszystkie Rz膮dania + + PasswordDialog @@ -1009,11 +1051,11 @@ Czy chcesz zignorowa膰 te b艂臋dy? DUMMY ICON - ATRAPA IKONY + ATRAPA IKONY INTRO TEXT DUMMY - ATRAPA TEKSTU WST臉PNEGO + ATRAPA TEKSTU WST臉PNEGO Username: @@ -1039,7 +1081,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? ICON - IKONA + IKONA Connect to proxy @@ -1065,6 +1107,37 @@ Czy chcesz zignorowa膰 te b艂臋dy? Nieznany tytu艂 + + RequestModel + + Redirect: %1 + Przekierowanie: %1 + + + Method + Metoda + + + Address + Adres + + + Response + Odpowied藕 + + + Length + D艂ugo艣膰 + + + Content Type + Typ zawarto艣ci + + + Info + Informacje + + SearchBanner @@ -1203,7 +1276,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Enable Javascript - W艂膮cz obs艂ug臋 j臋zyka Javascript + W艂膮cz obs艂ug臋 Javascript Cookies @@ -1295,7 +1368,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? On startup: - Po uruchomieniu: + Podczas uruchamiania: Show my home page @@ -1331,7 +1404,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Preferences - Preferencje + Ustawienia Home Page: @@ -1455,11 +1528,12 @@ Czy chcesz zignorowa膰 te b艂臋dy? Do you really want to close this page? Wprowadzi艂e艣 modyfikacje na tej strone i kiedy j膮 zamkniesz to utracisz wszystkie zmiany. -Czy na pewno chcesz zamkn膮膰 t臋 stron臋? +Czy na pewno chcesz zamkn膮膰 t臋 stron臋? + Untitled - Nowy + Bez tytu艂u @@ -1493,20 +1567,24 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. - Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. + Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. - Je艣li adres jest prawid艂owy, sprawd藕 dzia艂anie swojego po艂膮czenia internetowego. + Je艣li adres jest prawid艂owy, spr贸buj sprawd藕 czy Twoje po艂膮czenia internetowe dzia艂a poprawnie. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. - Je艣li tw贸j komputer lub sie膰 jest chroniona zapor膮 sieciow膮 lub proxy, upewnij si臋, 偶e przegl膮darka ma dost臋p do sieci. + Je艣li tw贸j komputer lub sie膰 jest chroniona zapor膮 sieciow膮 lub proxy, upewnij si臋, 偶e przegl膮darka ma uprawnienia dost臋pu do sieci. When connecting to: %1. Podczas 艂膮czenia z: %1. + + Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org + Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.arora-browser.org zamiast <b>www</b>.arora-browser.org + WebView From ea8068ba1bbfa17318013df17d368a780d12f429 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 16 Feb 2009 22:51:16 -0500 Subject: [PATCH 0343/1254] =?UTF-8?q?Update=20Polish=20translation=20from?= =?UTF-8?q?=20Pawe=C5=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/pl_PL.ts | 84 ++------------------------------------------- 1 file changed, 3 insertions(+), 81 deletions(-) diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index f22c7502..b81ed7d9 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -1,6 +1,5 @@ - - + AboutDialog @@ -33,7 +32,7 @@ <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> @@ -567,10 +566,6 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Switch application language Zmie艅 j臋zyk aplikacji - - Show &Network Monitor - Poka偶 Monitor &Sieci - ClearButton @@ -1005,44 +1000,6 @@ Czy chcesz zignorowa膰 te b艂臋dy? Czy chcesz zaakceptowa膰 te certyfikaty? - - NetworkMonitor - - Name - Nazwa - - - Value - Warto艣膰 - - - - NetworkMonitorDialog - - Network Monitor - Monitor Sieci - - - Network Requests - Rz膮dania sieciowe - - - Request Headers - Nag艂贸wki rz膮da艅 - - - Response Headers - Nag艂贸wki odpowiedzi - - - &Remove - &Usu艅 - - - Remove &All Requests - Usu艅 &Wszystkie Rz膮dania - - PasswordDialog @@ -1107,37 +1064,6 @@ Czy chcesz zignorowa膰 te b艂臋dy? Nieznany tytu艂 - - RequestModel - - Redirect: %1 - Przekierowanie: %1 - - - Method - Metoda - - - Address - Adres - - - Response - Odpowied藕 - - - Length - D艂ugo艣膰 - - - Content Type - Typ zawarto艣ci - - - Info - Informacje - - SearchBanner @@ -1567,7 +1493,7 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. - Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. + Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. @@ -1581,10 +1507,6 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? When connecting to: %1. Podczas 艂膮czenia z: %1. - - Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org - Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.arora-browser.org zamiast <b>www</b>.arora-browser.org - WebView From 37ed9cf0059e791b305d1192badc9bbcad7843f6 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 16 Feb 2009 22:55:07 -0500 Subject: [PATCH 0344/1254] Update Malay translation from Hafidz Nasruddin hafidz@gmail.com --- src/locale/ms.ts | 3005 ++++++++++++++++++++++------------------------ 1 file changed, 1414 insertions(+), 1591 deletions(-) diff --git a/src/locale/ms.ts b/src/locale/ms.ts index 51ef935e..ca641f06 100644 --- a/src/locale/ms.ts +++ b/src/locale/ms.ts @@ -1,1692 +1,1515 @@ - + + - - AboutDialog - - - About - Perihal - - - - Authors - Penulis - - - - License - Lesen - - - - Lightweight WebKit-based web browser - Pelayan web ringan berasaskan WebKit - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + +聽聽聽AboutDialog +聽聽聽 +聽聽聽聽聽聽聽About +聽聽聽聽聽聽聽Perihal +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Authors +聽聽聽聽聽聽聽Penulis +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽License +聽聽聽聽聽聽聽Lesen +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Lightweight WebKit-based web browser +聽聽聽聽聽聽聽Pelayan web ringan berasaskan WebKit +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> - - - - <a href="http://arora-browser.org">http://arora-browser.org</a> - <a href="http://arora-browser.org">http://arora-browser.org</a> - - - - Close - Tutup - +聽聽聽聽聽聽聽<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style="font-size:9pt;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽<a href="http://arora-browser.org">http://arora-browser.org</a> +聽聽聽聽聽聽聽<a href="http://arora-browser.org">http://arora-browser.org</a> +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Close +聽聽聽聽聽聽聽Tutup +聽聽聽 - AddBookmarkDialog - - - Add Bookmark - Tambah Tandabuku - - - - Type a name for the bookmark, and choose where to keep it. - Taipkan nama tandabuku dan pilih di mana harus disimpan. - +聽聽聽AddBookmarkDialog +聽聽聽 +聽聽聽聽聽聽聽Add Bookmark +聽聽聽聽聽聽聽Tambah Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Type a name for the bookmark, and choose where to keep it. +聽聽聽聽聽聽聽Taipkan nama tandabuku dan pilih di mana harus disimpan. +聽聽聽 - BookmarksDialog - - - Open - Buka - - - - Open in New Tab - Buka di Tab Baru - - - - Delete - Padam - - - - New Folder - Folder Baru - - - - Bookmarks - Tandabuku - - - - &Remove - &Buang - - - - Add Folder - Tambah Folder - +聽聽聽BookmarksDialog +聽聽聽 +聽聽聽聽聽聽聽Open +聽聽聽聽聽聽聽Buka +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open in New Tab +聽聽聽聽聽聽聽Buka di Tab Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Delete +聽聽聽聽聽聽聽Padam +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽New Folder +聽聽聽聽聽聽聽Folder Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Bookmarks +聽聽聽聽聽聽聽Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Remove +聽聽聽聽聽聽聽&Buang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Add Folder +聽聽聽聽聽聽聽Tambah Folder +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Edit Name +聽聽聽聽聽聽聽Sunting Nama +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Edit Address +聽聽聽聽聽聽聽Sunting Alamat +聽聽聽 - BookmarksManager - - - Error when loading bookmarks on line %1, column %2: +聽聽聽BookmarksManager +聽聽聽 +聽聽聽聽聽聽聽Error when loading bookmarks on line %1, column %2: %3 - Ralat semasa menyimpan tanda buku pada baris %1, lajur %2: +聽聽聽聽聽聽聽Ralat semasa menyimpan tanda buku pada baris %1, lajur %2: %3 - - - - Toolbar Bookmarks - Bar Alat Tandabuku - - - - Menu - Menu - - - - Open File - Buka Fail - - - - XBEL (*.xbel *.xml) - XBEL (*.xbel *.xml) - - - - Imported %1 - %1 diimport - - - - Save File - Simpan Fail - - - - %1 Bookmarks.xbel - %1 Bookmarks.xbel - - - - Export error - Ralat eksport - - - - error saving bookmarks - ralat menyimpan tandabuku - - - - Remove Bookmark - Buang Tandabuku - - - - Insert Bookmark - Masukkan tandabuku - - - - Name Change - Perubahan Nama - - - - Address Change - Alamat Berubah - +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Toolbar Bookmarks +聽聽聽聽聽聽聽Bar Alat Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Menu +聽聽聽聽聽聽聽Menu +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open File +聽聽聽聽聽聽聽Buka Fail +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽XBEL (*.xbel *.xml) +聽聽聽聽聽聽聽XBEL (*.xbel *.xml) +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Imported %1 +聽聽聽聽聽聽聽%1 diimport +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Save File +聽聽聽聽聽聽聽Simpan Fail +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽%1 Bookmarks.xbel +聽聽聽聽聽聽聽%1 Bookmarks.xbel +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Export error +聽聽聽聽聽聽聽Ralat eksport +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽error saving bookmarks +聽聽聽聽聽聽聽ralat menyimpan tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove Bookmark +聽聽聽聽聽聽聽Buang Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Insert Bookmark +聽聽聽聽聽聽聽Masukkan tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Name Change +聽聽聽聽聽聽聽Perubahan Nama +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Address Change +聽聽聽聽聽聽聽Alamat Berubah +聽聽聽 - BookmarksModel - - - Title - Tajuk - - - - Address - Alamat - +聽聽聽BookmarksModel +聽聽聽 +聽聽聽聽聽聽聽Title +聽聽聽聽聽聽聽Tajuk +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Address +聽聽聽聽聽聽聽Alamat +聽聽聽 - BookmarksToolBar - - - Bookmark - Tandabuku - +聽聽聽BookmarksToolBar +聽聽聽 +聽聽聽聽聽聽聽Bookmark +聽聽聽聽聽聽聽Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open +聽聽聽聽聽聽聽Buka +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open in New &Tab +聽聽聽聽聽聽聽Buka di &Tab Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove +聽聽聽聽聽聽聽Buang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Add Bookmark... +聽聽聽聽聽聽聽Tambah Tandabuku... +聽聽聽 - BrowserApplication - - - (Change: %1 %2) - (Ubah: %1 %2) - - - - There are %1 windows and %2 tabs open +聽聽聽BrowserApplication +聽聽聽 +聽聽聽聽聽聽聽 (Change: %1 %2) +聽聽聽聽聽聽聽 (Ubah: %1 %2) +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽There are %1 windows and %2 tabs open Do you want to quit anyway? - Terdapat %1 tetingkap dan %2 tab masih terbuka +聽聽聽聽聽聽聽Terdapat %1 tetingkap dan %2 tab masih terbuka Teruskan untuk keluar? - - - - Restore failed - Gagal mengembalikan - - - - The saved session will not be restored because Arora crashed while trying to restore this session. - Arora gagal berfungsi semasa cuba mengembalikan sessi yang disimpan. Sessi berkenaan tidak akan dikembalikan. - +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Restore failed +聽聽聽聽聽聽聽Gagal mengembalikan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽The saved session will not be restored because Arora crashed while trying to restore this session. +聽聽聽聽聽聽聽Arora gagal berfungsi semasa cuba mengembalikan sessi yang disimpan. Sessi berkenaan tidak akan dikembalikan. +聽聽聽 - BrowserMainWindow - - - &File - &Fail - - - - &New Window - Tetin&gkap Baru - - - - &Open File... - Buka &Fail... - - - - Open &Location... - Buka &Lokasi... - - - - &Save As... - &Simpan Sebagai... - - - - &Import Bookmarks... - &Import Tandabuku... - - - - &Export Bookmarks... - &Eksport Tandabuku... - - - - P&rint Preview... - P&rapapar Pencetak... - - - - &Print... - &Pencetak... - - - - Private &Browsing... - Melungsur secara pri&vasi... - - - - &Quit - &Keluar - - - - &Edit - &Edit - - - - &Undo - &Batal - - - - &Redo - &Semula - - - - Cu&t - P&otong - - - - &Copy - Sa&lin - - - - &Paste - Tam&pal - - - - &Find - &Cari - - - - Find Nex&t - Ca&ri Seterusnya - - - - Find P&revious - C&ari Sebelumnya - - - - Prefere&nces... - Opsye&n... - - - - Ctrl+, - Ctrl+, - - - - &View - &Lihat - - - - Show Menu Bar - Papar Bar Menu - - - - Ctrl+| - Ctrl+| - - - - Shift+Ctrl+B - Shift+Ctrl+B - - - - Ctrl+/ - Ctrl+/ - - - - &Stop - &Henti - - - - &Reload Page - &Muatsemula Laman - - - - Make Text &Bigger - &Besarkan Text - - - - Make Text &Normal - &Normalkan Text - - - - Make Text &Smaller - &Kecilkan Text - - - - Page S&ource - S&umber Laman - - - - Ctrl+Alt+U - Ctrl+Alt+U - - - - &Full Screen - S&krin Penuh - - - - Hi&story - &Sejarah - - - - Back - Undur - - - - Forward - Maju - - - - Home - Laman Utama - - - - Restore Last Session - Kembalikan Sessi Akhir - - - - &Bookmarks - Tanda&buku - - - - Manage Bookmarks... - Urus Tandabuku... - - - - Add Bookmark... - Tambah Tandabuku... - - - - &Window - Tetin&gkap - - - - &Tools - &Alatan - - - - Web &Search - &Carian Web - - - - Ctrl+K - Web Search - Ctrl+K - - - - &Clear Private Data - &Hapus Data Peribadi - - - - Ctrl+Shift+Delete - Clear Private Data - Ctrl+Shift+Delete - - - - Enable Web &Inspector - Benarkan Peny&iasat Web - - - - &Help - Bant&uan - - - - Switch application language - Tukar bahasa aplikasi - - - - About &Qt - Perihal &Qt - - - - About &Arora - Perihal &Arora - - - - Navigation - Navigasi - - - - Show Status Bar - Papar Bar Status - - - - Hide Status Bar - Sembunyi Bar Status - - - - Show Toolbar - Papar Bar Alat - - - - Hide Toolbar - Sembunyi Bar Alat - - - - Show Bookmarks Bar - Papar Bar Tandabuku - - - - Hide Bookmarks Bar - Sembunyi Bar Tandabuku - - - - Arora - Arora - - - - %1 - Arora - Page title and Browser name - %1 - Arora - - - - Open Web Resource - Buka Sumber Web - - - - Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) - Sumber Web (*.html *.htm *.svg *.png *.gif *.svgz);;Semua fail (*.*) - - - - Print Document - Cetak Dokumen - - - - Are you sure you want to turn on private browsing? - Anda pasti ingin membuka lungsuran secara privasi? - - - - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. - <b>%1</b><br><br>Apabila lungsuran secara privasi sedang dibuka, Aksi yang melibatkan privasi anda dilumpuhkan:<ul><li> Laman yang dilawati tidak ditambah ke sejarah.</li><li> Senarai muaturun dibersihkan.</li><li> Cookies baru tidak disimpan, cookies semasa tidak boleh dicapai.</li><li> Ikon laman web dan sessi tidak disimpan.</li><li> Carian tidak disimpan di menu popup kotak carian.</li></ul>Selagi tetingkap tidak ditutup, anda masih boleh klik pada butang Undur dan Maju untuk kembalik ke laman yang pernah dibuka. - - - - Are you sure you want to close the window? There are %1 tabs open - Anda pasti ingin menutup tetingkap ini? Masih ada %1 tab terbuka - - - - Web Inspector - Penyiasat Web - - - - The web inspector will only work correctly for pages that were loaded after enabling. +聽聽聽BrowserMainWindow +聽聽聽 +聽聽聽聽聽聽聽&File +聽聽聽聽聽聽聽&Fail +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&New Window +聽聽聽聽聽聽聽Tetin&gkap Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Open File... +聽聽聽聽聽聽聽Buka &Fail... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open &Location... +聽聽聽聽聽聽聽Buka &Lokasi... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Save As... +聽聽聽聽聽聽聽&Simpan Sebagai... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Import Bookmarks... +聽聽聽聽聽聽聽&Import Tandabuku... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Export Bookmarks... +聽聽聽聽聽聽聽&Eksport Tandabuku... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽P&rint Preview... +聽聽聽聽聽聽聽P&rapapar Pencetak... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Print... +聽聽聽聽聽聽聽&Pencetak... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Private &Browsing... +聽聽聽聽聽聽聽Melungsur secara pri&vasi... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Quit +聽聽聽聽聽聽聽&Keluar +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Edit +聽聽聽聽聽聽聽&Edit +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Undo +聽聽聽聽聽聽聽&Batal +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Redo +聽聽聽聽聽聽聽&Semula +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Cu&t +聽聽聽聽聽聽聽P&otong +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Copy +聽聽聽聽聽聽聽Sa&lin +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Paste +聽聽聽聽聽聽聽Tam&pal +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Find +聽聽聽聽聽聽聽&Cari +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Find Nex&t +聽聽聽聽聽聽聽Ca&ri Seterusnya +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Find P&revious +聽聽聽聽聽聽聽C&ari Sebelumnya +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Prefere&nces... +聽聽聽聽聽聽聽Opsye&n... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ctrl+, +聽聽聽聽聽聽聽Ctrl+, +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&View +聽聽聽聽聽聽聽&Lihat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show Menu Bar +聽聽聽聽聽聽聽Papar Bar Menu +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ctrl+| +聽聽聽聽聽聽聽Ctrl+| +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Shift+Ctrl+B +聽聽聽聽聽聽聽Shift+Ctrl+B +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ctrl+/ +聽聽聽聽聽聽聽Ctrl+/ +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Stop +聽聽聽聽聽聽聽&Henti +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Reload Page +聽聽聽聽聽聽聽&Muatsemula Laman +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Make Text &Bigger +聽聽聽聽聽聽聽&Besarkan Text +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Make Text &Normal +聽聽聽聽聽聽聽&Normalkan Text +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Make Text &Smaller +聽聽聽聽聽聽聽&Kecilkan Text +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Page S&ource +聽聽聽聽聽聽聽S&umber Laman +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ctrl+Alt+U +聽聽聽聽聽聽聽Ctrl+Alt+U +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Full Screen +聽聽聽聽聽聽聽S&krin Penuh +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Hi&story +聽聽聽聽聽聽聽&Sejarah +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Back +聽聽聽聽聽聽聽Undur +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Forward +聽聽聽聽聽聽聽Maju +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Home +聽聽聽聽聽聽聽Laman Utama +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Restore Last Session +聽聽聽聽聽聽聽Kembalikan Sessi Akhir +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Bookmarks +聽聽聽聽聽聽聽Tanda&buku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Manage Bookmarks... +聽聽聽聽聽聽聽Urus Tandabuku... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Add Bookmark... +聽聽聽聽聽聽聽Tambah Tandabuku... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Window +聽聽聽聽聽聽聽Tetin&gkap +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Tools +聽聽聽聽聽聽聽&Alatan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Web &Search +聽聽聽聽聽聽聽&Carian Web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ctrl+K +聽聽聽聽聽聽聽Web Search +聽聽聽聽聽聽聽Ctrl+K +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Clear Private Data +聽聽聽聽聽聽聽&Hapus Data Peribadi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ctrl+Shift+Delete +聽聽聽聽聽聽聽Clear Private Data +聽聽聽聽聽聽聽Ctrl+Shift+Delete +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Enable Web &Inspector +聽聽聽聽聽聽聽Benarkan Peny&iasat Web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Help +聽聽聽聽聽聽聽Bant&uan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Switch application language +聽聽聽聽聽聽聽Tukar bahasa aplikasi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽About &Qt +聽聽聽聽聽聽聽Perihal &Qt +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽About &Arora +聽聽聽聽聽聽聽Perihal &Arora +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Navigation +聽聽聽聽聽聽聽Navigasi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show Status Bar +聽聽聽聽聽聽聽Papar Bar Status +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Hide Status Bar +聽聽聽聽聽聽聽Sembunyi Bar Status +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show Toolbar +聽聽聽聽聽聽聽Papar Bar Alat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Hide Toolbar +聽聽聽聽聽聽聽Sembunyi Bar Alat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show Bookmarks Bar +聽聽聽聽聽聽聽Papar Bar Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Hide Bookmarks Bar +聽聽聽聽聽聽聽Sembunyi Bar Tandabuku +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Arora +聽聽聽聽聽聽聽Arora +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽%1 - Arora +聽聽聽聽聽聽聽Page title and Browser name +聽聽聽聽聽聽聽%1 - Arora +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open Web Resource +聽聽聽聽聽聽聽Buka Sumber Web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) +聽聽聽聽聽聽聽Sumber Web (*.html *.htm *.svg *.png *.gif *.svgz);;Semua fail (*.*) +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Print Document +聽聽聽聽聽聽聽Cetak Dokumen +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Are you sure you want to turn on private browsing? +聽聽聽聽聽聽聽Anda pasti ingin membuka lungsuran secara privasi? +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽<b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. +聽聽聽聽聽聽聽<b>%1</b><br><br>Apabila lungsuran secara privasi sedang dibuka, Aksi yang melibatkan privasi anda dilumpuhkan:<ul><li> Laman yang dilawati tidak ditambah ke sejarah.</li><li> Senarai muaturun dibersihkan.</li><li> Cookies baru tidak disimpan, cookies semasa tidak boleh dicapai.</li><li> Ikon laman web dan sessi tidak disimpan.</li><li> Carian tidak disimpan di menu popup kotak carian.</li></ul>Selagi tetingkap tidak ditutup, anda masih boleh klik pada butang Undur dan Maju untuk kembalik ke laman yang pernah dibuka. +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Are you sure you want to close the window? 聽There are %1 tabs open +聽聽聽聽聽聽聽Anda pasti ingin menutup tetingkap ini? Masih ada %1 tab terbuka +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Web Inspector +聽聽聽聽聽聽聽Penyiasat Web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? - Penyiasat Web cuma akan berfungsi dengan baik di laman yang dibuka selepas ia dibenarkan berfungsi. +聽聽聽聽聽聽聽Penyiasat Web cuma akan berfungsi dengan baik di laman yang dibuka selepas ia dibenarkan berfungsi. Anda mahu memuatsemula kesemua laman? - - - - Stop loading the current page - Henti memuat laman semasa - - - - Reload the current page - Muatsemula laman semasa - - - - Downloads - Muaturun - - - - Alt+Ctrl+L - Download Manager - Alt+Ctrl+L - +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Stop loading the current page +聽聽聽聽聽聽聽Henti memuat laman semasa +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Reload the current page +聽聽聽聽聽聽聽Muatsemula laman semasa +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Downloads +聽聽聽聽聽聽聽Muaturun +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Alt+Ctrl+L +聽聽聽聽聽聽聽Download Manager +聽聽聽聽聽聽聽Alt+Ctrl+L +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show &Network Monitor +聽聽聽聽聽聽聽Papar Penyelia Rangkaia&n +聽聽聽 - ClearButton - - - Clear - Hapus - +聽聽聽ClearButton +聽聽聽 +聽聽聽聽聽聽聽Clear +聽聽聽聽聽聽聽Hapus +聽聽聽 - ClearPrivateData - - - Clear Private Data - Hapus Data Peribadi - - - - Clear the following items: - Hapuskan perkara berikut: - - - - &Browsing History - Sejarah &Lungsuran - - - - &Download History - Sejarah &Muaturun - - - - &Search History - Sejarah &Carian - - - - &Cookies - Coo&kie - - - - C&ached Web Pages - C&ache Laman Web - - - - Website &Icons - &Ikon Laman web - - - - Clear &Private Data - &Hapus Data Peribadi - - - - &Cancel - &Batal - +聽聽聽ClearPrivateData +聽聽聽 +聽聽聽聽聽聽聽Clear Private Data +聽聽聽聽聽聽聽Hapus Data Peribadi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Clear the following items: +聽聽聽聽聽聽聽Hapuskan perkara berikut: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Browsing History +聽聽聽聽聽聽聽Sejarah &Lungsuran +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Download History +聽聽聽聽聽聽聽Sejarah &Muaturun +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Search History +聽聽聽聽聽聽聽Sejarah &Carian +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Cookies +聽聽聽聽聽聽聽Coo&kie +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽C&ached Web Pages +聽聽聽聽聽聽聽C&ache Laman Web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Website &Icons +聽聽聽聽聽聽聽&Ikon Laman web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Clear &Private Data +聽聽聽聽聽聽聽&Hapus Data Peribadi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Cancel +聽聽聽聽聽聽聽&Batal +聽聽聽 - CookieExceptionsModel - - - Website - Laman web - - - - Rule - Peraturan - - - - Allow - Benar - - - - Block - Larang - - - - Allow For Session - Benarkan Untuk Sessi - +聽聽聽CookieExceptionsModel +聽聽聽 +聽聽聽聽聽聽聽Website +聽聽聽聽聽聽聽Laman web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Rule +聽聽聽聽聽聽聽Peraturan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Allow +聽聽聽聽聽聽聽Benar +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Block +聽聽聽聽聽聽聽Larang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Allow For Session +聽聽聽聽聽聽聽Benarkan Untuk Sessi +聽聽聽 - CookieModel - - - Website - Laman web - - - - Name - Nama - - - - Path - Path - - - - Secure - Selamat - - - - Expires - Luput - - - - Contents - Kandungan - - - - true - true - - - - false - false - +聽聽聽CookieModel +聽聽聽 +聽聽聽聽聽聽聽Website +聽聽聽聽聽聽聽Laman web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Name +聽聽聽聽聽聽聽Nama +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Path +聽聽聽聽聽聽聽Path +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Secure +聽聽聽聽聽聽聽Selamat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Expires +聽聽聽聽聽聽聽Luput +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Contents +聽聽聽聽聽聽聽Kandungan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽true +聽聽聽聽聽聽聽true +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽false +聽聽聽聽聽聽聽false +聽聽聽 - CookiesDialog - - - Cookies - Cookie - - - - &Remove - &Buang - - - - Remove &All Cookies - Buang Semu&a Cookie - +聽聽聽CookiesDialog +聽聽聽 +聽聽聽聽聽聽聽Cookies +聽聽聽聽聽聽聽Cookie +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Remove +聽聽聽聽聽聽聽&Buang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove &All Cookies +聽聽聽聽聽聽聽Buang Semu&a Cookie +聽聽聽 - CookiesExceptionsDialog - - - Cookie Exceptions - Pengecualian Cookie - - - - New Exception - Cookie Baru - - - - Domain: - Domain: - - - - Block - Larang - - - - Allow For Session - Benarkan Untuk Sessi - - - - Allow - Benar - - - - Exceptions - Pengecualian - - - - &Remove - &Buang - - - - Remove &All - Buang Semu&a - +聽聽聽CookiesExceptionsDialog +聽聽聽 +聽聽聽聽聽聽聽Cookie Exceptions +聽聽聽聽聽聽聽Pengecualian Cookie +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽New Exception +聽聽聽聽聽聽聽Cookie Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Domain: +聽聽聽聽聽聽聽Domain: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Block +聽聽聽聽聽聽聽Larang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Allow For Session +聽聽聽聽聽聽聽Benarkan Untuk Sessi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Allow +聽聽聽聽聽聽聽Benar +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Exceptions +聽聽聽聽聽聽聽Pengecualian +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Remove +聽聽聽聽聽聽聽&Buang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove &All +聽聽聽聽聽聽聽Buang Semu&a +聽聽聽 - DownloadDialog - - - Downloads - Muaturun - - - - Clean up - Bersihkan - - - - 0 Items - 0 perkara - - - - &OK - &OK - +聽聽聽DownloadDialog +聽聽聽 +聽聽聽聽聽聽聽Downloads +聽聽聽聽聽聽聽Muaturun +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Clean up +聽聽聽聽聽聽聽Bersihkan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽0 Items +聽聽聽聽聽聽聽0 perkara +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&OK +聽聽聽聽聽聽聽&OK +聽聽聽 - DownloadItem - - - Form - Form - - - - Ico - Ico - - - - Filename - Nama fail - - - - Try Again - Cuba Semula - - - - Stop - Henti - - - - Open - Buka - - - - Save File - Simpan Fail - - - - Download canceled: %1 - Muaturun dibatalkan: %1 - - - - Error opening output file: %1 - Ralat membuka fail keluaran: %1 - - - - Error saving: %1 - Ralat menyimpan: %1 - - - - Network Error: %1 - Ralat Rangkaian: %1 - - - - seconds - saat - - - - - %n minutes remaining - - lagi %n minit - - - - - - - %n seconds remaining - - lagi %n saat - - - - - - %1 of %2 (%3/sec) %4 - %1 dari %2 (%3/saat) %4 - - - - ? - ? - - - - %1 of %2 - Stopped - %1 of %2 - Berhenti - - - - bytes - byte - - - - kB - kB - - - - MB - MB - +聽聽聽DownloadItem +聽聽聽 +聽聽聽聽聽聽聽Form +聽聽聽聽聽聽聽Form +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ico +聽聽聽聽聽聽聽Ico +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Filename +聽聽聽聽聽聽聽Nama fail +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Try Again +聽聽聽聽聽聽聽Cuba Semula +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Stop +聽聽聽聽聽聽聽Henti +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open +聽聽聽聽聽聽聽Buka +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Save File +聽聽聽聽聽聽聽Simpan Fail +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Download canceled: %1 +聽聽聽聽聽聽聽Muaturun dibatalkan: %1 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Error opening output file: %1 +聽聽聽聽聽聽聽Ralat membuka fail keluaran: %1 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Error saving: %1 +聽聽聽聽聽聽聽Ralat menyimpan: %1 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Network Error: %1 +聽聽聽聽聽聽聽Ralat Rangkaian: %1 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽seconds +聽聽聽聽聽聽聽saat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽- %n minutes remaining +聽聽聽聽聽聽聽 +聽聽聽聽聽聽聽聽聽聽聽lagi %n minit +聽聽聽聽聽聽聽聽聽聽聽lagi %n minit +聽聽聽聽聽聽聽 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽- %n seconds remaining +聽聽聽聽聽聽聽 +聽聽聽聽聽聽聽聽聽聽聽lagi %n saat +聽聽聽聽聽聽聽聽聽聽聽lagi %n saat +聽聽聽聽聽聽聽 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽%1 of %2 (%3/sec) %4 +聽聽聽聽聽聽聽%1 dari %2 (%3/saat) %4 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽? +聽聽聽聽聽聽聽? +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽%1 of %2 - Stopped +聽聽聽聽聽聽聽%1 of %2 - Berhenti +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽bytes +聽聽聽聽聽聽聽byte +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽kB +聽聽聽聽聽聽聽kB +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽MB +聽聽聽聽聽聽聽MB +聽聽聽 - DownloadManager - - - %n Download(s) - - %n Muaturun - Muaturun - - +聽聽聽DownloadManager +聽聽聽 +聽聽聽聽聽聽聽%n Download(s) +聽聽聽聽聽聽聽 +聽聽聽聽聽聽聽聽聽聽聽%n Muaturun +聽聽聽聽聽聽聽聽聽聽聽%n Muaturun +聽聽聽聽聽聽聽 +聽聽聽 - HistoryDialog - - - Open - Buka - - - - Copy - Salin - - - - Delete - Padam - - - - History - Sejarah - - - - &Remove - &Buang - - - - Remove &All - Buang Semu&a - +聽聽聽HistoryDialog +聽聽聽 +聽聽聽聽聽聽聽Open +聽聽聽聽聽聽聽Buka +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Copy +聽聽聽聽聽聽聽Salin +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Delete +聽聽聽聽聽聽聽Padam +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽History +聽聽聽聽聽聽聽Sejarah +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Remove +聽聽聽聽聽聽聽&Buang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove &All +聽聽聽聽聽聽聽Buang Semu&a +聽聽聽 - HistoryMenu - - - Show All History - Tunjuk Semua Sejarah - - - - Clear History... - Hapus Sejarah... - - - - Clear History - Hapus Sejarah - - - - Do you want to clear the history? - Anda mahu hapus sejarah? - +聽聽聽HistoryMenu +聽聽聽 +聽聽聽聽聽聽聽Show All History +聽聽聽聽聽聽聽Tunjuk Semua Sejarah +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Clear History... +聽聽聽聽聽聽聽Hapus Sejarah... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Clear History +聽聽聽聽聽聽聽Hapus Sejarah +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Do you want to clear the history? +聽聽聽聽聽聽聽Anda mahu hapus sejarah? +聽聽聽 - HistoryModel - - - Title - Tajuk - - - - Address - Alamat - +聽聽聽HistoryModel +聽聽聽 +聽聽聽聽聽聽聽Title +聽聽聽聽聽聽聽Tajuk +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Address +聽聽聽聽聽聽聽Alamat +聽聽聽 - HistoryTreeModel - - - Earlier Today - Awal Hari Ini - - - - %n item(s) - - %n perkara - perkara - - +聽聽聽HistoryTreeModel +聽聽聽 +聽聽聽聽聽聽聽Earlier Today +聽聽聽聽聽聽聽Awal Hari Ini +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽%n item(s) +聽聽聽聽聽聽聽 +聽聽聽聽聽聽聽聽聽聽聽%n perkara +聽聽聽聽聽聽聽聽聽聽聽%n perkara +聽聽聽聽聽聽聽 +聽聽聽 - LanguageManager - - - System locale (%1) %2 - Sistem Lokal (%1) %2 - - - - Choose language - Pilih bahasa - - - - <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> - <p>Anda boleh menggunakan bahasa selain dari<br>tetapan sistem operasi.</p><p>Sila pilih bahasa yang harus digunakan</p> - +聽聽聽LanguageManager +聽聽聽 +聽聽聽聽聽聽聽System locale (%1) %2 +聽聽聽聽聽聽聽Sistem Lokal (%1) %2 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Choose language +聽聽聽聽聽聽聽Pilih bahasa +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽<p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> +聽聽聽聽聽聽聽<p>Anda boleh menggunakan bahasa selain dari<br>tetapan sistem operasi.</p><p>Sila pilih bahasa yang harus digunakan</p> +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Default +聽聽聽聽聽聽聽Lalai +聽聽聽 - NetworkAccessManager - - - <qt>Enter username and password for "%1" at %2</qt> - <qt>Masukkan nama pengguna dan katalaluan untuk "%1" di %2</qt> - - - - <qt>Connect to proxy "%1" using:</qt> - <qt>Berhubung dengan proxy "%1" menggunakan:</qt> - - - - SSL Errors: +聽聽聽NetworkAccessManager +聽聽聽 +聽聽聽聽聽聽聽<qt>Enter username and password for "%1" at %2</qt> +聽聽聽聽聽聽聽<qt>Masukkan nama pengguna dan katalaluan untuk "%1" di %2</qt> +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽<qt>Connect to proxy "%1" using:</qt> +聽聽聽聽聽聽聽<qt>Berhubung dengan proxy "%1" menggunakan:</qt> +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽SSL Errors: %1 %2 Do you want to ignore these errors? - Ralat SSL: +聽聽聽聽聽聽聽Ralat SSL: %1 %2 Anda mahu abaikan ralat ini? - - - - Do you want to accept all these certificates? - Anda mahu menerima kesemua sijil? - +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Do you want to accept all these certificates? +聽聽聽聽聽聽聽Anda mahu menerima kesemua sijil? +聽聽聽 + + +聽聽聽NetworkMonitor +聽聽聽 +聽聽聽聽聽聽聽Name +聽聽聽聽聽聽聽Nama +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Value +聽聽聽聽聽聽聽Nilai +聽聽聽 + + +聽聽聽NetworkMonitorDialog +聽聽聽 +聽聽聽聽聽聽聽Network Monitor +聽聽聽聽聽聽聽Penyelia Rangkaian +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Network Requests +聽聽聽聽聽聽聽Permintaan Rangkaian +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Request Headers +聽聽聽聽聽聽聽Pengepala Permintaan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Response Headers +聽聽聽聽聽聽聽Pengepala Balasan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Remove +聽聽聽聽聽聽聽&Buang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove &All Requests +聽聽聽聽聽聽聽Buang Semu&a Permintaan +聽聽聽 + + +聽聽聽PasswordDialog +聽聽聽 +聽聽聽聽聽聽聽Authentication Required +聽聽聽聽聽聽聽Pengesahan Diperlukan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽DUMMY ICON +聽聽聽聽聽聽聽DUMMY ICON +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽INTRO TEXT DUMMY +聽聽聽聽聽聽聽INTRO TEXT DUMMY +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Username: +聽聽聽聽聽聽聽Nama pengguna: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Password: +聽聽聽聽聽聽聽Katalaluan: +聽聽聽 - PasswordDialog - - - Authentication Required - Pengesahan Diperlukan - - - - DUMMY ICON - DUMMY ICON - - - - INTRO TEXT DUMMY - INTRO TEXT DUMMY - - - - Username: - Nama pengguna: - - - - Password: - Katalaluan: - +聽聽聽PlainTextEditSearch +聽聽聽 +聽聽聽聽聽聽聽Not Found +聽聽聽聽聽聽聽Tiada di laman ini +聽聽聽 - PlainTextEditSearch - - - Not Found - Tiada di laman ini - +聽聽聽ProxyDialog +聽聽聽 +聽聽聽聽聽聽聽Proxy Authentication +聽聽聽聽聽聽聽Pengesahan Proxy +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽ICON +聽聽聽聽聽聽聽ICON +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Connect to proxy +聽聽聽聽聽聽聽Berhubung dengan proxy +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Username: +聽聽聽聽聽聽聽Nama pengguna: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Password: +聽聽聽聽聽聽聽Katalaluan: +聽聽聽 - ProxyDialog - - - Proxy Authentication - Pengesahan Proxy - - - - ICON - ICON - - - - Connect to proxy - Berhubung dengan proxy - - - - Username: - Nama pengguna: - - - - Password: - Katalaluan: - +聽聽聽QObject +聽聽聽 +聽聽聽聽聽聽聽The file is not an XBEL version 1.0 file. +聽聽聽聽聽聽聽Ini bukan fail XBEL versi 1.0. +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Unknown title +聽聽聽聽聽聽聽Tajuk tidak diketahui +聽聽聽 - QObject - - - The file is not an XBEL version 1.0 file. - Ini bukan fail XBEL versi 1.0. - - - - Unknown title - Tajuk tidak diketahui - +聽聽聽RequestModel +聽聽聽 +聽聽聽聽聽聽聽Redirect: %1 +聽聽聽聽聽聽聽Lencongan %1 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Method +聽聽聽聽聽聽聽Kaedah +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Address +聽聽聽聽聽聽聽Alamat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Response +聽聽聽聽聽聽聽Balasan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Length +聽聽聽聽聽聽聽Panjang +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Content Type +聽聽聽聽聽聽聽Jenis Kandungan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Info +聽聽聽聽聽聽聽Maklumat +聽聽聽 - SearchBanner - - - Form - Form - - - - TextLabel - TextLabel - - - - < - < - - - - > - > - - - - Done - Sudah - +聽聽聽SearchBanner +聽聽聽 +聽聽聽聽聽聽聽Form +聽聽聽聽聽聽聽Form +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽TextLabel +聽聽聽聽聽聽聽TextLabel +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽< +聽聽聽聽聽聽聽< +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽> +聽聽聽聽聽聽聽> +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Done +聽聽聽聽聽聽聽Sudah +聽聽聽 - SearchLineEdit - - - Search - Cari - +聽聽聽SearchLineEdit +聽聽聽 +聽聽聽聽聽聽聽Search +聽聽聽聽聽聽聽Cari +聽聽聽 - Settings - - - Preferences - Opsyen - - - - General - Umum - - - - On startup: - Bila dibuka: - - - - Show my home page - Tunjuk laman utama saya - - - - Show a blank page - Tunjuk laman kosong - - - - Restore windows and tabs from last time - Kembalikan tetingkap dan tab dari masa lampau - - - - Home Page: - Laman Utama: - - - - Set to current page - Tetapkan kepada laman semasa - - - - Remove history items: - Buang sejarah: - - - - After one day - Selepas sehari - - - - After one week - Selepas seminggu - - - - After two weeks - Selepas dua minggu - - - - After one month - Selepas sebulan - - - - After one year - Selepas setahun - - - - Manually - Secara manual - - - - On application exit - Bila aplikasi keluar - - - - Open links from applications: - Buka pautan dari aplikasi: - - - - In a tab in the current window - Di tab pada tetingkap semasa - - - - In a new window - Di tetingkap baru - - - - Downloads - Muaturun - - - - Ask for a destination each time - Sentiasa menanya destinasi - - - - Use this destination: - Gunakan destinasi ini: - - - - Appearance - Penampilan - - - - Standard font: - Font Standard: - - - - Times 16 - Times 16 - - - - Select... - Pilih... - - - - Fixed-width font: - Font lebar-tetap: - - - - Courier 13 - Courier 13 - - - - Privacy - Privasi - - - - Web Content - Kandungan Web - - - - Enable Plugins - Benarkan Plugin - - - - Enable Javascript - Benarkan Javascript - - - - View Images - Tunjuk Imej - - - - Cookies - Cookie - - - - Accept Cookies: - Terima Cookie: - - - - Always - Sentiasa - - - - Never - Tidak - - - - Only from sites you navigate to - Cuma dari laman yang anda pergi - - - - Exceptions... - Pengecualian... - - - - Keep Cookies Until: - Simpan cookie sehingga: - - - - They expire - ia lupus - - - - I exit the application - saya keluar dari aplikasi - - - - At most 90 days - sehingga 90 hari - - - - Cookies... - Cookie... - - - - Tabs - Tab - - - - Select tabs and windows as they are created - Pilih tab dan tetingkap sebaik ia dicipta - - - - Confirm when closing multiple tabs - Pastikan bila menutup berbilang tab - - - - Proxy - Proxy - - - - Use proxy server - Guna server proxy - - - - Type: - Type: - - - - Socks5 - Socks5 - - - - Http - Http - - - - Host name: - Host name: - - - - Port: - Port: - - - - User Name: - Nama pengguna: - - - - Password: - Katalaluan: - - - - Advanced - Lanjut - - - - Style Sheet: - Style Sheet: - +聽聽聽Settings +聽聽聽 +聽聽聽聽聽聽聽Preferences +聽聽聽聽聽聽聽Opsyen +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽General +聽聽聽聽聽聽聽Umum +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽On startup: +聽聽聽聽聽聽聽Bila dibuka: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show my home page +聽聽聽聽聽聽聽Tunjuk laman utama saya +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show a blank page +聽聽聽聽聽聽聽Tunjuk laman kosong +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Restore windows and tabs from last time +聽聽聽聽聽聽聽Kembalikan tetingkap dan tab dari masa lampau +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Home Page: +聽聽聽聽聽聽聽Laman Utama: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Set to current page +聽聽聽聽聽聽聽Tetapkan kepada laman semasa +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Remove history items: +聽聽聽聽聽聽聽Buang sejarah: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽After one day +聽聽聽聽聽聽聽Selepas sehari +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽After one week +聽聽聽聽聽聽聽Selepas seminggu +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽After two weeks +聽聽聽聽聽聽聽Selepas dua minggu +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽After one month +聽聽聽聽聽聽聽Selepas sebulan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽After one year +聽聽聽聽聽聽聽Selepas setahun +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Manually +聽聽聽聽聽聽聽Secara manual +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽On application exit +聽聽聽聽聽聽聽Bila aplikasi keluar +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open links from applications: +聽聽聽聽聽聽聽Buka pautan dari aplikasi: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽In a tab in the current window +聽聽聽聽聽聽聽Di tab pada tetingkap semasa +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽In a new window +聽聽聽聽聽聽聽Di tetingkap baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Downloads +聽聽聽聽聽聽聽Muaturun +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Ask for a destination each time +聽聽聽聽聽聽聽Sentiasa menanya destinasi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Use this destination: +聽聽聽聽聽聽聽Gunakan destinasi ini: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Appearance +聽聽聽聽聽聽聽Penampilan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Standard font: +聽聽聽聽聽聽聽Font Standard: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Times 16 +聽聽聽聽聽聽聽Times 16 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Select... +聽聽聽聽聽聽聽Pilih... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Fixed-width font: +聽聽聽聽聽聽聽Font lebar-tetap: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Courier 13 +聽聽聽聽聽聽聽Courier 13 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Privacy +聽聽聽聽聽聽聽Privasi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Web Content +聽聽聽聽聽聽聽Kandungan Web +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Enable Plugins +聽聽聽聽聽聽聽Benarkan Plugin +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Enable Javascript +聽聽聽聽聽聽聽Benarkan Javascript +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽View Images +聽聽聽聽聽聽聽Tunjuk Imej +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Cookies +聽聽聽聽聽聽聽Cookie +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Accept Cookies: +聽聽聽聽聽聽聽Terima Cookie: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Always +聽聽聽聽聽聽聽Sentiasa +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Never +聽聽聽聽聽聽聽Tidak +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Only from sites you navigate to +聽聽聽聽聽聽聽Cuma dari laman yang anda pergi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Exceptions... +聽聽聽聽聽聽聽Pengecualian... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Keep Cookies Until: +聽聽聽聽聽聽聽Simpan cookie sehingga: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽They expire +聽聽聽聽聽聽聽ia lupus +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽I exit the application +聽聽聽聽聽聽聽saya keluar dari aplikasi +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽At most 90 days +聽聽聽聽聽聽聽sehingga 90 hari +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Cookies... +聽聽聽聽聽聽聽Cookie... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Tabs +聽聽聽聽聽聽聽Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Select tabs and windows as they are created +聽聽聽聽聽聽聽Pilih tab dan tetingkap sebaik ia dicipta +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Confirm when closing multiple tabs +聽聽聽聽聽聽聽Pastikan bila menutup berbilang tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Proxy +聽聽聽聽聽聽聽Proxy +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Use proxy server +聽聽聽聽聽聽聽Guna server proxy +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Type: +聽聽聽聽聽聽聽Type: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Socks5 +聽聽聽聽聽聽聽Socks5 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Http +聽聽聽聽聽聽聽Http +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Host name: +聽聽聽聽聽聽聽Host name: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Port: +聽聽聽聽聽聽聽Port: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽User Name: +聽聽聽聽聽聽聽Nama pengguna: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Password: +聽聽聽聽聽聽聽Katalaluan: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Advanced +聽聽聽聽聽聽聽Lanjut +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Style Sheet: +聽聽聽聽聽聽聽Style Sheet: +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show only one close button instead of one for each tab +聽聽聽聽聽聽聽Papar cuma satu butang tutup bagi keseluruhan tab +聽聽聽 - SourceViewer - - - Loading... - Memuat... - - - - &Edit - &Edit - - - - &Find - &Cari - - - - Source of Page - Sumber Laman - +聽聽聽SourceViewer +聽聽聽 +聽聽聽聽聽聽聽Loading... +聽聽聽聽聽聽聽Memuat... +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Edit +聽聽聽聽聽聽聽&Edit +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Find +聽聽聽聽聽聽聽&Cari +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Source of Page +聽聽聽聽聽聽聽Sumber Laman +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&View +聽聽聽聽聽聽聽&Lihat +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Wrap lines +聽聽聽聽聽聽聽&Wrap barisan +聽聽聽 - TabBar - - - Show Tab Bar - Tunjuk Bar Tab - - - - Hide Tab Bar - Sembunyi Bar Tab - - - - New &Tab - &Tab Baru - - - - Duplicate Tab - Salin Tab - - - - &Close Tab - T&utup Tab - - - - Close &Other Tabs - Tutup &Lain-lain Tab - - - - Reload Tab - Muatsemula Tab - - - - Reload All Tabs - Muatsemula Semua Tab - +聽聽聽TabBar +聽聽聽 +聽聽聽聽聽聽聽Show Tab Bar +聽聽聽聽聽聽聽Tunjuk Bar Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Hide Tab Bar +聽聽聽聽聽聽聽Sembunyi Bar Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽New &Tab +聽聽聽聽聽聽聽&Tab Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Duplicate Tab +聽聽聽聽聽聽聽Salin Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Close Tab +聽聽聽聽聽聽聽T&utup Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Close &Other Tabs +聽聽聽聽聽聽聽Tutup &Lain-lain Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Reload Tab +聽聽聽聽聽聽聽Muatsemula Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Reload All Tabs +聽聽聽聽聽聽聽Muatsemula Semua Tab +聽聽聽 - TabWidget - - - New &Tab - &Tab Baru - - - - &Close Tab - T&utup Tab - - - - Show Next Tab - Tunjuk Tab Seterusnya - - - - Show Previous Tab - Tunjuk Tab Sebelumnya - - - - Recently Closed Tabs - Tab yang baru ditutup - - - - Untitled - Tiada tajuk - - - - Do you really want to close this page? - Anda benar-benar mahu menutup laman ini? - - - - You have modified this page and when closing it you would lose the modification. +聽聽聽TabWidget +聽聽聽 +聽聽聽聽聽聽聽New &Tab +聽聽聽聽聽聽聽&Tab Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Close Tab +聽聽聽聽聽聽聽T&utup Tab +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show Next Tab +聽聽聽聽聽聽聽Tunjuk Tab Seterusnya +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Show Previous Tab +聽聽聽聽聽聽聽Tunjuk Tab Sebelumnya +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Recently Closed Tabs +聽聽聽聽聽聽聽Tab yang baru ditutup +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Untitled +聽聽聽聽聽聽聽Tiada tajuk +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Do you really want to close this page? +聽聽聽聽聽聽聽Anda benar-benar mahu menutup laman ini? +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽You have modified this page and when closing it you would lose the modification. Do you really want to close this page? - Anda sudah mengubah laman ini dan jika menutupnya akan menyebabkan kehilangan perubahan ini. +聽聽聽聽聽聽聽Anda sudah mengubah laman ini dan jika menutupnya akan menyebabkan kehilangan perubahan ini. Anda benar-benar mahu teruskan dengan menutup laman ini? - +聽聽聽 - ToolbarSearch - - - No Recent Searches - Tiada Carian Sebelum Ini - - - - Recent Searches - Carian Sebelum Ini - - - - Clear Recent Searches - Hapus Carian Sebelum Ini - +聽聽聽ToolbarSearch +聽聽聽 +聽聽聽聽聽聽聽No Recent Searches +聽聽聽聽聽聽聽Tiada Carian Sebelum Ini +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Recent Searches +聽聽聽聽聽聽聽Carian Sebelum Ini +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Clear Recent Searches +聽聽聽聽聽聽聽Hapus Carian Sebelum Ini +聽聽聽 - WebPage - - - Error loading page: %1 - Ralat memuat laman: %1 - +聽聽聽WebPage +聽聽聽 +聽聽聽聽聽聽聽Error loading page: %1 +聽聽聽聽聽聽聽Ralat memuat laman: %1 +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽When connecting to: %1. +聽聽聽聽聽聽聽Semasa berhubung ke: %1. +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org +聽聽聽聽聽聽聽Periksa alamat untuk kesilapan seperti <b>ww</br>.arora-browser.org yang sepatutnya <b>www</b>.arora-browser.org +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽If the address is correct, try to check the network connection. +聽聽聽聽聽聽聽Jika alamatnya betul, cuba periksa sambungan rangkaian. +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. +聽聽聽聽聽聽聽Jika komputer atau rangkaian dilindungi oleh firewall atau proxy, pastikan pelungsur dibenarkan mencapai rangkaian. +聽聽聽 - WebView - - - Open in New &Window - Buka di Tetin&gkap Baru - - - - Open in New &Tab - Buka di &Tab Baru - - - - Save Lin&k - Simpan P&autan - - - - &Bookmark This Link - Tanda&buku Pautan Ini - - - - &Copy Link Location - &Salin Lokasi Pautan - - - - Open Image in New &Window - Buka I&mej di Tetingkap Baru - - - - Open Image in New &Tab - Buka &Imej di Tab Baru - - - - &Save Image - S&impan Imej - - - - &Copy Image - Sa&lin Imej - - - - C&opy Image Location - S&alin Lokasi Imej - - - - Loading... - Memuat... - +聽聽聽WebView +聽聽聽 +聽聽聽聽聽聽聽Open in New &Window +聽聽聽聽聽聽聽Buka di Tetin&gkap Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open in New &Tab +聽聽聽聽聽聽聽Buka di &Tab Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Save Lin&k +聽聽聽聽聽聽聽Simpan P&autan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Bookmark This Link +聽聽聽聽聽聽聽Tanda&buku Pautan Ini +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Copy Link Location +聽聽聽聽聽聽聽&Salin Lokasi Pautan +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open Image in New &Window +聽聽聽聽聽聽聽Buka I&mej di Tetingkap Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Open Image in New &Tab +聽聽聽聽聽聽聽Buka &Imej di Tab Baru +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Save Image +聽聽聽聽聽聽聽S&impan Imej +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽&Copy Image +聽聽聽聽聽聽聽Sa&lin Imej +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽C&opy Image Location +聽聽聽聽聽聽聽S&alin Lokasi Imej +聽聽聽 +聽聽聽 +聽聽聽聽聽聽聽Loading... +聽聽聽聽聽聽聽Memuat... +聽聽聽 - WebViewSearch - - - Not Found - Tidak Jumpa - +聽聽聽WebViewSearch +聽聽聽 +聽聽聽聽聽聽聽Not Found +聽聽聽聽聽聽聽Tidak Jumpa +聽聽聽 - + \ No newline at end of file From 4962cece1a44919eed89f0ba87694d9db27a12d6 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Mon, 16 Feb 2009 23:55:44 -0500 Subject: [PATCH 0345/1254] use tr for a back/forward shortcut so translators can use the best locole one --- src/tabwidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tabwidget.cpp b/src/tabwidget.cpp index 95457b03..20794b18 100644 --- a/src/tabwidget.cpp +++ b/src/tabwidget.cpp @@ -148,7 +148,7 @@ TabWidget::TabWidget(QWidget *parent) QList shortcuts; shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceRight)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageDown)); - shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketRight)); + shortcuts.append(tr("Ctrl-]")); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Less)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Tab)); m_nextTabAction->setShortcuts(shortcuts); @@ -158,7 +158,7 @@ TabWidget::TabWidget(QWidget *parent) shortcuts.clear(); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceLeft)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageUp)); - shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketLeft)); + shortcuts.append(tr("Ctrl-[")); shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Greater)); shortcuts.append(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Tab)); m_previousTabAction->setShortcuts(shortcuts); From 368597fd61d6e16baee45b9d9e1bb7820c7c381d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Lu=C5=BEn=C3=BD?= Date: Tue, 17 Feb 2009 15:48:43 +0100 Subject: [PATCH 0346/1254] =?UTF-8?q?Updated=20cs=5FCZ=20translation=20Sig?= =?UTF-8?q?ned-off-by:=20Jakub=20Lu=C5=BEn=C3=BD=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/cs_CZ.ts | 396 ++++++++++++++++++++++++++++---------------- 1 file changed, 254 insertions(+), 142 deletions(-) diff --git a/src/locale/cs_CZ.ts b/src/locale/cs_CZ.ts index 45f0470b..4ca758a3 100644 --- a/src/locale/cs_CZ.ts +++ b/src/locale/cs_CZ.ts @@ -1,7 +1,8 @@ - + + - + AboutDialog @@ -9,11 +10,13 @@ O prohl铆啪e膷i + Authors Auto艡i + License Licence @@ -33,7 +36,7 @@ Close Zav艡铆t - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -46,12 +49,12 @@ p, li { white-space: pre-wrap; } AddBookmarkDialog - + Add Bookmark P艡idat z谩lo啪ku - + Type a name for the bookmark, and choose where to keep it. Napi拧 jm茅no pro z谩lo啪ku, a vyber, kam ji uchovat. @@ -59,17 +62,17 @@ p, li { white-space: pre-wrap; } BookmarksDialog - + Open Otev艡铆t - + Delete Smazat - + New Folder Nov谩 slo啪ka @@ -89,15 +92,26 @@ p, li { white-space: pre-wrap; } P艡idat slo啪ku - + Open in New Tab Otev艡铆t v nov茅m panelu + + + Edit Name + Upravit n谩zev + + + + Edit Address + Upravit adresu + BookmarksManager - + + Error when loading bookmarks on line %1, column %2: %3 Chyba p艡i na膷铆t谩n铆 z谩lo啪ek na 艡谩dku %1, sloupci %2: %3 @@ -118,6 +132,7 @@ p, li { white-space: pre-wrap; } Otev艡铆t soubor + XBEL (*.xbel *.xml) XBEL (*.xbel *.xml) @@ -184,15 +199,35 @@ p, li { white-space: pre-wrap; } BookmarksToolBar - + Bookmark Z谩lo啪ky + + + Open + Otev艡铆t + + + + Open in New &Tab + Otev艡铆t v &nov茅m panelu + + + + Remove + Smazat + + + + Add Bookmark... + P艡idat z谩lo啪ku... + BrowserApplication - + There are %1 windows and %2 tabs open Do you want to quit anyway? Je otev艡eno %1 oken a %2 panel暖 @@ -217,462 +252,453 @@ P艡esto ukon膷it? BrowserMainWindow - + &File &Soubor - + &New Window &Nov茅 okno - + &Open File... Otev艡铆t &soubor... - + Open &Location... &Otev艡铆t adresu... - + &Save As... &Ulo啪it jako... - + &Import Bookmarks... &Importovat z谩lo啪ky... - + &Export Bookmarks... &Exportovat z谩lo啪ky... - + P&rint Preview... N谩&hled tisku... - + &Print... &Tisk... - + Private &Browsing... Soukro&m茅 prohl铆啪en铆... + &Quit U&kon膷it - + &Edit 脷pr&avy - + &Undo &Zp臎t - + &Redo Zn&ovu - + Cu&t &Vyjmout - + &Copy &Kop铆rovat - + &Paste V&lo啪it - + &Find Na&j铆t - &Find Next Naj铆&t dal拧铆 - &Find Previous Naj铆t &p艡edchoz铆 - &Preferences P艡ed&volby - + Ctrl+, Ctrl+, - + &View &Zobrazit - + Shift+Ctrl+B Shift+Ctrl+B - + Ctrl+| Ctrl+| - + Ctrl+/ Ctrl+/ - + &Stop Z&astavit - Reload Page O&bnovit - &Make Text Bigger Z&v臎t拧it p铆smo - &Make Text Normal &Norm谩ln铆 velikost p铆sma - &Make Text Smaller Z&men拧it p铆smo - + Page S&ource &Zdrojov媒 k贸d str谩nky - + Ctrl+Alt+U Ctrl+Alt+U - + &Full Screen &Cel谩 obrazovka - + Hi&story &Historie - + Back Zp臎t - + Forward Vp艡ed - + Home Dom暖 - + Restore Last Session Obnovit posledn铆 relaci - + &Bookmarks Z谩l&o啪ky - + Manage Bookmarks... Spravovat z谩lo啪ky... - + Add Bookmark... P艡idat z谩lo啪ku... - + &Window &Okno - + &Tools &N谩stroje - + Web &Search &Hled谩n铆 na webu - + Ctrl+K Web Search Ctrl+K - + + Show &Network Monitor + Zobrazit &monitor s铆t臎 + + + Enable Web &Inspector Povolit Web &Inspector - + &Help N谩po&v臎da - + About &Qt O &Qt - + About &Arora O &Arora - + + Navigation Navigace - + Show Status Bar Zobrazit stavov媒 艡谩dek - + Hide Status Bar Skr媒t stavov媒 艡谩dek - + Show Toolbar Zobrazit panel n谩stroj暖 - + Hide Toolbar Skr媒t panel n谩stroj暖 - Show Bookmarks bar Zobrazit panel z谩lo啪ek - Hide Bookmarks bar Skr媒t panel z谩lo啪ek - + Arora Arora - + %1 - Arora Page title and Browser name %1 - Arora - About O prohl铆啪e膷i - Version %1<p>This demo demonstrates Qt's webkit facilities in action, providing an example browser for you to experiment with.<p><p>QtWebKit is based on the Open Source WebKit Project developed at <a href="http://webkit.org/">http://webkit.org/</a>. Verze %1<p>Tato uk谩zka p艡edv谩d铆 schopnosti WebKitu v Qt v akci, poskytnut铆m vzorov茅ho prohl铆啪e膷e, abys s n铆m mohl(a) experimentovat.<p><p>QtWebKit je zalo啪en na open-source projektu WebKit vyv铆jen茅ho na <a href="http://webkit.org/">http://webkit.org/</a>. - + Open Web Resource Otev艡铆t webovou str谩nku - + Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*) Webov茅 str谩nky (*.html *.htm *.svg *.png *.gif *.svgz);;V拧echny soubory (*.*) - + Print Document Vytisknout dokument - + Are you sure you want to turn on private browsing? Opravdu chce拧 zapnout soukrom茅 prohl铆啪en铆? - <b>%1</b><br><br>When private browsing in turned on, webpages are not added to the history, items are automatically removed from the Downloads window, new cookies are not stored, current cookies can't be accessed, site icons wont be stored, session wont be saved, and searches are not addded to the pop-up menu in the Google search box. Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, str谩nky nejsou p艡id谩v谩ny do historie, soubory jsou automaticky smaz谩ny z okna stahov谩n铆, nov茅 cookies nejsou ukl谩d谩ny, aktu谩ln铆 cookies nejsou p艡铆stupn茅, ikony str谩nek nejsou ukl谩d谩ny, relace se neuk谩d谩 a hled谩n铆 nejsou p艡id谩v谩ny do vysouvac铆ho menu v pol铆膷ku Google hled谩n铆. Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Are you sure you want to close the window? There are %1 tabs open Opravdu chce拧 zav艡铆t okno? Je tu otev艡eno %1 panel暖 - Page Source of %1 Zdrojov媒 k贸d str谩nky %1 - + Web Inspector Web Inspector - + The web inspector will only work correctly for pages that were loaded after enabling. Do you want to reload all pages? Webov媒 inspektor bude fungovat pouze pro str谩nky na膷ten茅 po jeho povolen铆. Chce拧 znovu na膷铆st v拧echny str谩nky? - + Stop loading the current page Zastav铆 na膷铆t谩n铆 aktu谩ln铆 str谩nky - + Reload the current page Znovu na膷te aktu谩ln铆 str谩nku - + Downloads Stahov谩n铆 - + Alt+Ctrl+L Download Manager Alt+Ctrl+L - + &Clear Private Data Smazat &soukrom谩 data - + Ctrl+Shift+Delete Clear Private Data - <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttonsto return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + <b>%1</b><br><br>When private browsing is turned on, some actions concerning your privacy will be disabled:<ul><li> Webpages are not added to the history.</li><li> Items are automatically removed from the Downloads window.</li><li> New cookies are not stored, current cookies can't be accessed.</li><li> Site icons won't be stored, session won't be saved.</li><li> Searches are not addded to the pop-up menu in the search box.</li></ul>Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. <b>%1</b><br><br>Kdy啪 je zapnuto soukrom茅 prohl铆啪en铆, n臎kter茅 akce naru拧uj铆c铆 tvoje soukrom铆 budou zak谩z谩ny:<ul><li> Str谩nky nejsou p艡id谩v谩ny do historie.</li><li> Polo啪ky jsou automaticky smaz谩ny z okna stahov谩n铆.</li><li> Nov茅 cookies nejsou ulo啪eny, aktu谩ln铆 nebudou p艡铆stupn茅.</li><li> Ikony str谩nek nejsou ukl谩d谩ny, relace taky ne.</li><li> Hled谩n铆 nejsou p艡id谩v谩ny do vyj铆啪d臎c铆ho menu v pol铆膷ku hled谩n铆.</li></ul>Dokud nezav艡e拧 okno, m暖啪e拧 v啪dy klikat Zp臎t a Vp艡ed pro vr谩cen铆 na d艡铆ve otev艡en茅 str谩nky. - + Show Bookmarks Bar Zobrazit panel z谩lo啪ek - + Hide Bookmarks Bar Skr媒t panel z谩lo啪ek - Find &Next Naj铆&t dal拧铆 - + Find P&revious Naj铆t &p艡edchoz铆 - Prefe&rences P艡ed&volby - + &Reload Page O&bnovit str谩nku - + Make Text &Bigger Z&v臎t拧it text - + Make Text &Normal &Norm谩ln铆 velikost textu - + Make Text &Smaller Z&men拧it text - + Find Nex&t Naj铆&t dal拧铆 - + Prefere&nces... P艡ed&volby... - + Show Menu Bar Zobrazit menu - + Switch application language P艡epnout jazyk aplikace @@ -718,7 +744,6 @@ Do you want to reload all pages? &Cookies - C&ache Vyrovn谩vac铆 &pam臎钮 @@ -751,7 +776,6 @@ Do you want to reload all pages? Adresa - Status Stav @@ -951,12 +975,11 @@ Do you want to reload all pages? Stahov谩n铆 zru拧eno: %1 - Error opening save file: %1 Chyba p艡i otev铆r谩n铆 souboru pro ulo啪en铆: %1 - + Error saving: %1 Chyba p艡i ukl谩d谩n铆: %1 @@ -971,12 +994,10 @@ Do you want to reload all pages? sekund - minutes minut - - %4 %5 remaining - %4 %5 zb媒v谩 @@ -991,7 +1012,7 @@ Do you want to reload all pages? - + %1 of %2 - Stopped %1 z %2 - Zastaveno @@ -1029,7 +1050,7 @@ Do you want to reload all pages? - + Error opening output file: %1 Chyba p艡i otev铆r谩n铆 v媒stupn铆ho souboru: %1 @@ -1037,12 +1058,10 @@ Do you want to reload all pages? DownloadManager - 1 Download 1 stahov谩n铆 - %1 Downloads %1 stahov谩n铆 @@ -1059,17 +1078,17 @@ Do you want to reload all pages? HistoryDialog - + Open Otev艡铆t - + Copy Kop铆rovat - + Delete Smazat @@ -1092,22 +1111,22 @@ Do you want to reload all pages? HistoryMenu - + Show All History Zobrazit v拧echnu historii - + Clear History Vy膷istit historii - + Clear History... Vy膷istit historii... - + Do you want to clear the history? Chce拧 smazat historii? @@ -1115,12 +1134,12 @@ Do you want to reload all pages? HistoryModel - + Title Titulek - + Address Adresa @@ -1128,17 +1147,16 @@ Do you want to reload all pages? HistoryTreeModel - + Earlier Today D艡铆ve dnes - %1 items %1 polo啪ek - + %n item(s) %n polo啪ka @@ -1160,7 +1178,7 @@ Do you want to reload all pages? Vyber jazyk - + <p>You can run with a different language than<br>the operating system default.</p><p>Please choose the language which should be used</p> <p>Arora m暖啪e pou啪铆vat jin媒 jazyk, ne啪<br>je v媒choz铆 opera膷n铆ho syst茅mu.</p><p>Pros铆m vyber, kter媒 jazyk m谩 b媒t pou啪it</p> @@ -1178,7 +1196,7 @@ Do you want to reload all pages? <qt>P艡ipojit k proxy "%1" pou啪it铆m:</qt> - + SSL Errors: %1 @@ -1200,6 +1218,54 @@ Chce拧 ignorovat tyto chyby? Chce拧 p艡ijmout v拧echny tyto certifik谩ty? + + NetworkMonitor + + + + Name + N谩zev + + + + + Value + Hodnota + + + + NetworkMonitorDialog + + + Network Monitor + Monitor s铆t臎 + + + + Network Requests + S铆钮ov茅 po啪adavky + + + + Request Headers + Hlavi膷ky po啪adavku + + + + Response Headers + Hlavi膷ky odpov臎di + + + + &Remove + &Smazat + + + + Remove &All Requests + Smazat &v拧echny po啪adavky + + PasswordDialog @@ -1277,6 +1343,44 @@ Chce拧 ignorovat tyto chyby? Nezn谩m媒 titulek + + RequestModel + + + Redirect: %1 + P艡esm臎rov谩n铆: %1 + + + + Method + Metoda + + + + Address + Adresa + + + + Response + Odpov臎膹 + + + + Length + D茅lka + + + + Content Type + Typ obsahu + + + + Info + Info + + SearchBanner @@ -1316,7 +1420,6 @@ Chce拧 ignorovat tyto chyby? Settings - Settings Nastaven铆 @@ -1326,7 +1429,6 @@ Chce拧 ignorovat tyto chyby? Hlavn铆 - Home: Domov: @@ -1371,7 +1473,6 @@ Chce拧 ignorovat tyto chyby? Ru膷n臎 - Save downloads to: Ulo啪it stahov谩n铆 do: @@ -1406,6 +1507,7 @@ Chce拧 ignorovat tyto chyby? Times 16 + Select... Vybrat... @@ -1471,7 +1573,6 @@ Chce拧 ignorovat tyto chyby? V媒jimky... - Keep until: Uchovat dokud: @@ -1501,7 +1602,6 @@ Chce拧 ignorovat tyto chyby? Proxy - Enable proxy Povolit proxy @@ -1521,7 +1621,6 @@ Chce拧 ignorovat tyto chyby? Http - Host: Server: @@ -1571,7 +1670,6 @@ Chce拧 ignorovat tyto chyby? P艡i ukon膷en铆 aplikace - Enable Images Povolit obr谩zky @@ -1704,12 +1802,12 @@ Chce拧 ignorovat tyto chyby? Reload Tab - &Obnovit panel + Obnovit panel Reload All Tabs - O&bnovit v拧echny panely + Obnovit v拧echny panely @@ -1739,23 +1837,32 @@ Chce拧 ignorovat tyto chyby? Show Next Tab Zobrazit dal拧铆 panel + + + Ctrl-] + Ctrl-] + Show Previous Tab Zobrazit p艡edchoz铆 panel + + + Ctrl-[ + Ctrl-[ + Recently Closed Tabs Posledn臎 zav艡en茅 panely - (Untitled) (Bez titulku) - + Do you really want to close this page? Opravdu chce拧 zav艡铆t tuto str谩nku? @@ -1769,7 +1876,8 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? - + + Untitled Bez n谩zvu @@ -1805,9 +1913,8 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? P艡i p艡ipojov谩n铆 k: %1. - Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. - Zkontroluj adresu na chyby jako <b>ww</b>.trolltech.com m铆sto <b>www</b>.trolltech.com. + Zkontroluj adresu na chyby jako <b>ww</b>.trolltech.com m铆sto <b>www</b>.trolltech.com. @@ -1819,18 +1926,22 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. Pokud je tv暖j po膷铆ta膷 nebo tv谩 s铆钮 chr谩n臎na firewallem nebo proxy, ujisti se, 啪e je prohl铆啪e膷i povolen p艡铆stup k s铆ti. + + + Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org + Zkontroluj adresu na chyby jako <b>ww</b>.arora-browser.org nam铆sto <b>www</b>.arora-browser.org + WebView - Open in New Tab Otev艡铆t v nov茅m panelu Open in New &Window - Otev艡铆t v nov茅m okn臎 + &Otev艡铆t v nov茅m okn臎 @@ -1878,6 +1989,7 @@ Opravdu chce拧 zav艡铆t tuto str谩nku? Kop铆rovat adresu ob&r谩zku + Loading... Na膷铆t谩m... From a69cd6d392b6b79f0ff68a2bdb54f9f49f1a24b8 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Wed, 18 Feb 2009 00:42:17 -0500 Subject: [PATCH 0347/1254] Prepend / so as to not break when the cache location doesn't end with a / --- tools/cacheinfo/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cacheinfo/main.cpp b/tools/cacheinfo/main.cpp index 6ef1c7ec..81c8d602 100644 --- a/tools/cacheinfo/main.cpp +++ b/tools/cacheinfo/main.cpp @@ -45,7 +45,7 @@ int main(int argc, char **argv) NetworkDiskCache diskCache; QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation) - + QLatin1String("browser/"); + + QLatin1String("/browser/"); diskCache.setCacheDirectory(location); QNetworkCacheMetaData metaData; From 6c238f7e76b2a5f5738de67c6b9621f6b39f3bba Mon Sep 17 00:00:00 2001 From: Jakub Wieczorek Date: Wed, 18 Feb 2009 16:43:15 +0100 Subject: [PATCH 0348/1254] =?UTF-8?q?Add=20translation=20update=20from=20P?= =?UTF-8?q?awe=C5=82.=20Final=20polishing=20and=20cleaning=20up=20before?= =?UTF-8?q?=200.5=20release.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locale/pl_PL.ts | 126 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 106 insertions(+), 20 deletions(-) diff --git a/src/locale/pl_PL.ts b/src/locale/pl_PL.ts index b81ed7d9..b0ca0589 100644 --- a/src/locale/pl_PL.ts +++ b/src/locale/pl_PL.ts @@ -1,5 +1,6 @@ - + + AboutDialog @@ -32,7 +33,7 @@ <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style="font-size:9pt;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright © 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright 漏 2007-2008 Benjamin C. Meyer &lt;<a href="mailto:ben@meyerhome.net"><span style=" text-decoration: underline; color:#0057ae;">ben@meyerhome.net</span></a>&gt;</p></body></html> @@ -199,7 +200,7 @@ Czy mimo to chcesz zako艅czy膰? (Change: %1 %2) - (Zmiana: %1 %2) + (Zmiana: %1 %2) The saved session will not be restored because Arora crashed while trying to restore this session. @@ -566,6 +567,10 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? Switch application language Zmie艅 j臋zyk aplikacji + + Show &Network Monitor + Poka偶 &monitor sieci + ClearButton @@ -872,9 +877,9 @@ Czy chcesz od艣wie偶y膰 wszystkie strony? %n Download(s) - %n pobieranie - %n pobierania - %n pobiera艅 + %n pobierany plik + %n pobierane pliki + %n pobieranych plik贸w @@ -1000,6 +1005,44 @@ Czy chcesz zignorowa膰 te b艂臋dy? Czy chcesz zaakceptowa膰 te certyfikaty? + + NetworkMonitor + + Name + Nazwa + + + Value + Warto艣膰 + + + + NetworkMonitorDialog + + Network Monitor + Monitor sieci + + + Network Requests + 呕膮dania sieciowe + + + Request Headers + Nag艂贸wki 偶膮da艅 + + + Response Headers + Nag艂贸wki odpowiedzi + + + &Remove + &Usu艅 + + + Remove &All Requests + Usu艅 &wszystkie 偶膮dania + + PasswordDialog @@ -1064,6 +1107,37 @@ Czy chcesz zignorowa膰 te b艂臋dy? Nieznany tytu艂 + + RequestModel + + Redirect: %1 + Przekierowanie: %1 + + + Method + Metoda + + + Address + Adres + + + Response + Odpowied藕 + + + Length + D艂ugo艣膰 + + + Content Type + Rodzaj zawarto艣ci + + + Info + Informacje + + SearchBanner @@ -1072,7 +1146,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? TextLabel - Etykietka Tekstowa + Etykietka tekstowa < @@ -1084,7 +1158,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Done - Zrobione + Zako艅czono @@ -1182,7 +1256,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Fixed-width font: - O sta艂ej szeroko艣ci: + Czcionka o sta艂ej szeroko艣ci: Courier 13 @@ -1266,7 +1340,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Http - Http + HTTP Host: @@ -1298,11 +1372,11 @@ Czy chcesz zignorowa膰 te b艂臋dy? Show my home page - Poka偶 moj膮 stron臋 domow膮 + Otw贸rz moj膮 stron臋 domow膮 Show a blank page - Poka偶 pust膮 stron臋 + Otw贸rz pust膮 stron臋 Restore windows and tabs from last time @@ -1326,7 +1400,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? Confirm when closing multiple tabs - Potwierd藕 przy zamykaniu wielu kart + Potwierd藕 zamkni臋cie wielu kart naraz Preferences @@ -1453,7 +1527,7 @@ Czy chcesz zignorowa膰 te b艂臋dy? You have modified this page and when closing it you would lose the modification. Do you really want to close this page? - Wprowadzi艂e艣 modyfikacje na tej strone i kiedy j膮 zamkniesz to utracisz wszystkie zmiany. + Wprowadzi艂e艣 modyfikacje na tej stronie i kiedy j膮 zamkniesz to utracisz wszystkie zmiany. Czy na pewno chcesz zamkn膮膰 t臋 stron臋? @@ -1461,6 +1535,14 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? Untitled Bez tytu艂u + + Ctrl-] + Ctrl-] + + + Ctrl-[ + Ctrl-[ + ToolbarSearch @@ -1470,15 +1552,15 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? No Recent Searches - Brak ostatnich wyszukiwa艅 + Brak ostatnio wyszukiwanych fraz Recent Searches - Ostatnie wyszukiwa艅 + Ostatnio wyszukiwane frazy Clear Recent Searches - Wyczy艣膰 list臋 wyszukiwa艅 + Wyczy艣膰 list臋 ostatnio wyszukiwanych fraz @@ -1493,20 +1575,24 @@ Czy na pewno chcesz zamkn膮膰 t臋 stron臋? Check the address for errors such as <b>ww</b>.trolltech.com instead of <b>www</b>.trolltech.com. - Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. + Sprawd藕, czy adres nie zawiera 偶adnych b艂臋d贸w np. <b>ww</b>.trolltech.com zamiast <b>www</b>.trolltech.com. If the address is correct, try to check the network connection. - Je艣li adres jest prawid艂owy, spr贸buj sprawd藕 czy Twoje po艂膮czenia internetowe dzia艂a poprawnie. + Je艣li adres jest prawid艂owy, sprawd藕 czy Twoje po艂膮czenie internetowe dzia艂a poprawnie. If your computer or network is protected by a firewall or proxy, make sure that the browser is permitted to access the network. - Je艣li tw贸j komputer lub sie膰 jest chroniona zapor膮 sieciow膮 lub proxy, upewnij si臋, 偶e przegl膮darka ma uprawnienia dost臋pu do sieci. + Je艣li tw贸j komputer lub sie膰 jest chroniona zapor膮 sieciow膮 lub proxy, upewnij si臋, 偶e przegl膮darka ma uprawnienia do dost臋pu do sieci. When connecting to: %1. Podczas 艂膮czenia z: %1. + + Check the address for errors such as <b>ww</b>.arora-browser.org instead of <b>www</b>.arora-browser.org + Sprawd藕 adres pod k膮tem b艂臋d贸w takich jak <b>ww</b>.arora-browser.org zamiast <b>www</b>.arora-browser.org + WebView From 875e1fac015cb31faaec31d18b2801a90f0e076e Mon Sep 17 00:00:00 2001 From: "Benjamin K. Stuhl" Date: Wed, 18 Feb 2009 14:27:06 -0700 Subject: [PATCH 0349/1254] use encodeURI(), not escape() escape() is explicitly NOT for URIs: it escapes ':' and '?', which should not be escaped in URIs. In particular, arora doesn't recognize 'http%3A//' as starting a URL, rather than a local file... --- tools/htmlToXBel/extract.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/htmlToXBel/extract.js b/tools/htmlToXBel/extract.js index 131da4bf..0a7dd098 100644 --- a/tools/htmlToXBel/extract.js +++ b/tools/htmlToXBel/extract.js @@ -21,7 +21,7 @@ function walk() { folded = "true"; } if (object.nodeName == "A") { - result += indent + "\n"; + result += indent + "\n"; result += indent + indent + "" + object.innerHTML + "\n"; result += indent + "\n"; } From ebfe9635b615f7d26bf836feb3040a5d7badf4dc Mon Sep 17 00:00:00 2001 From: "Benjamin K. Stuhl" Date: Wed, 18 Feb 2009 14:37:33 -0700 Subject: [PATCH 0350/1254] make sure to XML-escape ampersands ampersands should not be escaped at the URI-escape level, but they _should_ be escaped at the XML level --- tools/htmlToXBel/extract.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/htmlToXBel/extract.js b/tools/htmlToXBel/extract.js index 0a7dd098..ad7a2f4f 100644 --- a/tools/htmlToXBel/extract.js +++ b/tools/htmlToXBel/extract.js @@ -21,7 +21,7 @@ function walk() { folded = "true"; } if (object.nodeName == "A") { - result += indent + "\n"; + result += indent + "\n"; result += indent + indent + "" + object.innerHTML + "\n"; result += indent + "\n"; } From 2b9cf03afa3ed48ae07298c6f1cd7b08e6fdcdc7 Mon Sep 17 00:00:00 2001 From: porphyr Date: Mon, 16 Feb 2009 19:43:40 +0100 Subject: [PATCH 0351/1254] - Add localization for "Bookmarks Bar" and "Bookmarks Menu" --- src/bookmarks.cpp | 72 +++++++++++++++++++++-------------------- src/bookmarks.h | 3 ++ src/languagemanager.cpp | 2 ++ 3 files changed, 42 insertions(+), 35 deletions(-) diff --git a/src/bookmarks.cpp b/src/bookmarks.cpp index bf5b027a..36b8f080 100644 --- a/src/bookmarks.cpp +++ b/src/bookmarks.cpp @@ -82,14 +82,16 @@ #include -#define BOOKMARKBAR "Bookmarks Bar" -#define BOOKMARKMENU "Bookmarks Menu" +#define BOOKMARKBAR QT_TRANSLATE_NOOP("BookmarksManager", "Bookmarks Bar") +#define BOOKMARKMENU QT_TRANSLATE_NOOP("BookmarksManager", "Bookmarks Menu") BookmarksManager::BookmarksManager(QObject *parent) : QObject(parent) , m_loaded(false) , m_saveTimer(new AutoSaver(this)) , m_bookmarkRootNode(0) + , m_toolbar(0) + , m_menu(0) , m_bookmarkModel(0) { connect(this, SIGNAL(entryAdded(BookmarkNode *)), @@ -129,26 +131,23 @@ void BookmarksManager::load() "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString())); } - BookmarkNode *toolbar = 0; - BookmarkNode *menu = 0; QList others; for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) { BookmarkNode *node = m_bookmarkRootNode->children().at(i); if (node->type() == BookmarkNode::Folder) { // Automatically convert - if (node->title == tr("Toolbar Bookmarks") && !toolbar) { + if ((node->title == tr("Toolbar Bookmarks") + || node->title == QLatin1String(BOOKMARKBAR)) && !m_toolbar) { node->title = tr(BOOKMARKBAR); - } - if (node->title == tr(BOOKMARKBAR) && !toolbar) { - toolbar = node; + + m_toolbar = node; } // Automatically convert - if (node->title == tr("Menu") && !menu) { + if ((node->title == tr("Menu") + || node->title == QLatin1String(BOOKMARKMENU)) && !m_menu) { node->title = tr(BOOKMARKMENU); - } - if (node->title == tr(BOOKMARKMENU) && !menu) { - menu = node; + m_menu = node; } } else { others.append(node); @@ -156,22 +155,22 @@ void BookmarksManager::load() m_bookmarkRootNode->remove(node); } Q_ASSERT(m_bookmarkRootNode->children().count() == 0); - if (!toolbar) { - toolbar = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode); - toolbar->title = tr(BOOKMARKBAR); + if (!m_toolbar) { + m_toolbar = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode); + m_toolbar->title = tr(BOOKMARKBAR); } else { - m_bookmarkRootNode->add(toolbar); + m_bookmarkRootNode->add(m_toolbar); } - if (!menu) { - menu = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode); - menu->title = tr(BOOKMARKMENU); + if (!m_menu) { + m_menu = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode); + m_menu->title = tr(BOOKMARKMENU); } else { - m_bookmarkRootNode->add(menu); + m_bookmarkRootNode->add(m_menu); } for (int i = 0; i < others.count(); ++i) - menu->add(others.at(i)); + m_menu->add(others.at(i)); } void BookmarksManager::save() const @@ -182,8 +181,21 @@ void BookmarksManager::save() const XbelWriter writer; QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation); QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel"); + // Save root folder titles in English (i.e. not localized) + m_menu->title = QLatin1String(BOOKMARKMENU); + m_toolbar->title = QLatin1String(BOOKMARKBAR); if (!writer.write(bookmarkFile, m_bookmarkRootNode)) qWarning() << "BookmarkManager: error saving to" << bookmarkFile; + // Restore localized titles + retranslate(); +} + +void BookmarksManager::retranslate() const +{ + if (m_menu) + m_menu->title = tr(BOOKMARKMENU); + if (m_toolbar) + m_toolbar->title = tr(BOOKMARKBAR); } void BookmarksManager::addBookmark(BookmarkNode *parent, BookmarkNode *node, int row) @@ -239,13 +251,8 @@ BookmarkNode *BookmarksManager::menu() if (!m_loaded) load(); - for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) { - BookmarkNode *node = m_bookmarkRootNode->children().at(i); - if (node->title == tr(BOOKMARKMENU)) - return node; - } - Q_ASSERT(false); - return 0; + Q_ASSERT(m_menu); + return m_menu; } BookmarkNode *BookmarksManager::toolbar() @@ -253,13 +260,8 @@ BookmarkNode *BookmarksManager::toolbar() if (!m_loaded) load(); - for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) { - BookmarkNode *node = m_bookmarkRootNode->children().at(i); - if (node->title == tr(BOOKMARKBAR)) - return node; - } - Q_ASSERT(false); - return 0; + Q_ASSERT(m_toolbar); + return m_toolbar; } BookmarksModel *BookmarksManager::bookmarksModel() diff --git a/src/bookmarks.h b/src/bookmarks.h index 6d305264..aa194525 100644 --- a/src/bookmarks.h +++ b/src/bookmarks.h @@ -96,6 +96,7 @@ class BookmarksManager : public QObject void setTitle(BookmarkNode *node, const QString &newTitle); void setUrl(BookmarkNode *node, const QString &newUrl); void changeExpanded(); + void retranslate() const; BookmarkNode *bookmarks(); BookmarkNode *menu(); @@ -119,6 +120,8 @@ private slots: bool m_loaded; AutoSaver *m_saveTimer; BookmarkNode *m_bookmarkRootNode; + BookmarkNode *m_toolbar; + BookmarkNode *m_menu; BookmarksModel *m_bookmarkModel; QUndoStack m_commands; diff --git a/src/languagemanager.cpp b/src/languagemanager.cpp index 7febc288..b7166e51 100644 --- a/src/languagemanager.cpp +++ b/src/languagemanager.cpp @@ -29,6 +29,7 @@ #include "languagemanager.h" +#include "bookmarks.h" #include "browserapplication.h" #include @@ -120,6 +121,7 @@ void LanguageManager::setCurrentLanguage(const QString &language) qApp->installTranslator(newSysTranslator); m_appTranslator = newAppTranslator; m_sysTranslator = newSysTranslator; + BrowserApplication::bookmarksManager()->retranslate(); } QStringList LanguageManager::languages() const From aae9db0ffa4f103025fb9626f9da4be0d7371e69 Mon Sep 17 00:00:00 2001 From: Benjamin C Meyer Date: Thu, 19 Feb 2009 00:31:46 -0500 Subject: [PATCH 0352/1254] code style fix --- src/sourcehighlighter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sourcehighlighter.cpp b/src/sourcehighlighter.cpp index 218a1c9d..3becca8b 100644 --- a/src/sourcehighlighter.cpp +++ b/src/sourcehighlighter.cpp @@ -107,7 +107,7 @@ void SourceHighlighter::highlightBlock(const QString &text) case Normal: regex.setPattern(QLatin1String("[<&]")); pos = regex.indexIn(text, pos); - if (pos>=0) { + if (pos >= 0) { if (text.at(pos) == QLatin1Char('<')) { start = pos; if (text.mid(pos, 4) == QLatin1String("