From: Sangpyo Kim Date: Tue, 21 Aug 2012 08:52:43 +0000 (+0900) Subject: [Title] Initial upload the browser for tizen 2.0 X-Git-Tag: 2.0_alpha~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5a0d4be0c072173f731dea2dc5b94f4810ac8b0;p=profile%2Fcommon%2Fapps%2Fweb%2Fbrowser.git [Title] Initial upload the browser for tizen 2.0 [Issue#] N/A [Problem] N/A [Cause] N/A [Solution] Initial upload [Team] Browser UI [Developer] sangpyo7.kim [Request] N/A Change-Id: I31110d6ea254ad273ad87354f10078e18eaa82f0 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index d1418c51..0c41069f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,23 +1,33 @@ +# +# Copyright 2012 Samsung Electronics Co., Ltd +# +# Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(browser CXX) SET(SRCS src/browser-class.cpp src/browser-window.cpp + src/browser-utility.cpp src/browser-main.cpp src/browser-common-view.cpp src/browser-data-manager.cpp - src/browser-utility.cpp + src/browser-policy-client/browser-policy-decision-maker.cpp + src/browser-extension/browser-geolocation.cpp src/browser-extension/browser-find-word.cpp - src/browser-extension/browser-download-manager.cpp - src/browser-extension/browser-exscheme-handler.cpp - src/browser-extension/browser-picker-handler.cpp - src/browser-extension/browser-notification-manager.cpp - src/browser-security/browser-personal-data-manager.cpp - src/browser-security/browser-authentication-manager.cpp - src/browser-security/browser-certificate-manager.cpp + src/browser-extension/browser-scissorbox-view.cpp src/browser-view/browser-view.cpp - src/browser-view/browser-predictive-history.cpp src/browser-view/browser-context-menu.cpp src/browser-multi-window/browser-multi-window-view.cpp src/data-network/browser-network-manager.cpp @@ -29,15 +39,13 @@ SET(SRCS src/database/browser-bookmark-db.cpp src/database/browser-user-agent-db.cpp src/database/browser-history-db.cpp - src/database/browser-personal-data-db.cpp - src/database/browser-notification-db.cpp + src/database/browser-geolocation-db.cpp src/browser-settings/browser-settings-class.cpp src/browser-settings/browser-settings-main-view.cpp src/browser-settings/browser-settings-edit-homepage-view.cpp src/browser-settings/browser-settings-clear-data-view.cpp - src/browser-settings/browser-settings-plugin-view.cpp - src/browser-settings/browser-settings-user-agent-view.cpp - src/browser-settings/browser-settings-accelerated-composition.cpp + src/browser-settings/browser-settings-website-setting.cpp + src/scissorbox/scissorbox.cpp ) IF("${CMAKE_BUILD_TYPE}" STREQUAL "") @@ -51,26 +59,38 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/database) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/data-network) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-bookmark) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-view) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/most-visited-sites) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-multi-window) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-history) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-settings) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-policy-client) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-extension) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/browser-security) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/scissorbox) # set pkg-config modules INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED +pkg_check_modules(pkgs REQUIRED eina ecore evas ecore-evas edbus elementary - appcore-efl dlog db-util utilX ui-gadget tapi sensor - secure-storage libsoup-2.4 libxml-2.0 libssl elm-webview notification - ecore-input ecore-imf edje cairo ecore-x ewebkit appsvc devman - capi-appfw-app-manager capi-appfw-application capi-web-url-download devman_haptic + dlog db-util utilX ui-gadget-1 tapi + secure-storage libsoup-2.4 libxml-2.0 libssl capi-location-manager capi-system-haptic devman + accounts-svc ecore-input ecore-imf edje cairo ecore-x ewebkit2 appsvc capi-appfw-application + capi-appfw-app-manager capi-web-url-download shortcut syspopup-caller capi-network-connection pkgmgr + vconf-internal-keys + capi-system-device + capi-system-sensor ) FIND_LIBRARY(LIB_GNUTLS gnutls) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) +SET (USE_META_TAG ON) +IF (USE_META_TAG) + ADD_DEFINITIONS("-DUSE_META_TAG") + LIST(APPEND SRCS + src/browser-extension/browser-meta-tag.cpp + ) +ENDIF () # set extra defines SET(PREFIX ${CMAKE_INSTALL_PREFIX}) @@ -82,7 +102,7 @@ SET(EDJE_DIR "${RESDIR}/edje/") SET(LOCALE_DIR "${RESDIR}/locale/") SET(IMAGES_DIR "${RESDIR}/images/") SET(HTML_DIR "${RESDIR}/html/") -SET(ICON_DIR "${RESDIR}/icons/default/small/") +SET(ICON_DIR "/opt/share/icons/default/small/") # data SET(XML_DIR "${DATADIR}/xml/") SET(OPML_DIR "${DATADIR}/opml/") @@ -95,7 +115,7 @@ SET(CERTIFICATES_DIR "/opt/etc/ssl/certs/") SET(DATABASENAME ".browser.db") SET(HISTORY_DATABASENAME ".browser-history.db") SET(CREDENTIAL_DATABASENAME ".browser-credential.db") -SET(SPEEDDIAL_DATABASENAME ".browser-speeddial.db") +SET(MOST_VISITED_DATABASENAME ".browser-mostvisited.db") SET(COOKIES_DATABASENAME ".browser-cookies.db") SET(DESKTOP_DIR "/opt/share/applications") ADD_DEFINITIONS( @@ -120,10 +140,35 @@ ADD_DEFINITIONS( -D__BUILD__ ) +# Feature definitions +ADD_DEFINITIONS("-DBROWSER_SCROLLER_BOUNCING") +ADD_DEFINITIONS("-DSUPPORT_HLS") + +# Feature definitions - Must be activated on the Tizen public +ADD_DEFINITIONS("-DTIZEN_PUBLIC") +ADD_DEFINITIONS("-DZOOM_BUTTON") +ADD_DEFINITIONS("-DHORIZONTAL_UI") +ADD_DEFINITIONS("-DGENLIST_SWEEP") +SET (USER_AGENT_VIEW ON) +IF (USER_AGENT_VIEW) + ADD_DEFINITIONS("-DUSER_AGENT_VIEW") + LIST(APPEND SRCS + src/browser-settings/browser-settings-user-agent-view.cpp + ) +ENDIF () +SET (FEATURE_MOST_VISITED_LIST ON) +IF (FEATURE_MOST_VISITED_LIST) + ADD_DEFINITIONS("-DFEATURE_MOST_VISITED_SITES") + LIST(APPEND SRCS + src/most-visited-sites/most-visited-sites.cpp + src/most-visited-sites/add-to-most-visited-sites-view.cpp + src/database/most-visited-sites-db.cpp + ) +ENDIF () # set flags -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}") -SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g") -SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIC") +SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -fpie") +SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fpie") FIND_PROGRAM(UNAME NAMES uname) EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") @@ -136,12 +181,12 @@ IF("${ARCH}" STREQUAL "arm") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie") ENDIF("${ARCH}" STREQUAL "arm") -SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl,--hash-style=both") +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -Wl -pie,--hash-style=both") # real make?? ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${LIB_GNUTLS}) -#TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ewebkit) +#TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ewebkit2) # browser-define.edj ADD_CUSTOM_TARGET(browser-define.edj @@ -170,6 +215,15 @@ ADD_CUSTOM_TARGET(browser-naviframe.edj ) ADD_DEPENDENCIES(${PROJECT_NAME} browser-naviframe.edj) +# browser-reader.edj +ADD_CUSTOM_TARGET(browser-reader.edj + COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images + ${CMAKE_SOURCE_DIR}/edc/browser-reader.edc + ${CMAKE_BINARY_DIR}/edc/browser-reader.edj + DEPENDS ${CMAKE_SOURCE_DIR}/edc/browser-reader.edc + ) +ADD_DEPENDENCIES(${PROJECT_NAME} browser-reader.edj) + # browser-view-main.edj ADD_CUSTOM_TARGET(browser-view-main.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images @@ -215,6 +269,15 @@ ADD_CUSTOM_TARGET(browser-bookmark-view.edj ) ADD_DEPENDENCIES(${PROJECT_NAME} browser-bookmark-view.edj) +# browser-most-visited.edj +ADD_CUSTOM_TARGET(browser-most-visited.edj + COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images + ${CMAKE_SOURCE_DIR}/edc/browser-most-visited.edc + ${CMAKE_BINARY_DIR}/edc/browser-most-visited.edj + DEPENDS ${CMAKE_SOURCE_DIR}/edc/browser-most-visited.edc + ) +ADD_DEPENDENCIES(${PROJECT_NAME} browser-most-visited.edj) + # browser-multi-window.edj ADD_CUSTOM_TARGET(browser-multi-window.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images @@ -233,6 +296,15 @@ ADD_CUSTOM_TARGET(browser-predictive-history.edj ) ADD_DEPENDENCIES(${PROJECT_NAME} browser-predictive-history.edj) +# most-visited-sites.edj +ADD_CUSTOM_TARGET(most-visited-sites.edj + COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images + ${CMAKE_SOURCE_DIR}/edc/most-visited-sites.edc + ${CMAKE_BINARY_DIR}/edc/most-visited-sites.edj + DEPENDS ${CMAKE_SOURCE_DIR}/edc/most-visited-sites.edc + ) +ADD_DEPENDENCIES(${PROJECT_NAME} most-visited-sites.edj) + # browser-settings.edj ADD_CUSTOM_TARGET(browser-settings.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images @@ -242,14 +314,14 @@ ADD_CUSTOM_TARGET(browser-settings.edj ) ADD_DEPENDENCIES(${PROJECT_NAME} browser-settings.edj) -# browser-picker-layout.edj -ADD_CUSTOM_TARGET(browser-picker-layout.edj +# browser-popup.edj +ADD_CUSTOM_TARGET(browser-popup.edj COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images - ${CMAKE_SOURCE_DIR}/edc/browser-picker-layout.edc - ${CMAKE_BINARY_DIR}/edc/browser-picker-layout.edj - DEPENDS ${CMAKE_SOURCE_DIR}/edc/browser-picker-layout.edc + ${CMAKE_SOURCE_DIR}/edc/browser-popup.edc + ${CMAKE_BINARY_DIR}/edc/browser-popup.edj + DEPENDS ${CMAKE_SOURCE_DIR}/edc/browser-popup.edc ) -ADD_DEPENDENCIES(${PROJECT_NAME} browser-picker-layout.edj) +ADD_DEPENDENCIES(${PROJECT_NAME} browser-popup.edj) # install browser INSTALL(PROGRAMS ${PROJECT_NAME} DESTINATION bin) @@ -262,10 +334,13 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-view-url-layout.edj DESTINATION ${ INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-view-find-word-layout.edj DESTINATION ${EDJE_DIR}) INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-view-control-bar.edj DESTINATION ${EDJE_DIR}) INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-bookmark-view.edj DESTINATION ${EDJE_DIR}) +INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-most-visited.edj DESTINATION ${EDJE_DIR}) INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-multi-window.edj DESTINATION ${EDJE_DIR}) INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-predictive-history.edj DESTINATION ${EDJE_DIR}) +INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/most-visited-sites.edj DESTINATION ${EDJE_DIR}) INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-settings.edj DESTINATION ${EDJE_DIR}) -INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-picker-layout.edj DESTINATION ${EDJE_DIR}) +INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-reader.edj DESTINATION ${EDJE_DIR}) +INSTALL(FILES ${CMAKE_BINARY_DIR}/edc/browser-popup.edj DESTINATION ${EDJE_DIR}) # install images INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/images/install/ DESTINATION ${IMAGES_DIR} @@ -292,6 +367,7 @@ INSTALL(FILES ${CMAKE_SOURCE_DIR}/resource/default_0 DESTINATION ${SCREENSHOTS_D INSTALL(FILES ${CMAKE_SOURCE_DIR}/resource/default_1 DESTINATION ${SCREENSHOTS_DIR}) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resource/default_2 DESTINATION ${SCREENSHOTS_DIR}) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resource/default_3 DESTINATION ${SCREENSHOTS_DIR}) - +INSTALL(FILES ${CMAKE_SOURCE_DIR}/resource/default_application_icon.png DESTINATION "${DATADIR}/") +INSTALL(FILES ${CMAKE_SOURCE_DIR}/resource/config_sample.xml DESTINATION "${DATADIR}/") # i18n ADD_SUBDIRECTORY(po) diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/NOTICE b/NOTICE new file mode 100755 index 00000000..134ade6f --- /dev/null +++ b/NOTICE @@ -0,0 +1,16 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ diff --git a/debian/changelog b/debian/changelog index e6d73598..e193ccc3 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,8 @@ -browser (0.1.14-0) unstable; urgency=low +browser (2.0.0-0) unstable; urgency=low - * Git : slp/plgs/b/browser - * Tag : browser_0.1.14-0 + * Git : slp/pkgs/b/browser + * Tag : browser_2.0.0-0 - * Replace icon of browser(internet) - * update spec file + * Release Public Tizen browser - -- Junghwan Kang Sat, 21 Apr 2012 20:05:28 +0900 + -- Junghwan Kang Wed, 25 Jul 2012 21:52:06 +0900 diff --git a/debian/compat b/debian/compat old mode 100755 new mode 100644 diff --git a/debian/control b/debian/control index 46b6608a..85c5a738 100755 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: misc Priority: extra Maintainer: JungHwan Kang , Sangpyo Kim , Hyerim Bae , Inbum Chang Uploaders: JungHwan Kang , Sangpyo Kim , Hyerim Bae , Inbum Chang -Build-Depends: debhelper (>= 5), libelm-webview-dev, libeina-dev(>=0.0.1), libwebkit-engine-dev, libappcore-common-dev, libappcore-efl-dev, libecore-dev(>=0.9), libevas-dev(>=0.1), libcairo2-dev, dlog-dev, libvconf-dev, libslp-db-util-dev, libaul-1-dev, libui-gadget-dev, libssl-dev, libss-client-dev, libxml2-dev, libbundle-dev, libsoup2.4-dev, libgnutls-dev, libedje-dev, libslp-tapi-dev, libslp-sensor-dev, libslp-utilx-dev, libappsvc-dev, libdevman-dev, libnotification-dev, capi-appfw-application, capi-appfw-app-manager-dev, capi-web-url-download-dev, libdevman-haptic-dev +Build-Depends: debhelper (>= 5), libeina-dev(>=0.0.1), libwebkit2-efl-dev, libecore-dev(>=0.9), libevas-dev(>=0.1), libcairo2-dev, dlog-dev, libvconf-dev, libslp-db-util-dev, libaul-1-dev, libui-gadget-dev, libssl-dev, libss-client-dev, libxml2-dev, libbundle-dev, libsoup2.4-dev, libgnutls-dev, libaccounts-svc-dev, libedje-dev, libslp-tapi-dev, libslp-utilx-dev, libappsvc-dev, libdevman-dev, capi-location-manager-dev, capi-appfw-application, capi-appfw-app-manager-dev, capi-web-url-download-dev, capi-system-haptic-dev, libshortcut-dev, syspopup-caller-dev, capi-network-connection-dev, libpkgmgr-client-dev, vconf-internal-keys-dev, capi-system-sensor-dev, capi-system-device-dev Standards-Version: 0.1.0 Package: org.tizen.browser diff --git a/debian/dirs b/debian/dirs old mode 100755 new mode 100644 diff --git a/debian/docs b/debian/docs old mode 100755 new mode 100644 diff --git a/debian/org.tizen.browser.install.in b/debian/org.tizen.browser.install.in index 971fab7a..ff54b96d 100755 --- a/debian/org.tizen.browser.install.in +++ b/debian/org.tizen.browser.install.in @@ -2,8 +2,8 @@ @PREFIX@/res/* @PREFIX@/res/locale/* @PREFIX@/res/edje/* -@PREFIX@/res/icons/* @PREFIX@/res/html/* @PREFIX@/res/images/* @PREFIX@/data/* opt/share/applications/* +opt/share/icons/default/small/* diff --git a/debian/org.tizen.browser.postinst b/debian/org.tizen.browser.postinst index 5e3947db..a4c14a37 100755 --- a/debian/org.tizen.browser.postinst +++ b/debian/org.tizen.browser.postinst @@ -5,14 +5,14 @@ then chown -R 5000:5000 /opt/apps/org.tizen.browser/data fi -### Bookmark ### +##### Bookmark ###### if [ ! -f /opt/dbspace/.internet_bookmark.db ]; then - sqlite3 /opt/dbspace/.internet_bookmark.db 'PRAGMA journal_mode=PERSIST; - CREATE TABLE bookmarks(id INTEGER PRIMARY KEY AUTOINCREMENT, type INTEGER, parent INTEGER, address, title, creationdate, sequence INTEGER, updatedate, editable INTEGER, accesscount INTEGER, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER); - create index idx_bookmarks_on_parent_type on bookmarks(parent, type); + sqlite3 /opt/dbspace/.internet_bookmark.db 'PRAGMA journal_mode=PERSIST; + CREATE TABLE bookmarks(id INTEGER PRIMARY KEY AUTOINCREMENT, type INTEGER, parent INTEGER, address, title, creationdate, sequence INTEGER, updatedate, visitdate, editable INTEGER, accesscount INTEGER, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER); + create index idx_bookmarks_on_parent_type on bookmarks(parent, type); - insert into bookmarks (type, parent, title, creationdate, editable, sequence, accesscount) values(1, 0, "Bookmarks", DATETIME("now"), 0, 1, 0);' + insert into bookmarks (type, parent, title, creationdate, editable, sequence, accesscount) values(1, 0, "Bookmarks", DATETIME("now"), 0, 1, 0);' fi ##### History ###### @@ -22,12 +22,11 @@ then CREATE TABLE history(id INTEGER PRIMARY KEY AUTOINCREMENT, address, title, counter INTEGER, visitdate DATETIME, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER);' fi -##### Notification ##### -if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser-notification.db ]; +##### Geolocation ###### +if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db ]; then - sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-notification.db 'PRAGMA journal_mode=PERSIST; - CREATE TABLE notification_table(id INTEGER PRIMARY KEY AUTOINCREMENT, notification INTEGER, title, body, url, iconURL, iconValidity INTEGER); - CREATE TABLE notification_permitted_domains(domain PRIMARY KEY);' + sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db 'PRAGMA journal_mode=PERSIST; + create table geolocation(id integer primary key autoincrement, address, accept INTEGER,updatedate DATETIME);' fi ##### Password ###### @@ -50,14 +49,15 @@ then sqlite3 /opt/apps/org.tizen.browser/data/db/.browser.db 'PRAGMA journal_mode=PERSIST; insert into user_agents values("Galaxy S", "Mozilla/5.0 (Linux; U; Android 2.3.7; en-gb; GT-I9000 Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); insert into user_agents values("Galaxy S II", "Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; GT-I9100 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); + insert into user_agents values("Galaxy S III", "Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; GT-I9300 Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"); insert into user_agents values("SLP Galaxy", "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; GT-I9500 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); insert into user_agents values("Tizen", "Mozilla/5.0 (Linux; U; Tizen 1.0; en-us) AppleWebKit/534.46 (KHTML, like Gecko) Mobile Tizen Browser/1.0"); insert into user_agents values("Galaxy Nexus", "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; Galaxy Nexus Build/IML74K) AppleWebKit/535.7 (KHTML, like Gecko) Mobile Safari/535.7"); insert into user_agents values("Samsung", "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-I9200/1.0; U; Linux/SLP/2.0; ko-kr) AppleWebKit/534.4 (KHTML, like Gecko) Dolfin/2.0 Mobile"); insert into user_agents values("Samsung Dolfin", "SAMSUNG-GT-S8500/S8500XXJD2 SHP/VPP/R5 Dolfin/2.0 Nextreaming SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1"); - insert into user_agents values("Apple iPhone 3", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3"); - insert into user_agents values("Apple iPhone 4", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C148 Safari/6533.18.5"); - insert into user_agents values("Apple iOS 5", "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5"); + insert into user_agents values("Apple iPhone 3", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16"); + insert into user_agents values("Apple iPhone 4", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5"); + insert into user_agents values("Apple iOS 5", "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3"); insert into user_agents values("Android 2.3 (Nexus One)", "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Nexus One Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); insert into user_agents values("Opera Mobi", "Opera/9.80 (Windows NT 6.1; U; Edition IBIS; en) Presto/2.6.30 Version/10.63"); insert into user_agents values("Samsung Bada", "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/1.0; U; Bada/1.0; en-us) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WVGA SMM-MMS/1.2.0 OPN-B"); @@ -105,20 +105,20 @@ then chown :6002 /opt/dbspace/.internet_bookmark.db-journal chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-credential.db chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-credential.db-journal - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-notification.db - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-notification.db-journal + chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db + chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db-journal chmod 660 /opt/apps/org.tizen.browser/data/db/.browser.db chmod 660 /opt/apps/org.tizen.browser/data/db/.browser.db-journal chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db-journal chmod 666 /opt/dbspace/.browser-history.db chmod 666 /opt/dbspace/.browser-history.db-journal - chmod 660 /opt/dbspace/.internet_bookmark.db - chmod 660 /opt/dbspace/.internet_bookmark.db-journal + chmod 660 /opt/dbspace/.internet_bookmark.db + chmod 660 /opt/dbspace/.internet_bookmark.db-journal chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-credential.db chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-credential.db-journal - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-notification.db - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-notification.db-journal + chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db + chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db-journal fi ################################################## @@ -126,92 +126,9 @@ fi ################################################## if [ ${USER} == "root" ] then - vconftool set -t bool db/browser/ShowMySitesGuide 1 -g 6514 - vconftool set -t string db/browser/Last/Url "" -g 6514 - vconftool set -t string db/browsersetting/LastVisitedUrl "" -g 6514 - vconftool set -t int db/browser/BrowserBrightnessLevel -1 -g 6514 -# Browser settings vconf values -# Set vconf values with -g/-u options - vconftool set -t string db/browsersetting/Homepage "Most visited sites" -g 6514 # "Most visited sites", "user set site", "Empty page" - vconftool set -t string db/browsersetting/HomepageMode "MOST_VISITED_SITES" -g 6514 - vconftool set -t string db/browsersetting/UserAgent "Tizen" -g 6514 - vconftool set -t string db/browsersetting/UserHomepage "www.tizen.org" -g 6514 # default site is www.tizen.org - vconftool set -t string db/browsersetting/DefaultViewLevel "Readable" -g 6514 # "Readable", "Fit to width" - vconftool set -t bool db/browsersetting/EnableLandscape 1 -g 6514 - vconftool set -t bool db/browsersetting/RunJavaScript 1 -g 6514 - vconftool set -t bool db/browsersetting/DisplayImages 1 -g 6514 - vconftool set -t bool db/browsersetting/BlockPopup 1 -g 6514 - vconftool set -t string db/browsersetting/AutoSaveIDPassword "Always ask" -g 6514 # "On", "Off" - vconftool set -t string db/browsersetting/SaveIDPassword "ALWAYS_ASK" -g 6514 # "On", "Off" - vconftool set -t string db/browsersetting/CustomUserAgent "" -g 6514 - # set default vconf value for reader - vconftool set -t bool db/browsersetting/RunReader 1 -g 6514 - vconftool set -t int db/browsersetting/FontSize 16 -g 6514 - # set default vconf value for plugins - vconftool set -t bool db/browsersetting/RunPlugins 1 -g 6514 - vconftool set -t bool db/browsersetting/RunFlash 0 -g 6514 - vconftool set -t bool db/browsersetting/PauseFlash 1 -g 6514 - # set search vconf - vconftool set -t string db/browsersetting/SearchEngine "Google" -g 6514 # "Google", "Yahoo", "Bing" - vconftool set -t string db/browsersetting/SearchUrl "http://www.google.com/m/search?q=" -g 6514 - vconftool set -t bool db/browsersetting/SearchCaseSensitive 0 -g 6514 - # privacy - vconftool set -t string db/browsersetting/CookieOption "Accept all" -g 6514 - vconftool set -t bool db/browsersetting/CookieOptionInt 1 -g 6514 - # performance - vconftool set -t bool db/browsersetting/FastRendering 1 -g 6514 - vconftool set -t bool db/browsersetting/LargeRenderingBuffer 1 -g 6514 - vconftool set -t bool db/browsersetting/AcceleratedComposition 1 -g 6514 - vconftool set -t bool db/browsersetting/SamsungAppsInstall 0 -g 6514 - vconftool set -t bool db/browsersetting/ExternalVideoPlayer 0 -g 6514 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/CompositedRenderLayerBorders 0 -g 6514 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/PhysicsEngine 0 -g 6514 - vconftool set -t bool db/browsersetting/RecordingSurface 0 -g 6514 - vconftool set -t bool db/browsersetting/RemoteWebInspector 0 -g 6514 - vconftool set -t bool db/browsersetting/DemoSetting 0 -g 6514 - vconftool set -t bool db/browsersetting/DemoMode 0 -g 6514 + vconftool set -t string db/browser/browser_user_agent "System user agent" -g 6514 -f + vconftool set -t string db/browser/custom_user_agent "" -g 6514 -f else - vconftool set -t bool db/browser/ShowMySitesGuide 1 - vconftool set -t string db/browser/Last/Url "" - vconftool set -t string db/browsersetting/LastVisitedUrl "" - vconftool set -t int db/browser/BrowserBrightnessLevel -1 -# Browser settings vconf values -# Set without -g, -u options - vconftool set -t string db/browsersetting/Homepage "Recently visited site" # "Recently visited site", "user set site", "Empty page" - vconftool set -t string db/browsersetting/HomepageMode "MOST_VISITED_SITES" - vconftool set -t string db/browsersetting/UserHomepage "www.tizen.org" # default site is www.tizen.org - vconftool set -t string db/browsersetting/UserAgent "Tizen" - vconftool set -t string db/browsersetting/DefaultViewLevel "Readable" # "Readable", "Fit to width" - vconftool set -t bool db/browsersetting/EnableLandscape 1 - vconftool set -t bool db/browsersetting/RunJavaScript 1 - vconftool set -t bool db/browsersetting/DisplayImages 1 - vconftool set -t bool db/browsersetting/BlockPopup 1 - vconftool set -t string db/browsersetting/AutoSaveIDPassword "Always ask" # "On", "Off" - vconftool set -t string db/browsersetting/SaveIDPassword "ALWAYS_ASK" - vconftool set -t string db/browsersetting/CustomUserAgent "" - # set default vconf value for reader - vconftool set -t bool db/browsersetting/RunReader 1 - vconftool set -t int db/browsersetting/FontSize 16 - # set default vconf value for plugins - vconftool set -t bool db/browsersetting/RunPlugins 1 - vconftool set -t bool db/browsersetting/RunFlash 0 - # set search vconf - vconftool set -t string db/browsersetting/SearchEngine "Google" # "Google", "Yahoo", "Bing" - vconftool set -t string db/browsersetting/SearchUrl "http://www.google.com/m/search?q=" - vconftool set -t bool db/browsersetting/SearchCaseSensitive 0 - # privacy - vconftool set -t string db/browsersetting/CookieOption "Accept all" - vconftool set -t bool db/browsersetting/CookieOptionInt 1 - # performance - vconftool set -t bool db/browsersetting/FastRendering 1 - vconftool set -t bool db/browsersetting/LargeRenderingBuffer 1 - vconftool set -t bool db/browsersetting/AcceleratedComposition 1 - vconftool set -t bool db/browsersetting/SamsungAppsInstall 0 - vconftool set -t bool db/browsersetting/ExternalVideoPlayer 0 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/CompositedRenderLayerBorders 0 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/PhysicsEngine 0 - vconftool set -t bool db/browsersetting/RecordingSurface 0 - vconftool set -t bool db/browsersetting/RemoteWebInspector 0 - vconftool set -t bool db/browsersetting/DemoMode 0 - vconftool set -t bool db/browsersetting/DemoSetting 0 + vconftool set -t string db/browser/browser_user_agent "System user agent" -f + vconftool set -t string db/browser/custom_user_agent "" -f fi diff --git a/debian/rules b/debian/rules index ba9c4b8a..6741af24 100755 --- a/debian/rules +++ b/debian/rules @@ -32,7 +32,7 @@ endif CFLAGS += -fPIC CXXFLAGS += -fPIC -LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--hash-style=both -Wl,--as-needed +LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--hash-style=both -Wl,--as-needed -pie configure: configure-stamp configure-stamp: @@ -79,9 +79,11 @@ clean: rm -rf po/Makefile rm -rf po/install_manifest.txt - rm -rf browser.edj - rm -rf browser_theme.edj - rm -rf ug_effect.edj + rm -rf edc/browser-define.edj + rm -rf edc/browser-macro.edj + rm -rf edc/ug-effect.edj + rm -rf edc/browser-view-main.edj + rm -rf edc/browser-view-navigation-bar.edj ifneq "$(wildcard /usr/share/misc/config.sub)" "" cp -f /usr/share/misc/config.sub config.sub @@ -136,7 +138,7 @@ binary-arch: build install # dh_perl dh_makeshlibs dh_installdeb - dh_shlibdeps + dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info dh_gencontrol dh_md5sums dh_builddeb diff --git a/edc/browser-bookmark-view.edc b/edc/browser-bookmark-view.edc index 75f011c2..e100f29b 100755 --- a/edc/browser-bookmark-view.edc +++ b/edc/browser-bookmark-view.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" diff --git a/edc/browser-define.edc b/edc/browser-define.edc index bafc8f29..3a0d2657 100755 --- a/edc/browser-define.edc +++ b/edc/browser-define.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" @@ -242,25 +243,51 @@ collections { } BUTTON_WITH_BG(title_back, "icon/I01_title_btn.png", - "icon/I01_title_btn_press.png", "icon/I01_btn_back.png", 6, 6, 6, 6, 124, 74, 56, 56); + "icon/I01_title_btn_press.png", "icon/I01_btn_back.png", "icon/I01_btn_back.png", 6, 6, 6, 6, 124, 74, 56, 56); BUTTON_WITH_BG(bookmark_controlbar_back, "icon/I01_Back_btn_normal.png", - "icon/I01_Back_btn_press.png", "icon/I01_btn_back.png", 7, 7, 7, 7, 112, 82, 56, 56); + "icon/I01_Back_btn_press.png", "icon/I01_btn_back.png", "icon/I01_btn_back.png", 7, 7, 7, 7, 112, 82, 56, 56); + +BUTTON_WITH_BG(browser_view_controlbar_back, "icon/I01_title_btn.png", + "icon/I01_title_btn_press.png", "icon/I01_btn_back.png", "icon/I01_btn_back.png", 6, 6, 6, 6, 112, 82, 56, 56); + +BUTTON_WITH_BG(most_visited_sites_setting, "icon/I01_picker_btn_normal.png", + "icon/I01_picker_btn_press.png", "icon/I01_icon_setting.png", "icon/I01_icon_setting.png", 6, 6, 6, 6, 144, 60, 42, 42); + +BUTTON(most_visited_sites_done, "icon/I01_picker_btn_normal.png", + "icon/I01_picker_btn_press.png", 6, 6, 6, 6); BUTTON_WITH_BG(find_word_prev, "icon/I01_btn_normal.png", - "icon/I01_btn_press.png", "icon/I01_picker_arrow_left.png", 0, 0, 0, 0, 74, 74, 74, 74); + "icon/I01_btn_press.png", "icon/I01_picker_arrow_left.png", "icon/I01_picker_arrow_left.png", 0, 0, 0, 0, 64, 64, 64, 64); BUTTON_WITH_BG(find_word_next, "icon/I01_btn_normal.png", - "icon/I01_btn_press.png", "icon/I01_picker_arrow_right.png", 0, 0, 0, 0, 74, 74, 74, 74); + "icon/I01_btn_press.png", "icon/I01_picker_arrow_right.png", "icon/I01_picker_arrow_right.png", 0, 0, 0, 0, 64, 64, 64, 64); + +FIND_BUTTON_WITH_BG(find_word_prev_but, "icon/I01_btn_normal.png", + "icon/I01_btn_press.png", "icon/I01_picker_arrow_left.png", "icon/I01_btn_dim.png", 0, 0, 0, 0, 64, 64, 64, 64); + +FIND_BUTTON_WITH_BG(find_word_next_but, "icon/I01_btn_normal.png", + "icon/I01_btn_press.png", "icon/I01_picker_arrow_right.png", "icon/I01_btn_dim.png", 0, 0, 0, 0, 64, 64, 64, 64); + +BUTTON_WITH_BG(reader_icon, "icon/I01_title_btn.png", + "icon/I01_title_btn_press.png", "icon/I01_fit_screen.png", "icon/I01_fit_screen.png", 7, 7, 7, 7, 74, 64, 74, 64); + +TITLE_BUTTON(title_button, "icon/I01_title_btn_blue.png", + "icon/I01_title_btn_blue_press.png", 6, 6, 6, 6); -BUTTON_WITH_BG(reader_icon, "icon/I01_btn_normal.png", - "icon/I01_btn_press.png", "icon/I01_fit_screen.png", 0, 0, 0, 0, 74, 74, 74, 74); +TITLE_BUTTON(cancel_button, "icon/I01_title_btn.png", + "icon/I01_title_btn_press.png", 7, 7, 7, 7); -TITLE_BUTTON(title_button, "icon/I01_title_btn.png", - "icon/I01_title_btn_press.png", 6, 6, 6, 6); +BUTTON_WITH_TEXT(multi_window_cancel_button, "icon/I01_title_btn.png", + "icon/I01_title_btn_press.png", 6, 6, 6, 6, 112, 82); -TITLE_BUTTON(close_button, "icon/I01_Option_header_bt.png", - "icon/I01_Option_header_bt_press.png", 4, 4, 4, 4); +BUTTON_WITH_BG(backward, "icon/I01_title_btn.png", + "icon/I01_title_btn_press.png", "icon/I01_title_btn_icon_previous.png", "icon/I01_title_btn_icon_previous_disable.png", 7, 7, 7, 7, 78, 66, 42, 42); +BUTTON_WITH_BG(forward, "icon/I01_title_btn.png", + "icon/I01_title_btn_press.png", "icon/I01_title_btn_icon_next.png", "icon/I01_title_btn_icon_next_disable.png", 7, 7, 7, 7, 78, 66, 42, 42); + +BUTTON(ok_button, "browser-view-images/most-visited-sites/I01_button_popup_normal.png", + "browser-view-images/most-visited-sites/I01_button_popup_press.png", 4, 4, 4, 4); /* ifdef ZOOM_BUTTON */ ZOOM_BUTTON(zoom_out, "browser-view-images/00_zoom_out.png", @@ -284,21 +311,10 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", mouse_events: 1; scale: 1; description { state: "default" 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 20 50; -#else min: 30 75; -#endif color: 0 0 0 0; -#ifdef WVGA_NBEAT // 480 * 800 - rel1.offset: 5 5; - rel2.offset: -6 -6; -#else -// rel1.offset: 7 7; -// rel2.offset: -9 -9; rel1.offset: 7 12; rel2.offset: -9 -4; -#endif image.normal: "icon/I01_Option_header_bt.png"; image.border: 4 4 4 4; color: 255 255 255 255; @@ -321,11 +337,7 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", align: 0.0 0.0; rel1.relative: 0.0 0.0; rel2.relative: 0.0 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 10 5; -#else min: 15 7; -#endif fixed: 1 1; visible: 0; } @@ -339,11 +351,7 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", align: 1.0 1.0; rel1.relative: 1.0 1.0; rel2.relative: 1.0 1.0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 10 5; -#else min: 15 7; -#endif fixed: 1 1; visible: 0; } @@ -364,11 +372,7 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", } description { state: "visible" 0.0; visible: 1; -#ifdef WVGA_NBEAT // 480 * 800 - min: 22 22; -#else min: 33 33; -#endif fixed: 1 0; rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 1.0 0.0; to_x: "padding_left_top"; to_y: "padding_right_bottom"; } @@ -398,11 +402,7 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", rel1 { relative: 1.0 0.0; to: "icon_rect"; } rel2 { relative: 1.0 1.0; to: "icon_rect"; } fixed: 1 0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 6 0; -#else min: 9 0; -#endif color: 0 0 0 0; } description { state: "icononly" 0.0; @@ -419,11 +419,7 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", rel1 { relative: 0.0 1.0; to_x: "elm.text"; to_y: "padding_left_top"; } rel2 { relative: 0.0 0.0; to_x: "elm.text"; to_y: "padding_right_bottom"; } fixed: 1 0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 6 0; -#else min: 9 0; -#endif color: 0 0 0 0; } } @@ -441,13 +437,8 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", description { state: "visible" 0.0; fixed: 1 0; visible: 1; -#ifdef WVGA_NBEAT // 480 * 800 - min: 22 22; - max: 22 22; -#else min: 33 33; max: 33 33; -#endif align: 1.0 0.5; rel1 { relative: 0.0 1.0; to_x: "padding_before_text"; to_y: "padding_left_top"; } rel2 { relative: 0.0 0.0; to_x: "padding_before_text"; to_y: "padding_right_bottom"; } @@ -456,13 +447,8 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", } description { state: "icononly" 0.0; visible: 1; -#ifdef WVGA_NBEAT // 480 * 800 - min: 30 30; - max: 30 30; -#else min: 45 45; max: 45 45; -#endif rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 0.0 0.0; to: "padding_right_bottom"; } align: 0.5 0.5; @@ -483,13 +469,8 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", color: 255 255 255 255; text { font: "SLP:style=Medium"; -#ifdef WVGA_NBEAT // 480 * 800 - size: 20; -#else size: 30; -#endif min: 0 0; -// align: 0.5 0.5; align: 0.5 0.6; max: 1 0; } @@ -711,18 +692,8 @@ ZOOM_BUTTON(zoom_in, "browser-view-images/00_zoom_in.png", } } -#ifdef WVGA_NBEAT // 480 * 800 - -#define BUTTON_NAVIBAR_BACK_BUTTON_BUTTON_IMAGE_MIN_INC 67 40 -#define BUTTON_NAVIBAR_BACK_BUTTON_BG_MIN_MAX_INC 22 20 - -#else - #define BUTTON_NAVIBAR_BACK_BUTTON_BUTTON_IMAGE_MIN_INC 100 60 #define BUTTON_NAVIBAR_BACK_BUTTON_BG_MIN_MAX_INC 33 30 - -#endif - #define NAVIBAR_TITLE_RIGHT_SEPARATOR_COLOR_INC 84 93 110 255 #define NAVIBAR_TITLE_LEFT_SEPARATOR_COLOR_INC 35 45 61 255 diff --git a/edc/browser-macro.edc b/edc/browser-macro.edc index e8c72de7..5315c17b 100755 --- a/edc/browser-macro.edc +++ b/edc/browser-macro.edc @@ -1,19 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #define GENLIST_PART_BOTTOM_LINE_INC 199 199 199 255 #define GENLIST_PART_BG_COLOR_INC 249 249 249 255 #define GENLIST_PART_BG_SELECTED_COLOR_INC 50 65 74 180 @@ -50,7 +51,7 @@ } \ styles { \ style { name: #button_name"btn_textblock_style"; \ - base: "font=FONT_CONTENT font_size=30 align=center color=#4E4945 wrap=char"; \ + base: "font=FONT_CONTENT font_size=30 align=center color=#FFFFFF wrap=char"; \ tag: "br" "\n"; \ tag: "hilight" "+ font=FONT_CONTENT:style=Bold"; \ tag: "b" "+ font=FONT_CONTENT:style=Bold"; \ @@ -742,16 +743,253 @@ } \ } -#define BUTTON_WITH_BG(button_name, normal_image, press_image, main_image, l, r, t, b, bg_w, bg_h, main_image_w, main_image_h) \ +#define BUTTON_WITH_TEXT(button_name, normal_image, press_image, l, r, t, b, bg_w, bg_h) \ + group { name: "elm/button/base/browser/"#button_name; \ + images { \ + image: normal_image COMP; \ + image: press_image COMP; \ + } \ + styles { \ + style { name: #button_name"btn_textblock_style"; \ + base: "font=FONT_CONTENT font_size=24 align=center color=#FFFFFF wrap=char"; \ + tag: "br" "\n"; \ + tag: "hilight" "+ font=FONT_CONTENT:style=Bold"; \ + tag: "b" "+ font=FONT_CONTENT:style=Bold"; \ + tag: "tab" "\t"; \ + } \ + } \ + parts { \ + part { name: "button_image"; \ + mouse_events: 1; \ + scale: 1; \ + effect: SOFT_SHADOW; \ + description { state: "default" 0.0; \ + align: 0.0 0.5; \ + min: bg_w bg_h; \ + max: bg_w bg_h; \ + fixed: 1 1; \ + image { \ + normal: normal_image; \ + border: l r t b; \ + } \ + } \ + description { state: "clicked" 0.0; \ + inherit: "default" 0.0; \ + image.normal: press_image; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + image.normal: normal_image; \ + } \ + } \ + part { name: "elm.text"; \ + type: TEXTBLOCK; \ + effect: SHADOW; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + visible: 0; \ + fixed: 1 1; \ + align: 0.5 0.5; \ + rel1 { relative: 0.1 0; to: "button_image"; } \ + rel2 { relative: 0.9 1; to: "button_image"; } \ + color: 255 255 255 255; \ + text { \ + style: #button_name"btn_textblock_style"; \ + min: 0 0; \ + max: 0 1; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + min: 1 1; \ + } \ + description { state: "clicked" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + min: 1 1; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color: 0 0 0 128; \ + color3: 0 0 0 0; \ + } \ + description { state: "disabled_visible" 0.0; \ + inherit: "default" 0.0; \ + color: 0 0 0 128; \ + color3: 0 0 0 0; \ + visible: 1; \ + min: 1 1; \ + } \ + } \ + part { name: "over1"; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel2.relative: 1.0 0.5; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + } \ + } \ + part { name: "over2"; \ + mouse_events: 1; \ + repeat_events: 1; \ + ignore_flags: ON_HOLD; \ + description { state: "default" 0.0; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + } \ + part { name: "over3"; \ + mouse_events: 1; \ + repeat_events: 1; \ + description { state: "default" 0.0; \ + color: 255 255 255 0; \ + } \ + description { state: "clicked" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + color: 255 255 255 0; \ + } \ + } \ + part { name: "disabler"; \ + type: RECT; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + visible: 0; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } \ + } \ + programs { \ + program { name: "button_click"; \ + signal: "mouse,down,1"; \ + source: "over2"; \ + action: SIGNAL_EMIT "elm,action,press" ""; \ + after: "button_click_anim"; \ + } \ + program { name: "button_click_anim"; \ + action: STATE_SET "clicked" 0.0; \ + target: "button_image"; \ + target: "elm.text"; \ + } \ + program { name: "button_unclick"; \ + signal: "mouse,up,1"; \ + source: "over2"; \ + action: SIGNAL_EMIT "elm,action,unpress" ""; \ + after: "button_unclick_anim"; \ + } \ + program { name: "button_unclick_anim"; \ + action: STATE_SET "default" 0.0; \ + target: "button_image"; \ + action: STATE_SET "visible" 0.0; \ + target: "elm.text"; \ + } \ + program { name: "button_mouseout_clicked"; \ + signal: "mouse,out"; \ + source: "over2"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "clicked")) \ + { \ + set_state(PART:"elm.text", "visible", 0.0); \ + set_state(PART:"button_image", "visible", 0.0); \ + } \ + } \ + } \ + program { name: "button_click2"; \ + signal: "mouse,down,1"; \ + source: "over3"; \ + action: STATE_SET "clicked" 0.0; \ + target: "over3"; \ + } \ + program { name: "button_unclick2"; \ + signal: "mouse,clicked,1"; \ + source: "over3"; \ + action: STATE_SET "default" 0.0; \ + target: "over3"; \ + } \ + program { name: "button_unclick3"; \ + signal: "mouse,clicked,1"; \ + source: "over2"; \ + action: SIGNAL_EMIT "elm,action,click" ""; \ + } \ + program { name: "text_show"; \ + signal: "elm,state,text,visible"; \ + source: "elm"; \ + action: STATE_SET "visible" 0.0; \ + target: "elm.text"; \ + } \ + program { name: "text_hide"; \ + signal: "elm,state,text,hidden"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "elm.text"; \ + } \ + program { name: "disable"; \ + signal: "elm,state,disabled"; \ + source: "elm"; \ + action: STATE_SET "disabled" 0.0; \ + target: "button_image"; \ + target: "over1"; \ + target: "over2"; \ + target: "disabler"; \ + after: "disable_text"; \ + } \ + program { name: "disable_text"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "visible")) \ + set_state(PART:"elm.text", "disabled_visible", 0.0); \ + else \ + set_state(PART:"elm.text", "disabled", 0.0); \ + } \ + } \ + program { name: "enable"; \ + signal: "elm,state,enabled"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "button_image"; \ + target: "over1"; \ + target: "over2"; \ + target: "disabler"; \ + after: "enable_text"; \ + } \ + program { name: "enable_text"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "disabled_visible")) \ + set_state(PART:"elm.text", "visible", 0.0); \ + else \ + set_state(PART:"elm.text", "default", 0.0); \ + } \ + } \ + } \ + } + +#define BUTTON_WITH_BG(button_name, normal_image, press_image, main_image, main_image_disable, l, r, t, b, bg_w, bg_h, main_image_w, main_image_h) \ group { name: "elm/button/base/browser/"#button_name; \ images { \ image: normal_image COMP; \ image: press_image COMP; \ image: main_image COMP; \ + image: main_image_disable COMP; \ } \ styles { \ style { name: #button_name"btn_textblock_style"; \ - base: "font=FONT_CONTENT font_size=21 align=center color=#000000 wrap=char"; \ + base: "font=FONT_CONTENT font_size=21 align=center color=#FFFFFF wrap=char"; \ tag: "br" "\n"; \ tag: "hilight" "+ font=FONT_CONTENT:style=Bold"; \ tag: "b" "+ font=FONT_CONTENT:style=Bold"; \ @@ -798,6 +1036,10 @@ normal: main_image; \ } \ } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + image.normal: main_image_disable; \ + } \ } \ part { name: "elm.text"; \ type: TEXTBLOCK; \ @@ -959,6 +1201,7 @@ target: "over1"; \ target: "over2"; \ target: "disabler"; \ + target: "main_image"; \ after: "disable_text"; \ } \ program { name: "disable_text"; \ @@ -980,6 +1223,7 @@ target: "over1"; \ target: "over2"; \ target: "disabler"; \ + target: "main_image"; \ after: "enable_text"; \ } \ program { name: "enable_text"; \ @@ -996,6 +1240,262 @@ } \ } +#define FIND_BUTTON_WITH_BG(button_name, normal_image, press_image, arrow_image, disable_image, l, r, t, b, bg_w, bg_h, main_image_w, main_image_h) \ + group { name: "elm/button/base/browser/"#button_name; \ + images { \ + image: normal_image COMP; \ + image: press_image COMP; \ + image: arrow_image COMP; \ + image: disable_image COMP; \ + } \ + styles { \ + style { name: #button_name"btn_textblock_style"; \ + base: "font=FONT_CONTENT font_size=21 align=center color=#FFFFFF wrap=char"; \ + tag: "br" "\n"; \ + tag: "hilight" "+ font=FONT_CONTENT:style=Bold"; \ + tag: "b" "+ font=FONT_CONTENT:style=Bold"; \ + tag: "tab" "\t"; \ + } \ + } \ + parts { \ + part { name: "button_image"; \ + mouse_events: 1; \ + scale: 1; \ + effect: SOFT_SHADOW; \ + description { state: "default" 0.0; \ + align: 0.0 0.5; \ + min: bg_w bg_h; \ + max: bg_w bg_h; \ + fixed: 1 1; \ + image { \ + normal: normal_image; \ + border: l r t b; \ + } \ + } \ + description { state: "clicked" 0.0; \ + inherit: "default" 0.0; \ + image.normal: press_image; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + image.normal: disable_image; \ + } \ + } \ + part { name: "arrow_image"; \ + mouse_events: 1; \ + scale: 1; \ + repeat_events: 1; \ + effect: SOFT_SHADOW; \ + description { state: "default" 0.0; \ + min: main_image_w main_image_h; \ + max: main_image_w main_image_h; \ + fixed: 1 1; \ + align: 0.5 0.5; \ + rel1 { relative: 0.0 0.0; to: "button_image"; } \ + rel2 { relative: 1.0 1.0; to: "button_image"; } \ + image { \ + normal: arrow_image; \ + } \ + } \ + } \ + part { name: "elm.text"; \ + type: TEXTBLOCK; \ + effect: SHADOW; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + visible: 0; \ + fixed: 1 1; \ + align: 0.5 0.5; \ + rel1 { relative: 0.1 0; to: "button_image"; } \ + rel2 { relative: 0.9 1; to: "button_image"; } \ + color: 0 0 0 255; \ + text { \ + style: #button_name"btn_textblock_style"; \ + min: 0 0; \ + max: 0 1; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + min: 1 1; \ + } \ + description { state: "clicked" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + min: 1 1; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color: 0 0 0 128; \ + color3: 0 0 0 0; \ + } \ + description { state: "disabled_visible" 0.0; \ + inherit: "default" 0.0; \ + color: 0 0 0 128; \ + color3: 0 0 0 0; \ + visible: 1; \ + min: 1 1; \ + } \ + } \ + part { name: "over1"; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel2.relative: 1.0 0.5; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + } \ + } \ + part { name: "over2"; \ + mouse_events: 1; \ + repeat_events: 1; \ + ignore_flags: ON_HOLD; \ + description { state: "default" 0.0; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + } \ + part { name: "over3"; \ + mouse_events: 1; \ + repeat_events: 1; \ + description { state: "default" 0.0; \ + color: 255 255 255 0; \ + } \ + description { state: "clicked" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + color: 255 255 255 0; \ + } \ + } \ + part { name: "disabler"; \ + type: RECT; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + visible: 0; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } \ + } \ + programs { \ + program { name: "button_click"; \ + signal: "mouse,down,1"; \ + source: "over2"; \ + action: SIGNAL_EMIT "elm,action,press" ""; \ + after: "button_click_anim"; \ + } \ + program { name: "button_click_anim"; \ + action: STATE_SET "clicked" 0.0; \ + target: "button_image"; \ + target: "elm.text"; \ + } \ + program { name: "button_unclick"; \ + signal: "mouse,up,1"; \ + source: "over2"; \ + action: SIGNAL_EMIT "elm,action,unpress" ""; \ + after: "button_unclick_anim"; \ + } \ + program { name: "button_unclick_anim"; \ + action: STATE_SET "default" 0.0; \ + target: "button_image"; \ + action: STATE_SET "visible" 0.0; \ + target: "elm.text"; \ + } \ + program { name: "button_mouseout_clicked"; \ + signal: "mouse,out"; \ + source: "over2"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "clicked")) \ + { \ + set_state(PART:"elm.text", "visible", 0.0); \ + set_state(PART:"button_image", "visible", 0.0); \ + } \ + } \ + } \ + program { name: "button_click2"; \ + signal: "mouse,down,1"; \ + source: "over3"; \ + action: STATE_SET "clicked" 0.0; \ + target: "over3"; \ + } \ + program { name: "button_unclick2"; \ + signal: "mouse,clicked,1"; \ + source: "over3"; \ + action: STATE_SET "default" 0.0; \ + target: "over3"; \ + } \ + program { name: "button_unclick3"; \ + signal: "mouse,clicked,1"; \ + source: "over2"; \ + action: SIGNAL_EMIT "elm,action,click" ""; \ + } \ + program { name: "text_show"; \ + signal: "elm,state,text,visible"; \ + source: "elm"; \ + action: STATE_SET "visible" 0.0; \ + target: "elm.text"; \ + } \ + program { name: "text_hide"; \ + signal: "elm,state,text,hidden"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "elm.text"; \ + } \ + program { name: "disable"; \ + signal: "elm,state,disabled"; \ + source: "elm"; \ + action: STATE_SET "disabled" 0.0; \ + target: "button_image"; \ + target: "over1"; \ + target: "over2"; \ + target: "disabler"; \ + target: "button_image"; \ + after: "disable_text"; \ + } \ + program { name: "disable_text"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "visible")) \ + set_state(PART:"elm.text", "disabled_visible", 0.0); \ + else \ + set_state(PART:"elm.text", "disabled", 0.0); \ + } \ + } \ + program { name: "enable"; \ + signal: "elm,state,enabled"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "button_image"; \ + target: "over1"; \ + target: "over2"; \ + target: "disabler"; \ + target: "arrow_image"; \ + after: "enable_text"; \ + } \ + program { name: "enable_text"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "disabled_visible")) \ + set_state(PART:"elm.text", "visible", 0.0); \ + else \ + set_state(PART:"elm.text", "default", 0.0); \ + } \ + } \ + } \ + } #define BROWSER_GENLIST_PART_DISCLIP \ part { name: "disclip"; \ type: RECT; \ diff --git a/edc/browser-most-visited.edc b/edc/browser-most-visited.edc new file mode 100644 index 00000000..53f76da5 --- /dev/null +++ b/edc/browser-most-visited.edc @@ -0,0 +1,525 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "browser-macro.edc" + +collections { +BUTTON(most_visited_item, "browser-view-images/most-visited/I01_favicon_box.png", + "browser-view-images/most-visited/41_browser_favicon_box_press.png", 4, 4, 4, 4); + + group { + name: "browser/most-visited"; + images { + image: "browser-view-images/most-visited/I01_favicon_bg.png" COMP; + } + parts { + part { name: "bg"; + mouse_events: 0; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 0 141; + fixed: 0 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + image.normal: "browser-view-images/most-visited/I01_favicon_bg.png"; + image.border: 1 1 1 5; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + } + description { + state: "edit_mode_state" 0.0; + inherit: "default" 0.0; + min: 0 219; + } + description { + state: "landscape" 0.0; + inherit: "default" 0.0; + min: 0 96; + } + } + part { + name: "elm.text.most_visited_title"; + type: TEXT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 0 52; + fixed: 0 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 1.0 0.0; to: "bg"; } + color: 81 84 84 255; + text { + font: FONT_MED; + size: 30; + align: 0.5 0.5; + } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + } + description { + state: "landscape" 0.0; + inherit: "default" 0.0; + align: 0.5 0.0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 0.0 1.0; to_x: "elm.swallow.most_visited"; to_y: "bg"; } + } + description { + state: "landscape_edit_mode_state" 0.0; + inherit: "default" 0.0; + align: 0.5 0.0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 0.0 1.0; to_x: "elm.swallow.done"; to_y: "bg"; } + } + } + part { + name: "padding,item_box_right"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 40 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { relative: 1.0 0.0; to: "bg"; } + rel2 { relative: 1.0 1.0; to: "bg"; } + color: 0 0 0 0; + } + } + part { + name: "padding,item_box_top"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 10; + fixed: 0 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 1.0 0.0; to: "bg"; } + color: 0 0 0 0; + } + } + part { + name: "elm.swallow.most_visited"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 1.0; to: "elm.text.most_visited_title"; } + rel2 { relative: 1.0 1.0; to: "bg"; } + } + description { + state: "landscape" 0.0; + inherit: "default" 0.0; + visible: 1; + min: 690 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { relative: 0.0 1.0; to_x: "padding,item_box_right"; to_y: "padding,item_box_top"; } + rel2 { relative: 0.0 1.0; to_x: "padding,item_box_right"; to_y: "bg"; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "padding,most_visited_guide_text_top"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 15; + fixed: 0 1; + align: 0.0 1.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.most_visited"; } + rel2 { relative: 1.0 0.0; to: "elm.swallow.most_visited"; } + color: 0 0 0 0; + } + } + part { + name: "padding,most_visited_guide_text_bottom"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 15; + fixed: 0 1; + align: 0.0 1.0; + rel1 { relative: 0.0 1.0; to: "elm.swallow.most_visited"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.most_visited"; } + color: 0 0 0 0; + } + } + part { + name: "padding,most_visited_guide_text_bg_bottom"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 15; + fixed: 0 1; + align: 0.0 0.0; + rel1 { relative: 0.0 1.0; to: "elm.swallow.most_visited_guide_text"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.most_visited_guide_text"; } + color: 0 0 0 0; + } + } + part { name: "most_visited_guide_text_bg"; + mouse_events: 0; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.most_visited_guide_text"; } + rel2 { relative: 1.0 1.0; to: "padding,most_visited_guide_text_bg_bottom"; } + image.normal: "browser-view-images/most-visited/I01_favicon_bg.png"; + image.border: 1 1 1 5; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "elm.swallow.most_visited_guide_text"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + fixed: 1 1; + rel1 { relative: 0.0 0.0; to: "padding,most_visited_guide_text_top"; } + rel2 { relative: 1.0 1.0; to: "padding,most_visited_guide_text_bottom"; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "padding,done_right"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 15 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { relative: 1.0 0.0; to: "bg"; } + rel2 { relative: 1.0 1.0; to: "bg"; } + color: 0 0 0 0; + } + } + part { + name: "padding,done_bottom"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 15; + fixed: 0 1; + align: 0.0 1.0; + rel1 { relative: 0.0 1.0; to: "bg"; } + rel2 { relative: 1.0 1.0; to: "bg"; } + color: 0 0 0 0; + } + } + part { + name: "padding,done_right_for_landscape"; // padding + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 40 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { relative: 0.0 0.0; to_x: "elm.swallow.most_visited"; } + rel2 { relative: 0.0 1.0; to_x: "elm.swallow.most_visited"; } + color: 0 0 0 0; + } + } + part { + name: "elm.swallow.done"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 135 63; + max: 135 63; + fixed: 1 1; + align: 1.0 1.0; + rel1 { relative: 0.0 0.0; to_x: "padding,done_right"; to_y: "padding,done_bottom"; } + rel2 { relative: 0.0 0.0; to_x: "padding,done_right"; to_y: "padding,done_bottom"; } + } + description { + state: "edit_mode_state" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "landscape_edit_mode_state" 0.0; + inherit: "default" 0.0; + visible: 1; + align: 1.0 0.4; + rel1 { relative: 0.0 0.0; to_x: "padding,done_right_for_landscape"; to_y: "bg"; } + rel2 { relative: 0.0 1.0; to_x: "padding,done_right_for_landscape"; to_y: "bg"; } + } + } + } + + programs { + ////////////////////////////////////////////////////////////// + // most visited edit mode on/off (by longpress on each item) + ////////////////////////////////////////////////////////////// + program { name: "most_visited,edit_mode"; + signal: "most_visited,edit_mode,signal"; + transition: LINEAR 0.2; + action: STATE_SET "edit_mode_state" 0.0; + target: "bg"; + after: "show,done_button"; + } + program { name: "most_visited,normal_mode"; + transition: LINEAR 0.2; + action: STATE_SET "default" 0.0; + target: "bg"; + } + program { name: "most_visited,landscape_edit_mode"; + signal: "most_visited,landscape_edit_mode,signal"; + action: STATE_SET "landscape_edit_mode_state" 0.0; + target: "elm.swallow.done"; + target: "elm.text.most_visited_title"; + } + program { name: "most_visited,landscape_normal_mode"; + signal: "most_visited,landscape_normal_mode,signal"; + action: STATE_SET "landscape" 0.0; + target: "elm.swallow.done"; + target: "elm.text.most_visited_title"; + } + + ////////////////////////////////////////////////////////////// + // portrait / landscape mode + ////////////////////////////////////////////////////////////// + program { name: "most_visited,portrait"; + signal: "most_visited,portrait,signal"; + action: STATE_SET "default" 0.0; + target: "bg"; + target: "elm.swallow.most_visited"; + target: "elm.text.most_visited_title"; + } + program { name: "most_visited,landscape"; + signal: "most_visited,landscape,signal"; + action: STATE_SET "landscape" 0.0; + target: "bg"; + target: "elm.swallow.most_visited"; + target: "elm.text.most_visited_title"; + } + + ////////////////////////////////////////////////////////////// + // show / hide done button + ////////////////////////////////////////////////////////////// + program { name: "show,done_button"; + action: STATE_SET "edit_mode_state" 0.0; + target: "elm.swallow.done"; + } + program { name: "hide,done_button"; + signal: "most_visited,normal_mode,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.done"; + after: "most_visited,normal_mode"; + } + + ////////////////////////////////////////////////////////////// + // show / hide most visited guide text + ////////////////////////////////////////////////////////////// + program { name: "show,guide_text"; + signal: "show,guide_text,signal"; + action: STATE_SET "visible" 0.0; + target: "bg"; + target: "elm.swallow.most_visited"; + target: "elm.text.most_visited_title"; + target: "elm.swallow.most_visited_guide_text"; + target: "most_visited_guide_text_bg"; + } + program { name: "hide,guide_text"; + signal: "hide,guide_text,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.most_visited_guide_text"; + target: "most_visited_guide_text_bg"; + } + } + } + + group { + name: "browser/most-visited-item"; + images { + image: "browser-view-images/most-visited/I01_Btn_delete.png" COMP; + } + parts { + part { name: "bg"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 210 69; + max: 210 69; + fixed: 1 1; + align: 0.5 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 0 0 0 0; + } + } + part { + name: "elm.swallow.button"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + min: 210 69; + max: 210 69; + fixed: 1 1; + align: 0.5 0.0; + rel1 {relative: 0.0 0.0; } + rel2 {relative: 1.0 1.0; } + } + } + PADDING("padding.favicon.top", 0, 19, 0, 1, 0.5, 0.0, + 0.0, 0.0, 1.0, 0.0, bg, bg) + PADDING("padding.favicon.left", 15, 0, 1, 0, 0.0, 0.5, + 0.0, 0.0, 0.0, 1.0, bg, bg) + PADDING("padding.favicon.right", 7, 0, 1, 0, 0.0, 0.5, + 1.0, 0.0, 1.0, 1.0, elm.swallow.favicon, elm.swallow.favicon) + + part { name: "elm.swallow.favicon"; + type: SWALLOW; + mouse_events: 0; + repeat_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 30 30; + max: 30 30; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 1.0 1.0; to_x: padding.favicon.left; to_y: padding.favicon.top; } + rel2 { relative: 1.0 1.0; to_x: padding.favicon.left; to_y: padding.favicon.top; } + color: 255 255 255 255; + } + } + part { name: "name"; + type: TEXT; + mouse_events: 0; + repeat_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 150 30; + max: 150 30; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 1.0 1.0; to_x: padding.favicon.right; to_y: padding.favicon.top; } + rel2 { relative: 1.0 1.0; to_x: padding.favicon.right; to_y: padding.favicon.top; } + color: 78 73 69 255; + text { + font: FONT_ROM; + size: 27; + align: 0.0 0.5; + } + } + } + part { name: "delete_icon"; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 36 34; + max: 36 34; + fixed: 1 1; + align: 0.8 0.2; + rel1 { relative: 1.0 0.0; to: elm.swallow.button; } + rel2 { relative: 1.0 0.0; to: elm.swallow.button; } + image.normal: "browser-view-images/most-visited/I01_Btn_delete.png"; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { name: "most_visited,edit_mode"; + signal: "most_visited,edit_mode,signal"; + action: STATE_SET "visible" 0.0; + target: "delete_icon"; + } + program { name: "most_visited,normal_mode"; + signal: "most_visited,normal_mode,signal"; + action: STATE_SET "default" 0.0; + target: "delete_icon"; + } + } + } +} diff --git a/edc/browser-multi-window.edc b/edc/browser-multi-window.edc index 1638f492..8d95879f 100755 --- a/edc/browser-multi-window.edc +++ b/edc/browser-multi-window.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" @@ -109,8 +110,8 @@ collections { visible: 1; fixed: 1 1; align: 0.0 0.0; - rel1 { relative: 0.0 0.15; } - rel2 { relative: 1.0 0.85; } + rel1 { relative: 0.0 0.2; } + rel2 { relative: 1.0 0.9; } } description { state: "invisible" 0.0; @@ -146,9 +147,9 @@ collections { state: "default" 0.0; visible: 0; fixed: 1 1; - align: 0.0 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.85; } + align: 0.0 0.5; + rel1 { relative: 0.0 0.05; } + rel2 { relative: 1.0 0.95; } } description { state: "visible" 0.0; @@ -156,6 +157,7 @@ collections { visible: 1; } } +#if 0 part { name: "elm.swallow.close_multi_window_button"; type: SWALLOW; @@ -204,6 +206,7 @@ collections { rel2 { relative: 1.05 0.98; to_x: "elm.swallow.view_change_button"; } } } +#endif part { name: "elm.title"; type: TEXT; @@ -212,14 +215,14 @@ collections { description { state: "default" 0.0; visible: 1; - min: 0 60; + min: 0 40; fixed: 0 1; - align: 0.5 1.0; - rel1 { relative: 0.0 0.0; to_x: "bg"; to_y: "elm.swallow.scroller"; } - rel2 { relative: 1.0 0.0; to_x: "bg"; to_y: "elm.swallow.scroller"; } + align: 0.5 0.0; + rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "elm.swallow.page_control"; } + rel2 { relative: 1.0 1.0; to_x: "bg"; to_y: "elm.swallow.page_control"; } text { font: FONT_ROM; - size: 33; + size: 30; min: 0 0; align: 0.5 1.0; } @@ -239,14 +242,14 @@ collections { description { state: "default" 0.0; visible: 1; - min: 0 50; + min: 0 40; fixed: 0 1; align: 0.5 0.0; rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "elm.title"; } rel2 { relative: 1.0 1.0; to_x: "bg"; to_y: "elm.title"; } text { font: FONT_ROM; - size: 30; + size: 26; min: 0 0; align: 0.5 1.0; } @@ -266,7 +269,7 @@ collections { description { state: "default" 0.0; visible: 1; - align: 0.5 0.6; + align: 0.5 0.0; fixed: 0 1; rel1 { relative: 0.0 0.0; to_x: "bg"; to_y: "bg"; } rel2 { relative: 1.0 0.0; to_x: "bg"; to_y: "elm.title"; } @@ -331,13 +334,13 @@ collections { program { name: "show,normal_mode,clipper"; signal: "show,normal_mode,signal"; action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.3; + //transition: ACCELERATE 0.3; target: "rect.scroller_clipper"; } program { name: "hide,grid_mode,clipper"; signal: "show,normal_mode,signal"; action: STATE_SET "default" 0.0; - transition: ACCELERATE 0.3; + //transition: ACCELERATE 0.3; target: "rect.gengrid_clipper"; target: "elm.swallow.gengrid"; after: "delete,gengrid"; @@ -441,9 +444,9 @@ collections { min: 75 75; max: 75 75; fixed: 1 1; - align: 0.6 0.4; - rel1 { relative: 1.0 0.0; to: "elm.swallow.snapshot"; } - rel2 { relative: 1.0 0.0; to: "elm.swallow.snapshot"; } + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.snapshot"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.snapshot"; } image.normal: "multi-window/I01_Btn_delete_01.png"; } description { @@ -562,9 +565,9 @@ collections { min: 48 48; max: 48 48; fixed: 1 1; - align: 0.7 0.3; - rel1 { relative: 1.0 0.0; to: "elm.swallow.snapshot"; } - rel2 { relative: 1.0 0.0; to: "elm.swallow.snapshot"; } + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.snapshot"; } + rel2 { relative: 0.0 0.0; to: "elm.swallow.snapshot"; } image.normal: "multi-window/I01_Btn_delete_01.png"; } description { diff --git a/edc/browser-naviframe.edc b/edc/browser-naviframe.edc index 5106f862..ffc26e46 100755 --- a/edc/browser-naviframe.edc +++ b/edc/browser-naviframe.edc @@ -1,25 +1,28 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + // Apply new naviframe #define NAVIFRAME_TITLE_H_INC 0 #define NAVIFRAME_SEGMENT_TITLE_H_INC 136 -#define NAVIFRAME_OH_OPENED_H_INC 150 +//#define NAVIFRAME_OH_OPENED_H_INC 150 +#define NAVIFRAME_OH_OPENED_H_INC 74 #define NAVIFRAME_OH_CONTENT_H_INC 74 #define NAVIFRAME_OH_PADDING_INC 16 diff --git a/edc/browser-picker-layout.edc b/edc/browser-picker-layout.edc deleted file mode 100755 index 0a0c2313..00000000 --- a/edc/browser-picker-layout.edc +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-macro.edc" - -collections { - group { - name: "picker_layout"; - parts { - part { - name: "bg"; - mouse_events: 1; - repeat_events: 1; - type: RECT; - description - { - state: "default" 0.0; - visible: 1; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color: 0 0 0 0; - } - } - part { - name: "elm.swallow.picker"; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - visible: 1; - fixed: 1 1; - align: 0.0 0.0; - rel1 { relative: 0.0 0.5; to: bg; } - rel2 { relative: 1.0 1.0; to: bg; } - } - } - } - } -} - diff --git a/edc/browser-popup.edc b/edc/browser-popup.edc new file mode 100755 index 00000000..e26c7fe2 --- /dev/null +++ b/edc/browser-popup.edc @@ -0,0 +1,282 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +collections { + group { name: "brightness_popup"; + parts{ + part { name: "pad_t"; + scale : 1; + mouse_events: 0; + repeat_events: 1; + description { state: "default" 0.0; + align: 0.5 0.0; + min: 0 45; + fixed: 0 1; + rel1 { + relative: 1.0 0.0; to_x: "pad_l"; + } + rel2 { + relative: 0.0 0.0; to_x: "pad_r"; + } + } + } + part { name: "pad_l"; + scale: 1; + description { state: "default" 0.0; + min : 10 0; + fixed: 1 0; + align: 0.0 0.0; + rel1 { + relative: 0.0 0.0; + } + rel2 { + relative: 0.0 1.0; + } + } + } + part { name: "pad_r"; + scale: 1; + description { state: "default" 0.0; + min : 10 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { + relative: 1.0 0.0; + } + rel2 { + relative: 1.0 1.0; + } + } + } + part{ name:"elm.swallow.content"; + type: SWALLOW; + scale : 1; + description { state: "default" 0.0; + min: 250 0; + align: 0.5 0.5; + fixed: 1 0; + rel1 { + relative: 0.5 1.0; + to: "pad_t"; + } + rel2 { + relative: 0.5 0.0; + to: "pad_b"; + } + } + } + part { name: "pad_b"; + scale : 1; + mouse_events: 0; + repeat_events: 1; + description { state: "default" 0.0; + align: 0.5 1.0; + min: 0 66; + fixed: 0 1; + rel1 { + relative: 1.0 1.0;to_x: "pad_l"; + } + rel2 { + relative: 0.0 1.0;to_x: "pad_r"; + } + } + } + part { name: "elm.swallow.automatic_check"; + type: SWALLOW; + scale : 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + align: 0.0 0.5; + rel1 { + relative: 0.18 0.0; + to: "pad_b"; + } + rel2 { + relative: 1.0 1.0; + to: "pad_b"; + } + } + } + part { name: "elm.text.automatic"; + type: TEXT; + scale : 1; + description { state: "default" 0.0; + text { + font: "SLP:style=Medium"; + size: 24; + min: 0 0; + align: 0.5 0.5; + } + color: 108 108 108 255; + align: 0.0 0.5; + rel1 { + relative: 0.0 0.0; + to: "pad_b"; + } + rel2 { + relative: 1.0 1.0; + to: "pad_b"; + } + } + } + part { name: "elm.title"; + type: TEXT; + scale : 1; + description { state: "default" 0.0; + text { + font: "SLP:style=Medium"; + size: 32; + min: 0 0; + align: 0.5 0.5; + } + color: 108 108 108 255; + align: 0.0 0.5; + rel1 { + relative: 0.0 0.0; + to: "pad_t"; + } + rel2 { + relative: 1.0 1.0; + to: "pad_t"; + } + } + } + } + } + group { name: "geolocation_popup"; + parts{ + part { name: "pad_t"; + scale : 1; + mouse_events: 0; + repeat_events: 1; + description { state: "default" 0.0; + align: 0.5 0.0; + min: 0 14; + fixed: 0 1; + rel1 { + relative: 1.0 0.0;to_x: "pad_l"; + } + rel2 { + relative: 0.0 0.0;to_x: "pad_r"; + } + } + } + part { name: "pad_l"; + scale: 1; + description { state: "default" 0.0; + min : 10 0; + fixed: 1 0; + rel1 { + relative: 0.0 0.0; + } + rel2 { + relative: 0.0 1.0; + } + align: 0.0 0.0; + } + } + part { name: "pad_r"; + scale: 1; + description { state: "default" 0.0; + min : 10 0; + fixed: 1 0; + rel1 { + relative: 1.0 0.0; + } + rel2 { + relative: 1.0 1.0; + } + align: 1.0 0.0; + } + } + part{ name:"elm.swallow.content"; + type: SWALLOW; + scale : 1; + description { state: "default" 0.0; + min: 380 0; + align: 0.5 0.5; + fixed: 1 0; + rel1 { + relative: 0.5 1.0; + to: "pad_t"; + } + rel2 { + relative: 0.5 0.0; + to: "pad_b"; + } + } + } + part { name: "pad_b"; + scale : 1; + mouse_events: 0; + repeat_events: 1; + description { state: "default" 0.0; + align: 0.5 1.0; + min: 0 66; + fixed: 0 1; + rel1 { + relative: 1.0 1.0;to_x: "pad_l"; + } + rel2 { + relative: 0.0 1.0;to_x: "pad_r"; + } + } + } + part { name: "elm.swallow.end"; + type: SWALLOW; + scale : 1; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + align: 0.0 0.5; + rel1 { + relative: 0.18 0.0; + to: "pad_b"; + } + rel2 { + relative: 1.0 1.0; + to: "pad_b"; + } + } + } + part { name: "elm.text"; + type: TEXT; + scale : 1; + description { state: "default" 0.0; + text { + font: "SLP:style=Medium"; + size: 24; + min: 0 0; + align: 0.5 0.5; + } + color: 108 108 108 255; + align: 0.0 0.5; + rel1 { + relative: 0.0 0.0; + to: "pad_b"; + } + rel2 { + relative: 1.0 1.0; + to: "pad_b"; + } + } + } + } + } + +} diff --git a/edc/browser-predictive-history.edc b/edc/browser-predictive-history.edc index c9c2ee21..d1ba7699 100755 --- a/edc/browser-predictive-history.edc +++ b/edc/browser-predictive-history.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" diff --git a/edc/browser-reader.edc b/edc/browser-reader.edc new file mode 100755 index 00000000..835605b2 --- /dev/null +++ b/edc/browser-reader.edc @@ -0,0 +1,134 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "browser-macro.edc" + +collections { + group { + name: "browser-reader/main_layout"; + images { + image: "browser-view-images/reader/I01_popup_bg.png" COMP; + image: "browser-view-images/reader/I01_popup_bottom_bg.png" COMP; + } + parts { + part { name: "bg"; + mouse_events: 1; + repeat_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 0 0 0 200; + } + } + part { name: "content_bg"; + mouse_events: 1; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.05 0.05; } + rel2 { relative: 0.95 0.85; } + image.normal: "browser-view-images/reader/I01_popup_bg.png"; + image.border: 14 14 14 14; + } + } + part { name: "reader_view_bg"; + mouse_events: 1; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to:"elm.swallow.reader_view"; } + rel2 { relative: 1.0 1.0; to:"elm.swallow.reader_view"; } + color: 255 255 255 255; + } + } + part { + name: "elm.swallow.reader_view"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.025 0.025; to: "content_bg"; } + rel2 { relative: 0.975 0.975; to: "content_bg"; } + } + } + part { + name: "elm.swallow.waiting_progress"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.5 0.5; + min: 60 60; + max: 60 60; + fixed: 1 1; + rel1 { relative: 0.0 0.0; to: "reader_view_bg"; } + rel2 { relative: 1.0 1.0; to: "reader_view_bg"; } + } + } + part { name: "close_button_bg"; + mouse_events: 1; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 0 96; + max: 999999 96; + fixed: 0 1; + align: 0.0 0.0; + rel1 { relative: 0.015 0.985; to: "content_bg"; } + rel2 { relative: 0.985 0.985; to: "content_bg"; } + image.normal: "browser-view-images/reader/I01_popup_bottom_bg.png"; + image.border: 3 3 2 6; + } + } + part { + name: "elm.swallow.close_button"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 402 74; + max: 402 74; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to: "close_button_bg"; } + rel2 { relative: 1.0 1.0; to: "close_button_bg"; } + } + } + } + } +} + diff --git a/edc/browser-settings.edc b/edc/browser-settings.edc index 1af3ee8b..40a11b96 100755 --- a/edc/browser-settings.edc +++ b/edc/browser-settings.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" diff --git a/edc/browser-view-control-bar.edc b/edc/browser-view-control-bar.edc index 37015f0b..e539f048 100755 --- a/edc/browser-view-control-bar.edc +++ b/edc/browser-view-control-bar.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" @@ -31,6 +32,52 @@ collections { #define ITEM_STATE_ENABLED 0 #define ITEM_STATE_DISABLED 1 +group { name: "elm/toolbar/base/browser/browser-view"; + images { + image: "browser-view-images/controlbar/I01_toolbar_bg_grey.png" COMP; + } + parts { + part { name: "base"; + mouse_events: 1; + description { state: "default" 0.0; + image.normal: "browser-view-images/controlbar/I01_toolbar_bg_grey.png"; + } + } + part { name: "clipper"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { + to: "base"; + offset: 2 2; + } + rel2 { + to: "base"; + offset: -3 -3; + } + } + } + part { name: "elm.swallow.content"; + clip_to: "clipper"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1.to: "clipper"; + rel2.to: "clipper"; + } + } + part { name: "event"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + } +} + group { name: "elm/toolbar/base/browser/default"; images { image: "browser-view-images/controlbar/I01_toolbar_bg.png" COMP; @@ -78,6 +125,7 @@ group { name: "elm/toolbar/base/browser/default"; } group { name: "elm/toolbar/item/browser/default"; + alias: "elm/toolbar/item/browser/browser-view"; images { image: "browser-view-images/controlbar/I01_toolbar_press.png" COMP; } @@ -1752,4 +1800,55 @@ group { name: "elm/toolbar/object/browser/naviframe"; } } +group { name: "browser-view-controlbar"; + images { + image: "browser-view-images/controlbar/I01_toolbar_bg_grey.png" COMP; + } + parts { + part { name: "base"; + description { state: "default" 0.0; + image.normal: "browser-view-images/controlbar/I01_toolbar_bg_grey.png"; + } + } + part { name: "elm.swallow.controlbar"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "base"; } + rel2 { relative: 0.0 1.0; to: "elm.swallow.back_button"; } + } + } + part { name: "elm.rect.back_button"; + type: RECT; + description { + state: "default" 0.0; + visible: 0; + min: 144 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { relative: 1.0 0.0; to: "base"; } + rel2 { relative: 1.0 1.0; to: "base"; } + } + } + part { name: "elm.swallow.back_button"; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to: "elm.rect.back_button"; } + rel2 { relative: 1.0 1.0; to: "elm.rect.back_button"; } + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0.0 0.0; + rel1 { relative: 0.25 0.2; to: "base"; } + rel2 { relative: 0.75 0.8; to: "base"; } + } + } + } +} + } diff --git a/edc/browser-view-find-word-layout.edc b/edc/browser-view-find-word-layout.edc index c3a822d7..1179c143 100755 --- a/edc/browser-view-find-word-layout.edc +++ b/edc/browser-view-find-word-layout.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" @@ -48,14 +49,14 @@ collections { #define EDITFIELD_DEFAULT_BOTTOM3_MULTI_INC 60 #define EDITFIELD_TITLE_COLOR_INC 168 168 168 255 #define EDITFIELD_GUIDE_TEXT_COLOR_INC 70 70 70 255 -#define ENTRY_TEXT_SIZE_INC 44 +#define ENTRY_TEXT_SIZE_INC 42 // Customize - text color //#define ENTRY_TEXT_COLOR_INC "#FFFFFF" #define ENTRY_TEXT_COLOR_WHITE_INC "#FFFFFF" #define ENTRY_TEXT_COLOR_BLACK_INC "#000000" -#define EDITFIELD_DEFAULT_ERASER_MINW_INC 48 -#define EDITFIELD_DEFAULT_ERASER_MINH_INC 48 +#define EDITFIELD_DEFAULT_ERASER_MINW_INC 40 +#define EDITFIELD_DEFAULT_ERASER_MINH_INC 40 group { name: "elm/editfield/base/browser/find_word_entry/white-text"; images { @@ -63,7 +64,7 @@ collections { } styles { style { name: "editfield_content_singleline_white_text_style"; - base: "font=SLP:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_WHITE_INC" wrap=mixed ellipsis=1"; + base: "font=SLP:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_BLACK_INC" wrap=mixed ellipsis=1"; tag: "br" "\n"; tag: "ps" "ps"; tag: "tab" "\t"; @@ -1027,7 +1028,7 @@ collections { group { name: "browser-view/find_word_layout"; images { - image: "browser-view-images/url-layout/naviframe_optionheader.png" COMP; + image: "browser-view-images/url-layout/I01_toolbar_bg.png" COMP; } parts { part { name: "backgournd"; @@ -1038,13 +1039,13 @@ collections { description { state: "default" 0.0; visible: 1; - min: 0 150; + min: 0 74; fixed: 0 1; align: 0.0 0.0; rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } image { - normal: "browser-view-images/url-layout/naviframe_optionheader.png"; + normal: "browser-view-images/url-layout/I01_toolbar_bg.png"; border: 1 1 2 1; border_scale: 1; } @@ -1058,10 +1059,11 @@ collections { description { state: "default" 0.0; visible: 1; - min: 0 106; + min: 0 74; + fixed: 0 1; align: 0.0 0.0; - rel1 { relative: 0.0 1.0; to: "title_text"; } - rel2 { relative: 1.0 1.0; } + rel1 { relative: 0.0 0.0; to: "backgournd"; } + rel2 { relative: 1.0 1.0; to: "backgournd"; } color: 255 255 255 255; // white } } @@ -1076,12 +1078,13 @@ collections { rel1 { relative: 0.0 0.0; to: bg; } rel2 { relative: 1.0 1.0; to: bg; } image { - normal: "browser-view-images/url-layout/naviframe_optionheader.png"; + normal: "browser-view-images/url-layout/I01_toolbar_bg.png"; border: 1 1 2 1; border_scale: 1; } } } +#if 0 part { name: "title_text"; type: TEXT; @@ -1103,6 +1106,7 @@ collections { color: 255 255 255 255; } } +#endif part { name: "padding,url,top"; mouse_events: 0; type: RECT; @@ -1110,28 +1114,28 @@ collections { description { state: "default" 0.0; visible: 0; - min: 0 16; + min: 0 3; fixed: 0 1; align: 0.5 0.0; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { relative: 1.0 0.0; to: "bg"; } } } - part { name: "padding,url,left"; + part { name: "padding,find_word_prev,left"; mouse_events: 0; type: RECT; scale: 1; description { state: "default" 0.0; visible: 0; - min: 16 0; + min: 10 0; fixed: 1 0; align: 0.0 0.5; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { relative: 0.0 1.0; to: "bg"; } } } - part { name: "padding,url,right"; + part { name: "padding,url,left"; mouse_events: 0; type: RECT; scale: 1; @@ -1140,9 +1144,9 @@ collections { visible: 0; min: 10 0; fixed: 1 0; - align: 1.0 0.5; - rel1 { relative: 0.0 0.0; to: "elm.swallow.find_word_prev"; } - rel2 { relative: 0.0 1.0; to: "elm.swallow.find_word_prev"; } + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to: "elm.swallow.find_word_next"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.find_word_next"; } } } part { @@ -1153,11 +1157,11 @@ collections { description { state: "default" 0.0; visible: 1; - min: 0 74; + min: 0 64; fixed: 0 1; align: 0.0 0.0; rel1 { relative: 1.0 1.0; to_x: "padding,url,left"; to_y: "padding,url,top"; } - rel2 { relative: 0.0 1.0; to_x: "padding,url,right"; to_y: "padding,url,top"; } + rel2 { relative: 0.0 1.0; to_x: "padding,cancel,left"; to_y: "padding,url,top"; } } } part { name: "padding,index_text,right"; @@ -1167,7 +1171,7 @@ collections { description { state: "default" 0.0; visible: 0; - min: 60 0; + min: 55 0; fixed: 1 0; align: 1.0 0.5; rel1 { relative: 1.0 0.0; to: "elm.swallow.url"; } @@ -1182,7 +1186,7 @@ collections { description { state: "default" 0.0; visible: 1; - min: 100 0; + min: 115 0; fixed: 1 1; align: 1.0 0.5; rel1 { relative: 0.0 0.0; to_x: "padding,index_text,right"; to_y: "elm.swallow.url"; } @@ -1190,7 +1194,7 @@ collections { color: 120 120 120 255; text { font: "SLP:style=Roman"; - size: 38; + size: 30; min: 0 0; align: 1.0 0.5; } @@ -1204,15 +1208,15 @@ collections { description { state: "default" 0.0; visible: 1; - min: 74 74; - max: 74 74; + min: 64 64; + max: 64 64; fixed: 1 1; - align: 1.0 0.5; - rel1 { relative: 0.0 0.0; to_x: "padding,find_word_next,left"; to_y: "navigationbar_bg"; } - rel2 { relative: 0.0 1.0; to_x: "padding,find_word_next,left"; to_y: "navigationbar_bg"; } + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to_x: "padding,find_word_prev,left"; to_y: "navigationbar_bg"; } + rel2 { relative: 1.0 1.0; to_x: "padding,find_word_prev,left"; to_y: "navigationbar_bg"; } } } - part { name: "padding,find_word_next,left"; + part { name: "padding,find_word_prev,right"; mouse_events: 0; type: RECT; scale: 1; @@ -1221,9 +1225,9 @@ collections { visible: 0; min: 10 0; fixed: 1 0; - align: 1.0 0.5; - rel1 { relative: 0.0 0.0; to_x: "elm.swallow.find_word_next"; to_y: "navigationbar_bg"; } - rel2 { relative: 0.0 1.0; to_x: "elm.swallow.find_word_next"; to_y: "navigationbar_bg"; } + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to_x: "elm.swallow.find_word_prev"; to_y: "navigationbar_bg"; } + rel2 { relative: 1.0 1.0; to_x: "elm.swallow.find_word_prev"; to_y: "navigationbar_bg"; } } } part { @@ -1234,12 +1238,12 @@ collections { description { state: "default" 0.0; visible: 1; - min: 74 74; - max: 74 74; + min: 64 64; + max: 64 64; fixed: 1 1; - align: 1.0 0.5; - rel1 { relative: 0.0 0.0; to_x: "padding,cancel,left"; to_y: "navigationbar_bg"; } - rel2 { relative: 0.0 1.0; to_x: "padding,cancel,left"; to_y: "navigationbar_bg"; } + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to_x: "padding,find_word_prev,right"; to_y: "navigationbar_bg"; } + rel2 { relative: 1.0 1.0; to_x: "padding,find_word_prev,right"; to_y: "navigationbar_bg"; } } } part { name: "padding,cancel,left"; @@ -1279,8 +1283,8 @@ collections { description { state: "default" 0.0; visible: 1; - min: 134 72; - max: 134 72; + min: 134 68; + max: 134 68; fixed: 1 1; align: 1.0 0.5; rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; } diff --git a/edc/browser-view-main.edc b/edc/browser-view-main.edc index 43911526..7bda44b1 100755 --- a/edc/browser-view-main.edc +++ b/edc/browser-view-main.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ /* color define */ #define BROWSER_COLOR_WHITE 255 255 255 255 @@ -73,9 +74,16 @@ collections { state: "default" 0.0; visible: 1; align: 0.0 0.0; + fixed: 1 1; rel1 { relative: 0.0 0.0; to: "contents_bg"; } rel2 { relative: 1.0 0.0; to: "elm.swallow.control_bar"; } } + description { + state: "full_screen" 0.0; + inherit: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "contents_bg"; } + rel2 { relative: 1.0 1.0; to: "contents_bg"; } + } } part { name: "elm.swallow.scissorbox"; @@ -150,7 +158,8 @@ collections { description { state: "default" 0.0; visible: 0; - min: 0 150; + min: 0 74; +// min: 0 150; fixed: 0 1; align: 0.0 0.0; rel1 { relative: 0.0 0.0; to: "contents_bg"; } @@ -189,7 +198,7 @@ collections { align: 0.0 0.0; rel1 { relative: 0.0 0.0; to: "elm.swallow.most_visited_sites"; } rel2 { relative: 1.0 1.0; to: "elm.swallow.most_visited_sites"; } - color: 255 255 255 255; + color: 38 38 38 255; } description { state: "visible" 0.0; @@ -269,6 +278,21 @@ collections { visible: 1; } } + part { + name: "elm.rect.control_bar_bg"; + type: RECT; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.control_bar"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.control_bar"; } + color: 255 255 255 255; + } + } part { name: "elm.swallow.control_bar"; type: SWALLOW; @@ -291,6 +315,11 @@ collections { rel1 { relative: 0.0 1.0; } rel2 { relative: 1.0 1.0; } } + description { + state: "full_screen" 0.0; + inherit: "default" 0.0; + visible: 0; + } } part { name: "elm.swallow.multi_window"; @@ -302,8 +331,8 @@ collections { state: "default" 0.0; visible: 0; align: 0.0 0.0; - rel1 { relative: 0.0 0.0; to: "contents_bg"; } - rel2 { relative: 1.0 1.0; to: "contents_bg"; } + rel1 { relative: 0.0 0.0; to: "elm.swallow.content"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.content"; } } description { state: "visible" 0.0; @@ -409,8 +438,184 @@ collections { visible: 1; } } + part { + name: "elm.rect.more_context_bg"; + type: RECT; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 0 0 0 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "elm.rect.brightness_top_seg_bg"; + type: RECT; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + fixed: 0 1; + min: 0 BROWSER_CONTROL_BAR_HEIGHT; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 0.0; } + color: 20 20 20 255; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "brightness_title_label"; + type: TEXT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + align: 0.0 0.0; + rel1 {relative: 0.1 0.0; to: "elm.rect.brightness_top_seg_bg"; } + rel2 {relative: 0.9 0.4; to: "elm.rect.brightness_top_seg_bg"; } + text { font: FONT_ROM; + size: 25; + min: 0 0; + align: 0.5 0.5; + } + color: 255 255 255 255; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "elm.swallow.brightness_top_seg"; + mouse_events: 1; + repeat_events: 0; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + rel1 { relative: 0.1 0.4; to: "elm.rect.brightness_top_seg_bg"; } + rel2 { relative: 0.9 0.9; to: "elm.rect.brightness_top_seg_bg"; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "elm.rect.brightness_slider_bg"; + type: RECT; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.brightness_slider"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.brightness_slider"; } + color: 20 20 20 255; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "elm.swallow.brightness_slider"; + mouse_events: 1; + repeat_events: 0; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 BROWSER_CONTROL_BAR_HEIGHT; + fixed: 0 1; + align: 0.0 1.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.control_bar"; } + rel2 { relative: 1.0 0.0; to: "elm.swallow.control_bar"; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } } programs { + ///////////////////////////// + // show / hide brightness layout + ///////////////////////////// + program { name: "show,brightness_layout"; + signal: "show,brightness_layout,signal"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.brightness_slider"; + target: "elm.rect.brightness_slider_bg"; + target: "elm.rect.brightness_top_seg_bg"; + target: "elm.swallow.brightness_top_seg"; + target: "brightness_title_label"; + } + program { name: "hide,brightness_layout"; + signal: "hide,brightness_layout,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.brightness_slider"; + target: "elm.rect.brightness_slider_bg"; + target: "elm.rect.brightness_top_seg_bg"; + target: "elm.swallow.brightness_top_seg"; + target: "brightness_title_label"; + } + + ///////////////////////////// + // show / hide more context bg + ///////////////////////////// + program { name: "show,more_context_bg"; + signal: "show,more_context_bg,signal"; + action: STATE_SET "visible" 0.0; + target: "elm.rect.more_context_bg"; + } + program { name: "hide,more_context_bg"; + signal: "hide,more_context_bg,signal"; + action: STATE_SET "default" 0.0; + target: "elm.rect.more_context_bg"; + } + + ///////////////////////////// + // full screen + ///////////////////////////// + program { name: "enter,full_screen"; + signal: "enter,full_screen,signal"; + action: STATE_SET "full_screen" 0.0; + target: "elm.swallow.control_bar"; + target: "elm.swallow.content"; + } + program { name: "exit,full_screen"; + signal: "exit,full_screen,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.control_bar"; + target: "elm.swallow.content"; + } ///////////////////////////// // show / hide scissor box ///////////////////////////// @@ -424,7 +629,6 @@ collections { action: STATE_SET "default" 0.0; target: "elm.swallow.scissorbox"; } - /* ifdef ZOOM_BUTTON */ ///////////////////////////// // show / hide zoom buttons @@ -630,6 +834,18 @@ collections { /* The webview size is content height + 65. */ rel2 { relative: 1.0 1.0; } color: 0 0 0 0; + fixed: 0 1; + min: 0 1116; + } + description { + state: "resizable" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; } + /* The height of url bar layout is 65. */ + /* The webview size is content height + 65. */ + rel2 { relative: 1.0 1.0; } + color: 0 0 0 0; } } part { @@ -644,62 +860,33 @@ collections { align: 0.0 0.0; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { relative: 1.0 1.0; to: "bg"; } + fixed: 0 1; + min: 0 1116; } - } - } - } - - group { name: "brightness_popup"; - parts{ - part { name: "elm.title"; - type: TEXT; - scale : 1; - description { state: "default" 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - max: 80 16; -#else - max: 120 24; -#endif - text { - font: "SLP:style=Medium"; -#ifdef WVGA_NBEAT // 480 * 800 - size: 16; -#else - size: 24; -#endif - min: 0 0; - align: 0.5 0.0; - } - color: 108 108 108 255; - align: 0.5 0.0; - rel1 { - relative: 0.0 0.0; - to: "elm.swallow.content"; - } - rel2 { - relative: 1.0 0.0; - to: "elm.swallow.content"; - } + description { + state: "resizable" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 1.0 1.0; to: "bg"; } } } - part{ name:"elm.swallow.content"; - type: SWALLOW; - scale : 1; - description { state: "default" 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 0 70; -#else - min: 0 105; -#endif - align: 0.5 0.5; - fixed: 1 0; - rel1 { - relative: 0.0 0.0; - } - rel2 { - relative: 1.0 1.0; - } - } + } + programs { + ///////////////////////////// + // show / hide more context bg + ///////////////////////////// + program { name: "resizable"; + signal: "resizable,signal"; + action: STATE_SET "resizable" 0.0; + target: "bg"; + target: "elm.swallow.webview"; + } + program { name: "unresizable"; + signal: "unresizable,signal"; + action: STATE_SET "default" 0.0; + target: "bg"; + target: "elm.swallow.webview"; } } } diff --git a/edc/browser-view-progressbar.edc b/edc/browser-view-progressbar.edc index 7d7d7871..8be090c2 100755 --- a/edc/browser-view-progressbar.edc +++ b/edc/browser-view-progressbar.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" @@ -117,11 +118,7 @@ collections { visible: 1; aspect: 1.0 1.0; aspect_preference: VERTICAL; -#ifdef WVGA_NBEAT // 480 * 800 - rel2.offset: 4 -1; -#else rel2.offset: 6 -1; -#endif } } part { name: "elm.text"; @@ -134,22 +131,14 @@ collections { align: 0.0 0.5; rel1.to_x: "elm.swallow.content"; rel1.relative: 1.0 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - rel1.offset: -1 4; -#else rel1.offset: -1 6; -#endif rel2.to_x: "elm.swallow.content"; rel2.relative: 1.0 1.0; rel2.offset: -1 -5; color: 0 0 0 255; text { font: "SLP:style=Medium"; -#ifdef WVGA_NBEAT // 480 * 800 - size: 10; -#else size: 15; -#endif min: 0 0; align: 0.0 0.5; } @@ -158,13 +147,8 @@ collections { inherit: "default" 0.0; visible: 0; text.min: 1 1; -#ifdef WVGA_NBEAT // 480 * 800 - rel1.offset: 0 4; - rel2.offset: 0 -5; -#else rel1.offset: 0 6; rel2.offset: 0 -7; -#endif } } @@ -203,11 +187,7 @@ collections { } text { font: "SLP:style=Medium"; -#ifdef WVGA_NBEAT // 480 * 800 - size: 10; -#else size: 15; -#endif min: 0 0; align: 0.5 0.0; } @@ -296,11 +276,7 @@ collections { text { text_source: "elm.text.status"; font: "SLP:style=Medium"; -#ifdef WVGA_NBEAT // 480 * 800 - size: 10; -#else size: 15; -#endif min: 0 0; align: 0.0 0.0; } @@ -322,11 +298,7 @@ collections { y: 0 0 0; } description { state: "default" 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 0 28; -#else min: 0 42; -#endif fixed: 1 1; visible: 0; rel1 { @@ -491,13 +463,8 @@ collections { clip_to: "elm.background.progressbar"; description { state: "default" 0.0; -#ifdef WVGA_NBEAT // 480 * 800 - min: 40 40; - max: 60 60; -#else min: 60 60; max: 90 90; -#endif visible: 1; aspect: 1.0 1.0; aspect_preference: BOTH; diff --git a/edc/browser-view-url-layout.edc b/edc/browser-view-url-layout.edc index f89a6d1b..04b427c4 100755 --- a/edc/browser-view-url-layout.edc +++ b/edc/browser-view-url-layout.edc @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-macro.edc" @@ -23,7 +24,7 @@ collections { #define EDITFIELD_TITLE_SIZE_INC 32 //#define EDITFIELD_DEFAULT_MINH_INC 112 // Customize - edit field height -#define EDITFIELD_DEFAULT_MINH_INC 72 +#define EDITFIELD_DEFAULT_MINH_INC 64 //#define EDITFIELD_DEFAULT_TOP1_SINGLE_INC 20 // Customize - entry top margin // Strangely - (Edit field entry is aligned to top a little, so make the top margin more then bottom) @@ -36,8 +37,9 @@ collections { #define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC 0 // browser customize -// width of erase icon width and string witdh of "xx/xx" -#define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC_FOR_FIND_WORD (EDITFIELD_DEFAULT_ERASER_MINW_INC + 80) +// width of erase icon width and string witdh of "xxx/xxx" +#define EDITFIELD_DEFAULT_RIGHT1_ERASER_SHOW_INC_FOR_FIND_WORD (EDITFIELD_DEFAULT_ERASER_MINW_INC + 115 + 10) +// 115 is width of findword entry defined in browser-view-find-word.edc + 10 is minimam margin of index text width #define EDITFIELD_DEFAULT_RIGHT2_INC 10 // browser customize //#define EDITFIELD_DEFAULT_BOTTOM1_SINGLE_INC 20 @@ -54,14 +56,40 @@ collections { // Customize - text color //#define ENTRY_TEXT_COLOR_INC "#FFFFFF" #define ENTRY_TEXT_COLOR_WHITE_INC "#FFFFFF" -#define ENTRY_TEXT_COLOR_BLACK_INC "#000000" +#define ENTRY_TEXT_COLOR_BLACK_INC "#3C3632" -#define EDITFIELD_DEFAULT_ERASER_MINW_INC 40 -#define EDITFIELD_DEFAULT_ERASER_MINH_INC 40 +#define EDITFIELD_DEFAULT_ERASER_MINW_INC 38 +#define EDITFIELD_DEFAULT_ERASER_MINH_INC 38 group { name: "elm/layout/browser-editfield/default"; images { - image: "browser-view-images/url-layout/00_EditField_clear.png" COMP; + image: "browser-view-images/url-layout/I01_field_btn_Clear.png" COMP; + } + styles { + style { name: "ellipsis_textblock_style_white"; + base: "font=SLP:style=Roman font_size=35 color="ENTRY_TEXT_COLOR_BLACK_INC" wrap=none left_margin=1 right_margin=3 ellipsis=1"; + tag: "br" "\n"; + tag: "ps" "ps"; + tag: "tab" "\t"; + tag: "em" "+ font=SLP:style=Oblique"; + tag: "b" "+ font=SLP:style=Bold"; + tag: "link" "+ color=#800 underline=on underline_color=#8008"; + tag: "hilight" "+ font=SLP:style=Bold"; + tag: "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC""; + tag: "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC""; + } + style { name: "ellipsis_textblock_style_black"; + base: "font=SLP:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_BLACK_INC" wrap=none left_margin=1 right_margin=3 ellipsis=1"; + tag: "br" "\n"; + tag: "ps" "ps"; + tag: "tab" "\t"; + tag: "em" "+ font=SLP:style=Oblique"; + tag: "b" "+ font=SLP:style=Bold"; + tag: "link" "+ color=#800 underline=on underline_color=#8008"; + tag: "hilight" "+ font=SLP:style=Bold"; + tag: "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC""; + tag: "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC""; + } } parts { part { @@ -237,6 +265,27 @@ group { name: "elm/layout/browser-editfield/default"; visible: 0; } } + + part { name: "elm.text.ellipsis"; + type: TEXTBLOCK; + effect: SHADOW; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + align: 0.0 0.5; + fixed: 1 1; + rel1 { relative: 0.0 0.0; to: "elm.swallow.content"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.content"; } + text { + style: "ellipsis_textblock_style_white"; + } + } + description { state: "ellipsis_show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } part { name: "elm.swallow.content"; type: SWALLOW; @@ -245,6 +294,7 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; min: 0 40; + visible: 1; rel1 { relative : 1.0 1.0; to_x: "left1"; @@ -257,6 +307,10 @@ group { name: "elm/layout/browser-editfield/default"; } align: 0.0 0.5; } + description { state: "ellipsis_show" 0.0; + inherit: "default" 0.0; + visible: 0; + } } part { name: "eraser_image"; @@ -265,21 +319,22 @@ group { name: "elm/layout/browser-editfield/default"; state: "default" 0.0; visible: 0; min: EDITFIELD_DEFAULT_ERASER_MINW_INC EDITFIELD_DEFAULT_ERASER_MINH_INC; + max: EDITFIELD_DEFAULT_ERASER_MINW_INC EDITFIELD_DEFAULT_ERASER_MINH_INC; fixed: 1 1; align: 1 0.5; rel1 { relative: 0.0 0.0; to_x : "right2"; - to_y : "bottom2"; + to_y : "elm.swallow.content"; } rel2 { - relative: 0.0 0.0; + relative: 0.0 0.9; to_x : "right2"; - to_y : "bottom2"; + to_y : "elm.swallow.content"; } image { - normal: "browser-view-images/url-layout/00_EditField_clear.png"; - border: 10 10 10 10; + normal: "browser-view-images/url-layout/I01_field_btn_Clear.png"; +// border: 10 10 10 10; border_scale: 1; } } @@ -311,6 +366,22 @@ group { name: "elm/layout/browser-editfield/default"; } } programs { + program { + name: "ellipsis_show"; + source: "elm"; + signal: "ellipsis_show,signal"; + action: STATE_SET "ellipsis_show" 0.0; + target: "elm.text.ellipsis"; + target: "elm.swallow.content"; + } + program { + name: "ellipsis_hide"; + source: "elm"; + signal: "ellipsis_hide,signal"; + action: STATE_SET "default" 0.0; + target: "elm.text.ellipsis"; + target: "elm.swallow.content"; + } program { name: "find_word_editfield"; signal: "find_word,signal"; @@ -363,8 +434,9 @@ group { name: "elm/layout/browser-editfield/default"; group { name: "browser/url_layout"; images { - image: "browser-view-images/url-layout/naviframe_optionheader.png" COMP; - image: "browser-view-images/url-layout/I01_Icons_http.png" COMP; +// image: "browser-view-images/url-layout/naviframe_optionheader.png" COMP; +// image: "browser-view-images/url-layout/I01_Icons_http.png" COMP; + image: "browser-view-images/url-layout/I01_toolbar_bg.png" COMP; } parts { part { name: "backgournd"; @@ -375,13 +447,13 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 1; - min: 0 150; + min: 0 74; fixed: 0 1; align: 0.0 0.0; rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } image { - normal: "browser-view-images/url-layout/naviframe_optionheader.png"; + normal: "browser-view-images/url-layout/I01_toolbar_bg.png"; border: 1 1 2 1; border_scale: 1; } @@ -395,9 +467,9 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 1; - min: 0 106; + min: 0 74; align: 0.0 0.0; - rel1 { relative: 0.0 1.0; to_y: "title_text"; } + rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } color: 255 255 255 255; // white } @@ -413,12 +485,13 @@ group { name: "elm/layout/browser-editfield/default"; rel1 { relative: 0.0 0.0; to: bg; } rel2 { relative: 1.0 1.0; to: bg; } image { - normal: "browser-view-images/url-layout/naviframe_optionheader.png"; + normal: "browser-view-images/url-layout/I01_toolbar_bg.png"; border: 1 1 2 1; border_scale: 1; } } } +#if 0 part { name: "secure_icon"; type: IMAGE; @@ -496,6 +569,7 @@ group { name: "elm/layout/browser-editfield/default"; rel2 { relative: 0.0 1.0; to_x: "padding,title_text,right"; } } } +#endif part { name: "padding,cancel,left"; mouse_events: 0; type: RECT; @@ -503,7 +577,7 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 0; - min: 15 0; + min: 16 0; fixed: 1 0; align: 1.0 0.5; rel1 { relative: 0.0 0.0; to: "elm.swallow.cancel"; } @@ -517,27 +591,87 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 0; - min: 0 16; + min: 0 3; fixed: 0 1; align: 0.5 0.0; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { relative: 1.0 0.0; to: "bg"; } } } - part { name: "padding,url,left"; + part { name: "padding,backward_button,left"; mouse_events: 0; type: RECT; scale: 1; description { state: "default" 0.0; visible: 0; - min: 16 0; + min: 10 0; fixed: 1 0; align: 0.0 0.5; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { relative: 0.0 1.0; to: "bg"; } } } + part { + name: "elm.swallow.backward_button"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 78 66; + max: 78 66; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 1.0 0.0; to_x: "padding,backward_button,left"; to_y: "elm.swallow.url"; } + rel2 { relative: 1.0 0.0; to_x: "padding,backward_button,left"; to_y: "elm.swallow.url"; } + } + } + part { name: "padding,backward_button,right"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 3 0; + fixed: 1 0; + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to: "elm.swallow.backward_button"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.backward_button"; } + } + } + part { + name: "elm.swallow.forward_button"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 78 66; + max: 78 66; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 1.0 0.0; to_x: "padding,backward_button,right"; to_y: "elm.swallow.url"; } + rel2 { relative: 1.0 0.0; to_x: "padding,backward_button,right"; to_y: "elm.swallow.url"; } + } + } + part { name: "padding,forward_button,right"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 10 0; + fixed: 1 0; + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to: "elm.swallow.forward_button"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.forward_button"; } + } + } part { name: "elm.swallow.url"; type: SWALLOW; @@ -546,16 +680,16 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 1; - min: 0 74; + min: 0 64; fixed: 0 1; align: 0.0 0.0; - rel1 { relative: 1.0 1.0; to_x: "padding,url,left"; to_y: "padding,url,top"; } + rel1 { relative: 1.0 1.0; to_x: "padding,forward_button,right"; to_y: "padding,url,top"; } rel2 { relative: 0.0 1.0; to_x: "padding,reader_icon,left"; to_y: "padding,url,top"; } } description { state: "edit_mode_state" 0.0; inherit: "default" 0.0; - rel1 { relative: 1.0 1.0; to_x: "padding,url,left"; to_y: "padding,url,top"; } + rel1 { relative: 1.0 1.0; to_x: "padding,backward_button,left"; to_y: "padding,url,top"; } rel2 { relative: 0.0 1.0; to_x: "padding,cancel,left"; to_y: "padding,url,top"; } } } @@ -566,7 +700,7 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 0; - min: 16 0; + min: 10 0; fixed: 1 0; align: 1.0 0.5; rel1 { relative: 0.0 0.0; to_x: "elm.swallow.reader_icon"; to_y: "navigationbar_bg"; } @@ -582,19 +716,19 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 1; - min: 74 74; - max: 74 74; + min: 74 64; + max: 74 64; fixed: 1 1; align: 0.0 0.5; - rel1 { relative: 1.0 0.0; to: "navigationbar_bg"; } - rel2 { relative: 1.0 1.0; to: "navigationbar_bg"; } + rel1 { relative: 1.0 0.0; to_x: "navigationbar_bg"; to_y: "elm.swallow.cancel"; } + rel2 { relative: 1.0 1.0; to_x: "navigationbar_bg"; to_y: "elm.swallow.cancel"; } } description { state: "show_reader_icon" 0.0; inherit: "default" 0.0; align: 1.0 0.5; - rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; } - rel2 { relative: 0.0 1.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; } + rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "elm.swallow.cancel"; } + rel2 { relative: 0.0 1.0; to_x: "padding,cancel,right"; to_y: "elm.swallow.cancel"; } } } part { name: "padding,cancel,right"; @@ -620,23 +754,57 @@ group { name: "elm/layout/browser-editfield/default"; description { state: "default" 0.0; visible: 1; - min: 165 72; - max: 165 72; + min: 134 68; + max: 134 68; fixed: 1 1; - align: 0.0 0.5; - rel1 { relative: 1.0 0.0; to_x: navigationbar_bg; to_y: "navigationbar_bg"; } - rel2 { relative: 1.0 1.0; to_x: navigationbar_bg; to_y: "navigationbar_bg"; } + align: 0.0 0.0; + rel1 { relative: 1.0 0.0; to_x: "navigationbar_bg"; to_y: "elm.swallow.url"; } + rel2 { relative: 1.0 0.0; to_x: "navigationbar_bg"; to_y: "elm.swallow.url"; } } description { state: "edit_mode_state" 0.0; inherit: "default" 0.0; - align: 1.0 0.5; - rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; } - rel2 { relative: 0.0 1.0; to_x: "padding,cancel,right"; to_y: "navigationbar_bg"; } + align: 1.0 0.0; + rel1 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "elm.swallow.url"; } + rel2 { relative: 0.0 0.0; to_x: "padding,cancel,right"; to_y: "elm.swallow.url"; } + } + } + part { name: "dim_area"; + mouse_events: 1; + repeat_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + color: 0 0 0 102; } } } programs { + ///////////////////////////// + // show / hide scissor box + ///////////////////////////// + program { name: "show,scissorbox"; + signal: "show,scissorbox,signal"; + action: STATE_SET "visible" 0.0; + target: "dim_area"; + } + program { name: "hide,scissorbox"; + signal: "hide,scissorbox,signal"; + action: STATE_SET "default" 0.0; + target: "dim_area"; + } +#if 0 program { name: "show,secure_icon"; signal: "show,secure_icon,signal"; action: STATE_SET "visible" 0.0; @@ -647,13 +815,15 @@ group { name: "elm/layout/browser-editfield/default"; action: STATE_SET "default" 0.0; target: "secure_icon"; } +#endif program { name: "edit,url,on"; signal: "edit,url,on,signal"; action: STATE_SET "edit_mode_state" 0.0; + transition: DECELERATE 0.5; target: "elm.swallow.url"; - after: "cancel_button,show"; } program { name: "cancel_button,show"; + signal: "edit,url,on,signal"; action: STATE_SET "edit_mode_state" 0.0; transition: DECELERATE 0.5; target: "elm.swallow.cancel"; @@ -688,12 +858,13 @@ group { name: "elm/layout/browser-editfield/default"; group { name: "elm/browser/urlentry/default"; images { - image: "browser-view-images/url-layout/00_search_input_field_bg.png" COMP; + image: "browser-view-images/url-layout/I01_search_input_field_bg.png" COMP; image: "browser-view-images/url-layout/00_search_input_field_bg_black.png" COMP; image: "browser-view-images/url-layout/41_browser_search_icon_refresh.png" COMP; image: "browser-view-images/url-layout/icon_stop.png" COMP; image: "icon/00_close_icon.png" COMP; - image: "browser-view-images/url-layout/I01_Icons_RSS.png" COMP; + image: "browser-view-images/url-layout/private-badge.png" COMP; + image: "browser-view-images/url-layout/I01_search_icon.png" COMP; } parts { @@ -720,8 +891,8 @@ group { name: "elm/layout/browser-editfield/default"; fixed: 0 1; rel1 {relative: 0.0 0.0; offset: 0 0; } rel2 {relative: 1.0 1.0; offset: 0 0; } - image.normal: "browser-view-images/url-layout/00_search_input_field_bg.png"; - image.border: 5 5 5 5; + image.normal: "browser-view-images/url-layout/I01_search_input_field_bg.png"; + image.border: 7 7 7 7; } description { state: "black" 0.0; @@ -772,6 +943,105 @@ group { name: "elm/layout/browser-editfield/default"; max: 45 45; } } + part { name: "elm.swallow.secure_icon"; + mouse_events: 0; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 22; + max: 0 22; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.5 0.5; to: elm.swallow.favicon; } + rel2 { relative: 1.0 1.0; to: elm.swallow.favicon; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + min: 22 22; + max: 22 22; + } + } + part { name: "padding.search_icon.left"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 0; + min: 9 0; + align: 0.0 0.5; + rel1 { relative: 0.0 0.0; to: "bg_image"; } + rel2 { relative: 0.0 1.0; to: "bg_image"; } + color: 0 0 0 0; + } + } + part { name: "elm.swallow.search_icon"; + mouse_events: 0; + repeat_events: 1; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + min: 42 42; + max: 42 42; + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to_x: "padding.search_icon.left"; to_y: "bg_image"; } + rel2 { relative: 1.0 1.0; to_x: "padding.search_icon.left"; to_y: "bg_image"; } + image.normal: "browser-view-images/url-layout/I01_search_icon.png"; + image.border: 5 5 5 5; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "padding.search_icon.right"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 0; + min: 9 0; + align: 0.0 0.5; + rel1 { relative: 1.0 0.0; to: "elm.swallow.search_icon"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.search_icon"; } + color: 0 0 0 0; + } + } + part { + name: "url_guide_text"; + type: TEXT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + visible: 0; + align: 0.0 0.5; + text { font: FONT_ROM; + size: 32; + align: 0.0 0.5; + } + color: 78 73 69 255; + rel1 { relative: 1.0 0.0; to_x: "padding.search_icon.right"; to_y: "elm.swallow.entry"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.entry"; } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + /* rss part is used for private icon. */ part { name: "elm.swallow.rss_icon"; mouse_events: 0; type: IMAGE; @@ -785,7 +1055,7 @@ group { name: "elm/layout/browser-editfield/default"; align: 0.0 0.5; rel1 { relative: 1.0 0.0; to: "elm.swallow.favicon"; } rel2 { relative: 1.0 1.0; to: "elm.swallow.favicon"; } - image.normal: "browser-view-images/url-layout/I01_Icons_RSS.png"; + image.normal: "browser-view-images/url-layout/private-badge.png"; } description { state: "visible" 0.0; @@ -943,6 +1213,18 @@ group { name: "elm/layout/browser-editfield/default"; } } programs { + program { name: "url_guide_text,on"; + signal: "url_guide_text,on,signal"; + action: STATE_SET "visible" 0.0; + target: "elm.swallow.search_icon"; + target: "url_guide_text"; + } + program { name: "url_guide_text,off"; + signal: "url_guide_text,off,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.search_icon"; + target: "url_guide_text"; + } program { name: "disable_entry"; signal: "disable_entry,signal"; action: STATE_SET "block" 0.0; @@ -953,13 +1235,13 @@ group { name: "elm/layout/browser-editfield/default"; action: STATE_SET "black" 0.0; target: "bg_image"; } - program { name: "rss_on"; - signal: "rss,on,signal"; + program { name: "private_on"; + signal: "private,on,signal"; action: STATE_SET "visible" 0.0; target: "elm.swallow.rss_icon"; } - program { name: "rss_off"; - signal: "rss,off,signal"; + program { name: "private_off"; + signal: "private,off,signal"; action: STATE_SET "default" 0.0; target: "elm.swallow.rss_icon"; } @@ -1017,6 +1299,24 @@ group { name: "elm/layout/browser-editfield/default"; signal: "hide,favicon,signal"; action: STATE_SET "default" 0.0; target: "elm.swallow.favicon"; + target: "elm.swallow.secure_icon"; + } + program { name: "show,secure_icon"; + signal: "show,secure_icon,signal"; + script { + new st[31]; + new Float:vl; + get_state(PART:"elm.swallow.favicon", st, 30, vl); + if (!strcmp(st, "visible")) + set_state(PART:"elm.swallow.secure_icon", "visible", 0.0); + else + set_state(PART:"elm.swallow.secure_icon", "default", 0.0); + } + } + program { name: "hide,secure_icon"; + signal: "hide,secure_icon,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.secure_icon"; } } } diff --git a/edc/most-visited-sites.edc b/edc/most-visited-sites.edc new file mode 100644 index 00000000..93cb8e0c --- /dev/null +++ b/edc/most-visited-sites.edc @@ -0,0 +1,918 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "browser-macro.edc" + +collections { +#if 1 + group { + name: "most_visited_sites_layout"; + parts { + part { + name: "elm.swallow.gengrid"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + rel1 {relative: 0.0 0.0; } + rel2 {relative: 1.0 1.0; } + } + } + part { name: "padding,setting_button,left"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 16 0; + fixed: 1 0; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 0.0 1.0; } + } + } + part { name: "padding,setting_button,right"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 16 0; + fixed: 1 0; + align: 1.0 0.0; + rel1 { relative: 1.0 0.0; to: "elm.swallow.gengrid"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.gengrid"; } + } + } + part { name: "padding,setting_button,bottom"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 29; + fixed: 0 1; + align: 0.0 1.0; + rel1 { relative: 0.0 1.0; } + rel2 { relative: 1.0 1.0; } + } + } + part { + name: "elm.swallow.setting_button"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + min: 144 60; + max: 144 60; + fixed: 1 1; + align: 0.0 1.0; + rel1 {relative: 1.0 0.0; to_x: "padding,setting_button,left"; to_y: "padding,setting_button,bottom"; } + rel2 {relative: 1.0 0.0; to_x: "padding,setting_button,left"; to_y: "padding,setting_button,bottom"; } + } + description { + state: "rotate" 0.0; + inherit: "default" 0.0; + align: 1.0 1.0; + rel1 {relative: 0.0 0.0; to_x: "padding,setting_button,right"; to_y: "padding,setting_button,bottom"; } + rel2 {relative: 0.0 0.0; to_x: "padding,setting_button,right"; to_y: "padding,setting_button,bottom"; } + } + } + } + programs { + program { name: "rotate,landscape"; + signal: "rotate,landscape,signal"; + action: STATE_SET "rotate" 0.0; + target: "elm.swallow.setting_button"; + } + program { name: "rotate,portrait"; + signal: "rotate,portrait,signal"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.setting_button"; + } + } + } + + group { + name: "most_visited_sites_empty_item"; + parts { + part { name: "bg"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 210 257; + max: 210 257; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 38 38 38 255; + } + } + part { + name: "elm.swallow.snapshot"; + type: RECT; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + min: 210 220; + max: 210 220; + fixed: 1 1; + align: 0.0 0.0; + color: 81 81 81 255; + rel1 {relative: 0.0 0.0; to: "bg"; } + rel2 {relative: 1.0 0.0; to: "bg"; } + } + } + } + } + group { + name: "most_visited_sites_item"; + images { + image: "browser-view-images/most-visited-sites/I01_icon_bookmark_bg.png" COMP; + image: "browser-view-images/most-visited-sites/I01_icon_bookmark_off.png" COMP; + image: "browser-view-images/most-visited-sites/I01_icon_bookmark_on.png" COMP; + image: "browser-view-images/most-visited-sites/I01_Btn_delete_01.png" COMP; + image: "browser-view-images/most-visited-sites/I01_Btn_delete_01_press.png" COMP; + } + parts { + part { name: "bg"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 210 257; + max: 210 257; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 0 0 0 0; + } + } + part { + name: "elm.swallow.snapshot"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + min: 210 220; + max: 210 220; + fixed: 1 1; + align: 0.0 0.0; + rel1 {relative: 0.0 0.0; to: "bg"; } + rel2 {relative: 1.0 0.0; to: "bg"; } + } + } + part { name: "title_label_bg"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "title_label"; } + rel2 { relative: 1.0 1.0; to: "title_label"; } + color: 38 38 38 255; + } + } + part { + name: "title_label"; + type: TEXT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.0 0.0; + rel1 {relative: 0.0 1.0; to: "elm.swallow.snapshot"; } + rel2 {relative: 1.0 1.0; to: "bg"; } + text { font: FONT_ROM; + size: 22; + min: 0 0; + align: 0.5 0.5; + } + color: 255 255 255 255; + } + } + part { name: "bookmark_icon_bg"; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 72 72; + max: 72 72; + fixed: 1 1; + align: 1.0 0.0; + image.normal: "browser-view-images/most-visited-sites/I01_icon_bookmark_bg.png"; + rel1 { relative: 1.01 0.0; to: "bg"; } + rel2 { relative: 1.01 0.0; to: "bg"; } + } + } + part { name: "bookmark_icon"; + type: IMAGE; + mouse_events: 1; + repeat_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 36 36; + max: 36 36; + fixed: 1 1; + align: 1.0 0.0; + rel1 { relative: 1.0 0.0; to: "bg"; } + rel2 { relative: 1.0 0.0; to: "bg"; } + image.normal: "browser-view-images/most-visited-sites/I01_icon_bookmark_off.png"; + } + description { + state: "bookmark_on" 0.0; + inherit: "default" 0.0; + image.normal: "browser-view-images/most-visited-sites/I01_icon_bookmark_on.png"; + } + } + part { name: "elm.image.delete_button"; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 48 48; + max: 48 48; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 0.0 0.0; to: "bg"; } + image.normal: "browser-view-images/most-visited-sites/I01_Btn_delete_01.png"; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "pressed" 0.0; + inherit: "default" 0.0; + visible: 1; + image.normal: "browser-view-images/most-visited-sites/I01_Btn_delete_01_press.png"; + } + } + } + programs { + program { name: "bookmark_icon,on"; + signal: "bookmark_icon,on,signal"; + action: STATE_SET "bookmark_on" 0.0; + target: "bookmark_icon"; + } + program { name: "bookmark_icon,off"; + signal: "bookmark_icon,off,signal"; + action: STATE_SET "default" 0.0; + target: "bookmark_icon"; + } + program { name: "show,delete_button"; + signal: "show,delete_button,signal"; + action: STATE_SET "visible" 0.0; + target: "elm.image.delete_button"; + } + program { name: "hide,delete_button"; + signal: "hide,delete_button,signal"; + action: STATE_SET "default" 0.0; + target: "elm.image.delete_button"; + } + program { + name: "delete_button_press"; + signal: "mouse,down,1"; + source: "elm.image.delete_button"; + script { + new st[31]; + new Float:vl; + get_state(PART:"elm.image.delete_button", st, 30, vl); + + if (!strcmp(st, "visible")) + set_state(PART:"elm.image.delete_button", "pressed", 0.0); + } + } + program { + name: "delete_button_release"; + signal: "mouse,up,1"; + source: "elm.image.delete_button"; + script { + new st[31]; + new Float:vl; + get_state(PART:"elm.image.delete_button", st, 30, vl); + + if (!strcmp(st, "pressed")) + set_state(PART:"elm.image.delete_button", "visible", 0.0); + } + } + } + } +#else + group { + name: "most_visited_sites_item"; + images { + image: "browser-view-images/most-visited-sites/bg-base.png" COMP; + image: "browser-view-images/most-visited-sites/favorite.png" COMP; + image: "browser-view-images/most-visited-sites/no-image.png" COMP; + image: "browser-view-images/most-visited-sites/paper-clip.png" COMP; + } + parts { + part { name: "bg"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 240 255; + max: 240 255; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 0 0 0 0; + } + } + part { name: "bg_rect"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg;} + rel2 {relative: 1.0 1.0; to: bg;} + color: 0 0 0 0; + } + description { + state: "pressed" 0.0; + inherit: "default" 0.0; + rel1 {relative: 0.01 0.01; to: bg;} + rel2 {relative: 0.99 0.99; to: bg;} + color: 53 69 95 150; + } + } + part { name: "bg_base_edge"; + type: IMAGE; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg_rect;} + rel2 {relative: 1.0 1.0; to: bg_rect;} + image.normal: "browser-view-images/most-visited-sites/bg-base.png"; + } + description { + state: "pressed" 0.0; + inherit: "default" 0.0; + rel1 {relative: 0.03 0.03; to: bg_rect;} + rel2 {relative: 0.97 0.97; to: bg_rect;} + } + } + part { name: "bg_no_image"; + type: IMAGE; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg_base_edge;} + rel2 {relative: 1.0 1.0; to: bg_base_edge;} + image.normal: "browser-view-images/most-visited-sites/no-image.png"; + } + } + part { + name: "elm.swallow.tile"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.1 0.1; to: bg_base_edge;} + rel2 {relative: 0.9 0.9; to: bg_base_edge;} + } + } + part { + name: "title_rect"; + type: RECT; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + align: 0.5 1.0; + fixed: 1 1; + rel1 {relative: 0.08 0.78; to: bg_base_edge;} + rel2 {relative: 0.92 0.9; to: bg_base_edge;} + color: 0 0 0 90; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "title_label"; + type: TEXT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 1.0; + rel1 {relative: 0.0 0.0; to: title_rect;} + rel2 {relative: 1.0 1.0; to: title_rect;} + text { font: FONT_ROM; + size: 22; + min: 0 0; + align: 0.5 1.0; + } + color: 255 255 255 255; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "bookmark_icon"; + type: IMAGE; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 36 36; + max: 36 36; + fixed: 1 1; + align: 0.5 0.3; + rel1 { relative: 0.85 0.68; to: bg_base_edge; } + rel2 { relative: 1.0 0.8; to: bg_base_edge; } + image.normal: "browser-view-images/most-visited-sites/favorite.png"; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "pin"; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 48 48; + max: 48 48; + fixed: 1 1; + align: 0.6 0.6; + rel1 { relative: 0.1 0.1; to: bg_base_edge; } + rel2 { relative: 0.1 0.1; to: bg_base_edge; } + } + description { + state: "pin_tack" 0.0; + inherit: "default" 0.0; + image.normal: "browser-view-images/most-visited-sites/paper-clip.png"; + visible: 1; + } + } + } + programs { + program { name: "bookmark_icon"; + signal: "bookmark_icon"; + action: STATE_SET "visible" 0.0; + target: "bookmark_icon"; + } + program { name: "pin_icon_default"; + signal: "hide,pin_icon"; + action: STATE_SET "default" 0.0; + target: "pin"; + } + program { name: "tack_icon"; + signal: "tack_icon"; + action: STATE_SET "pin_tack" 0.0; + target: "pin"; + } + program { name: "titlearea"; + signal: "titlearea"; + action: STATE_SET "visible" 0.0; + target: "title_rect"; + } + program { name: "tile_pressed"; + signal: "tile_pressed"; + action: STATE_SET "pressed" 0.0; + target: "bg_rect"; + } + program { name: "tile_released"; + signal: "tile_released"; + action: STATE_SET "default" 0.0; + target: "bg_rect"; + } + } + } + + group { + name: "most_visited_sites_empty_item"; + images { + image: "browser-view-images/most-visited-sites/bg-base.png" COMP; + image: "browser-view-images/most-visited-sites/button-add.png" COMP; + } + parts { + part { name: "bg"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 240 255; + max: 240 255; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 255 255 255 0; // white + } + } + part { name: "bg_rect"; + mouse_events: 0; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg;} + rel2 {relative: 1.0 1.0; to: bg;} + color: 255 255 255 255; // white + } + description { + state: "pressed" 0.0; + inherit: "default" 0.0; + rel1 {relative: 0.01 0.01; to: bg;} + rel2 {relative: 0.99 0.99; to: bg;} + color: 255 127 0 150; + } + } + part { name: "bg_base_edge"; + type: IMAGE; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg_rect;} + rel2 {relative: 1.0 1.0; to: bg_rect;} + image.normal: "browser-view-images/most-visited-sites/bg-base.png"; + } + } + part { + name: "elm.swallow.tile"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg_base_edge;} + rel2 {relative: 1.0 1.0; to: bg_base_edge;} + color: 255 255 255 0; + } + } + part { name: "empty_slot"; + type: IMAGE; + mouse_events: 0; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 96 96; + max: 96 96; + fixed: 1 1; + align: 0.5 0.5; + rel1 {relative: 0.0 0.0; to: bg_base_edge;} + rel2 {relative: 1.0 1.0; to: bg_base_edge;} + image.normal: "browser-view-images/most-visited-sites/button-add.png"; + } + } + } + programs { + program { name: "tile_pressed"; + signal: "tile_pressed"; + action: STATE_SET "pressed" 0.0; + target: "bg_rect"; + } + program { name: "tile_released"; + signal: "tile_released"; + action: STATE_SET "default" 0.0; + target: "bg_rect"; + } + } + } +#endif + + group { + name: "guide_text"; + images { + image: "browser-view-images/most-visited-sites/I01_popup_bg.png" COMP; + image: "browser-view-images/most-visited-sites/I01_popup_bottom_bg.png" COMP; + } + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + color: 0 0 0 128; + rel1 { relative: 0.0 0.0; to: "guide_text_bg"; } + rel2 { relative: 1.02 1.15; to: "option_bg"; } + } + } + part { + name: "guide_text_bg"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + fixed: 1 1; + rel1 { relative: -0.05 -0.1; to: "elm.swallow.guide_text_label"; } + rel2 { relative: 1.05 1.15; to: "elm.swallow.guide_text_label"; } + image { + normal: "browser-view-images/most-visited-sites/I01_popup_bg.png"; + border: 11 11 11 11; + border_scale: 1; + } + } + } + part { + name: "elm.swallow.guide_text_label"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.0; + rel1 { relative: 0.05 0.1; } + rel2 { relative: 0.95 0.1; } + } + } + part { + name: "option_bg"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 0 90; + align: 0.0 0.0; + fixed: 0 1; + rel1 { relative: 0.016 1.05; to_y: "elm.swallow.guide_text_label"; } + rel2 { relative: 0.982 1.0; to_y: "elm.swallow.guide_text_label"; } + image { + normal: "browser-view-images/most-visited-sites/I01_popup_bottom_bg.png"; + border: 3 3 2 3; + border_scale: 1; + } + } + } + part { + name: "elm.swallow.never_show_check_box"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 45 45; + max: 45 45; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to: "option_bg"; } + rel2 { relative: 0.15 1.0; to: "option_bg"; } + } + } + part { + name: "elm.swallow.never_show_text"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.0 0.0; + rel1 { relative: 1.0 0.2; to_x: "elm.swallow.never_show_check_box"; to_y: "elm.swallow.never_show_check_box"; } + rel2 { relative: 0.0 1.0; to_x: "elm.swallow.ok_button"; to_y: "elm.swallow.never_show_check_box"; } + } + } + part { + name: "elm.swallow.never_show_text_click_area"; + type: RECT; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.never_show_text"; } + rel2 { relative: 0.5 1.0; to: "elm.swallow.never_show_text"; } + color: 0 0 0 0; + } + } + part { + name: "elm.swallow.ok_button"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 75 0; + fixed: 1 0; + align: 1.0 0.5; + rel1 { relative: 0.98 0.2; to: "option_bg"; } + rel2 { relative: 0.98 0.8; to: "option_bg"; } + } + } + } + } + group { + name: "elm/gengrid/item/default_grid/browser/most_visited_sites/default"; + data.item: "contents" "elm.swallow.icon elm.swallow.end"; + + parts { + part { + name: "bg"; + type: RECT; + description { + state: "default" 0.0; + color: 0 0 0 0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + part { + name: "left_top_padding"; + type: RECT; + description { + state: "default" 0.0; + min: 8 15; + align: 0.0 0.0; + color: 0 0 0 0; + rel1 { relative: 0.0 0.0; to: "bg"; } + rel2 { relative: 0.0 0.0; to: "bg"; } + } + } + part { + name: "right_bottom_padding"; + type: RECT; + description { + state: "default" 0.0; + min: 7 0; + color: 0 0 0 0; + align: 1.0 1.0; + rel1 { relative: 1.0 1.0; to: "bg"; } + rel2 { relative: 1.0 1.0; to: "bg"; } + } + } + part { + name: "area_bg"; + type: RECT; + description { + state: "default" 0.0; + color: 0 0 0 0; + rel1 { relative: 1.0 1.0; to_x: "left_top_padding"; to_y: "left_top_padding";} + rel2 { relative: 0.0 0.0; to_x: "right_bottom_padding"; to_y: "right_bottom_padding";} + } + description { + state: "enabled" 0.0; + inherit: "default" 0.0; + rel1.offset: -6 -6; + rel2.offset: 5 5; + } + } + part { + name: "elm.swallow.icon"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; offset: 1 1; to: "area_bg"; } + rel2 { relative: 1.0 1.0; offset: -2 -2; to: "area_bg"; } + } + } + + part { + name: "elm.swallow.end"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "elm.swallow.icon"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.icon"; } + } + } + part { + name: "reorder_bg"; + type: RECT; + description { + state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + align: 0.0 0.0; + rel1 { relative: 0.075 0.075; to: "area_bg"; } + rel2 { relative: 0.925 0.925; to: "area_bg"; } + } + description { + state: "enabled" 0.0; + inherit: "default" 0.0; + color: 0 0 0 128; + visible: 1; + } + } + } + programs { + program { + name: "go_reorder_disabled"; + signal: "elm,state,reorder,disabled"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "area_bg"; + target: "reorder_bg"; + transition: ACCELERATE 0.3; + } + program { + name: "go_reorder_enabled"; + signal: "elm,state,reorder,enabled"; + source: "elm"; + action: STATE_SET "enabled" 0.0; + target: "area_bg"; + target: "reorder_bg"; + transition: ACCELERATE 0.3; + } + } + } +} \ No newline at end of file diff --git a/html/54_bg.jpg b/html/54_bg.jpg old mode 100755 new mode 100644 diff --git a/html/54_bg.png b/html/54_bg.png old mode 100755 new mode 100644 diff --git a/html/EmbedInHtml.html b/html/EmbedInHtml.html old mode 100755 new mode 100644 diff --git a/html/default_page.html b/html/default_page.html old mode 100755 new mode 100644 diff --git a/html/logo.png b/html/logo.png old mode 100755 new mode 100644 diff --git a/html/notFoundPage.html b/html/notFoundPage.html old mode 100755 new mode 100644 diff --git a/images/browser-view-images/controlbar/I01_toolbar_bg_grey.png b/images/browser-view-images/controlbar/I01_toolbar_bg_grey.png new file mode 100755 index 00000000..45d37ed8 Binary files /dev/null and b/images/browser-view-images/controlbar/I01_toolbar_bg_grey.png differ diff --git a/images/browser-view-images/controlbar/I01_toolbar_press.png b/images/browser-view-images/controlbar/I01_toolbar_press.png index 6921307e..a78feae4 100755 Binary files a/images/browser-view-images/controlbar/I01_toolbar_press.png and b/images/browser-view-images/controlbar/I01_toolbar_press.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_Btn_delete_01.png b/images/browser-view-images/most-visited-sites/I01_Btn_delete_01.png new file mode 100755 index 00000000..3d60d761 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_Btn_delete_01.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_Btn_delete_01_press.png b/images/browser-view-images/most-visited-sites/I01_Btn_delete_01_press.png new file mode 100755 index 00000000..8e5b4059 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_Btn_delete_01_press.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_button_popup_normal.png b/images/browser-view-images/most-visited-sites/I01_button_popup_normal.png new file mode 100755 index 00000000..79f8a59c Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_button_popup_normal.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_button_popup_press.png b/images/browser-view-images/most-visited-sites/I01_button_popup_press.png new file mode 100755 index 00000000..e6916710 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_button_popup_press.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_icon_bookmark_bg.png b/images/browser-view-images/most-visited-sites/I01_icon_bookmark_bg.png new file mode 100755 index 00000000..a3945b9d Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_icon_bookmark_bg.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_icon_bookmark_off.png b/images/browser-view-images/most-visited-sites/I01_icon_bookmark_off.png new file mode 100755 index 00000000..93b0504b Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_icon_bookmark_off.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_icon_bookmark_on.png b/images/browser-view-images/most-visited-sites/I01_icon_bookmark_on.png new file mode 100755 index 00000000..396d49be Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_icon_bookmark_on.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_popup_bg.png b/images/browser-view-images/most-visited-sites/I01_popup_bg.png new file mode 100755 index 00000000..ad2d7879 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_popup_bg.png differ diff --git a/images/browser-view-images/most-visited-sites/I01_popup_bottom_bg.png b/images/browser-view-images/most-visited-sites/I01_popup_bottom_bg.png new file mode 100755 index 00000000..c897f1f6 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/I01_popup_bottom_bg.png differ diff --git a/images/browser-view-images/most-visited-sites/bg-base.png b/images/browser-view-images/most-visited-sites/bg-base.png new file mode 100755 index 00000000..3ab8e0f4 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/bg-base.png differ diff --git a/images/browser-view-images/most-visited-sites/button-add.png b/images/browser-view-images/most-visited-sites/button-add.png new file mode 100755 index 00000000..e583f388 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/button-add.png differ diff --git a/images/browser-view-images/most-visited-sites/favorite.png b/images/browser-view-images/most-visited-sites/favorite.png new file mode 100755 index 00000000..946c5603 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/favorite.png differ diff --git a/images/browser-view-images/most-visited-sites/no-image.png b/images/browser-view-images/most-visited-sites/no-image.png new file mode 100755 index 00000000..cfb719b2 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/no-image.png differ diff --git a/images/browser-view-images/most-visited-sites/paper-clip.png b/images/browser-view-images/most-visited-sites/paper-clip.png new file mode 100755 index 00000000..56000631 Binary files /dev/null and b/images/browser-view-images/most-visited-sites/paper-clip.png differ diff --git a/images/browser-view-images/url-layout/I01_field_btn_Clear.png b/images/browser-view-images/url-layout/I01_field_btn_Clear.png new file mode 100755 index 00000000..fa984add Binary files /dev/null and b/images/browser-view-images/url-layout/I01_field_btn_Clear.png differ diff --git a/images/browser-view-images/url-layout/I01_search_icon.png b/images/browser-view-images/url-layout/I01_search_icon.png new file mode 100755 index 00000000..224056e6 Binary files /dev/null and b/images/browser-view-images/url-layout/I01_search_icon.png differ diff --git a/images/browser-view-images/url-layout/I01_search_input_field_bg.png b/images/browser-view-images/url-layout/I01_search_input_field_bg.png new file mode 100755 index 00000000..678a2568 Binary files /dev/null and b/images/browser-view-images/url-layout/I01_search_input_field_bg.png differ diff --git a/images/browser-view-images/url-layout/I01_toolbar_bg.png b/images/browser-view-images/url-layout/I01_toolbar_bg.png new file mode 100755 index 00000000..45d37ed8 Binary files /dev/null and b/images/browser-view-images/url-layout/I01_toolbar_bg.png differ diff --git a/images/browser-view-images/url-layout/private-badge.png b/images/browser-view-images/url-layout/private-badge.png new file mode 100755 index 00000000..bd425aad Binary files /dev/null and b/images/browser-view-images/url-layout/private-badge.png differ diff --git a/images/icon/I01_btn_dim.png b/images/icon/I01_btn_dim.png new file mode 100644 index 00000000..c5033bce Binary files /dev/null and b/images/icon/I01_btn_dim.png differ diff --git a/images/icon/I01_fit_screen.png b/images/icon/I01_fit_screen.png index 666ba6cb..e220fa06 100755 Binary files a/images/icon/I01_fit_screen.png and b/images/icon/I01_fit_screen.png differ diff --git a/images/icon/I01_icon_setting.png b/images/icon/I01_icon_setting.png new file mode 100755 index 00000000..a8a016c7 Binary files /dev/null and b/images/icon/I01_icon_setting.png differ diff --git a/images/icon/I01_picker_btn_normal.png b/images/icon/I01_picker_btn_normal.png new file mode 100755 index 00000000..22f82925 Binary files /dev/null and b/images/icon/I01_picker_btn_normal.png differ diff --git a/images/icon/I01_picker_btn_press.png b/images/icon/I01_picker_btn_press.png new file mode 100755 index 00000000..9487af60 Binary files /dev/null and b/images/icon/I01_picker_btn_press.png differ diff --git a/images/icon/I01_title_btn.png b/images/icon/I01_title_btn.png index 10a253fb..a8373601 100755 Binary files a/images/icon/I01_title_btn.png and b/images/icon/I01_title_btn.png differ diff --git a/images/icon/I01_title_btn_blue.png b/images/icon/I01_title_btn_blue.png new file mode 100755 index 00000000..10a253fb Binary files /dev/null and b/images/icon/I01_title_btn_blue.png differ diff --git a/images/icon/I01_title_btn_blue_press.png b/images/icon/I01_title_btn_blue_press.png new file mode 100755 index 00000000..f40f1347 Binary files /dev/null and b/images/icon/I01_title_btn_blue_press.png differ diff --git a/images/icon/I01_title_btn_icon_next.png b/images/icon/I01_title_btn_icon_next.png new file mode 100755 index 00000000..26661319 Binary files /dev/null and b/images/icon/I01_title_btn_icon_next.png differ diff --git a/images/icon/I01_title_btn_icon_next_disable.png b/images/icon/I01_title_btn_icon_next_disable.png new file mode 100755 index 00000000..d7c18b1c Binary files /dev/null and b/images/icon/I01_title_btn_icon_next_disable.png differ diff --git a/images/icon/I01_title_btn_icon_previous.png b/images/icon/I01_title_btn_icon_previous.png new file mode 100755 index 00000000..6321e374 Binary files /dev/null and b/images/icon/I01_title_btn_icon_previous.png differ diff --git a/images/icon/I01_title_btn_icon_previous_disable.png b/images/icon/I01_title_btn_icon_previous_disable.png new file mode 100755 index 00000000..81e9d3d9 Binary files /dev/null and b/images/icon/I01_title_btn_icon_previous_disable.png differ diff --git a/images/icon/I01_title_btn_press.png b/images/icon/I01_title_btn_press.png index f40f1347..7939f57e 100755 Binary files a/images/icon/I01_title_btn_press.png and b/images/icon/I01_title_btn_press.png differ diff --git a/images/install/I01_controlbar_icon_new_window.png b/images/install/I01_controlbar_icon_new_window.png new file mode 100755 index 00000000..d5c74489 Binary files /dev/null and b/images/install/I01_controlbar_icon_new_window.png differ diff --git a/images/install/I01_controlbar_icon_view_change.png b/images/install/I01_controlbar_icon_view_change.png new file mode 100755 index 00000000..33163602 Binary files /dev/null and b/images/install/I01_controlbar_icon_view_change.png differ diff --git a/images/install/I01_controlbar_icon_view_change_3x3.png b/images/install/I01_controlbar_icon_view_change_3x3.png new file mode 100755 index 00000000..612a3134 Binary files /dev/null and b/images/install/I01_controlbar_icon_view_change_3x3.png differ diff --git a/images/install/I01_icon_bookmark_off.png b/images/install/I01_icon_bookmark_off.png new file mode 100755 index 00000000..93b0504b Binary files /dev/null and b/images/install/I01_icon_bookmark_off.png differ diff --git a/images/install/I01_icon_bookmark_on.png b/images/install/I01_icon_bookmark_on.png new file mode 100755 index 00000000..396d49be Binary files /dev/null and b/images/install/I01_icon_bookmark_on.png differ diff --git a/images/install/I01_icon_location_allowed.png b/images/install/I01_icon_location_allowed.png new file mode 100644 index 00000000..866a0088 Binary files /dev/null and b/images/install/I01_icon_location_allowed.png differ diff --git a/images/install/I01_icon_location_allowed_small.png b/images/install/I01_icon_location_allowed_small.png new file mode 100644 index 00000000..c77f5d57 Binary files /dev/null and b/images/install/I01_icon_location_allowed_small.png differ diff --git a/images/install/I01_icon_location_denied.png b/images/install/I01_icon_location_denied.png new file mode 100644 index 00000000..0f0ec201 Binary files /dev/null and b/images/install/I01_icon_location_denied.png differ diff --git a/images/install/I01_icon_location_denied_small.png b/images/install/I01_icon_location_denied_small.png new file mode 100644 index 00000000..eccb52a2 Binary files /dev/null and b/images/install/I01_icon_location_denied_small.png differ diff --git a/images/install/I01_icon_web_storage.png b/images/install/I01_icon_web_storage.png new file mode 100644 index 00000000..65ded14a Binary files /dev/null and b/images/install/I01_icon_web_storage.png differ diff --git a/images/install/I01_icon_web_storage_small.png b/images/install/I01_icon_web_storage_small.png new file mode 100644 index 00000000..ee4c2c84 Binary files /dev/null and b/images/install/I01_icon_web_storage_small.png differ diff --git a/images/install/T01_btn_apps_resize.png b/images/install/T01_btn_apps_resize.png new file mode 100755 index 00000000..a111bce9 Binary files /dev/null and b/images/install/T01_btn_apps_resize.png differ diff --git a/images/install/T01_btn_optiontray.png b/images/install/T01_btn_optiontray.png deleted file mode 100755 index acaf908b..00000000 Binary files a/images/install/T01_btn_optiontray.png and /dev/null differ diff --git a/images/install/location_off.png b/images/install/location_off.png new file mode 100755 index 00000000..f542eb72 Binary files /dev/null and b/images/install/location_off.png differ diff --git a/images/install/location_on.png b/images/install/location_on.png new file mode 100755 index 00000000..19fd8cc9 Binary files /dev/null and b/images/install/location_on.png differ diff --git a/packaging/org.tizen.browser.spec b/packaging/org.tizen.browser.spec old mode 100644 new mode 100755 index ef0ae2b8..a85e380f --- a/packaging/org.tizen.browser.spec +++ b/packaging/org.tizen.browser.spec @@ -2,63 +2,74 @@ Name: org.tizen.browser Summary: webkit browser with EFL -Version: 0.1.14 -Release: 2 -Group: Applications -License: Flora Software License -Source0: %{name}-%{version}.tar.bz2 -#Patch0: change-float-abi.patch +Version: 0.0.1 +Release: 1 +Group: misc +License: TO_BE_FILLED +Source0: %{name}-%{version}.tar.gz Requires(post): /usr/bin/sqlite3 -BuildRequires: pkgconfig(appcore-efl) -BuildRequires: pkgconfig(gnutls) -BuildRequires: pkgconfig(appsvc) -BuildRequires: pkgconfig(db-util) -BuildRequires: pkgconfig(devman) -BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(ecore) -BuildRequires: pkgconfig(ecore-evas) -BuildRequires: pkgconfig(ecore-imf) -BuildRequires: pkgconfig(ecore-input) -BuildRequires: pkgconfig(ecore-x) -BuildRequires: pkgconfig(edbus) -BuildRequires: pkgconfig(edje) -BuildRequires: pkgconfig(eina) -BuildRequires: pkgconfig(elementary) -BuildRequires: pkgconfig(elm-webview) -BuildRequires: pkgconfig(evas) -BuildRequires: pkgconfig(ewebkit) -BuildRequires: pkgconfig(libsoup-2.4) -BuildRequires: pkgconfig(libssl) -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(notification) -BuildRequires: pkgconfig(secure-storage) -BuildRequires: pkgconfig(sensor) -BuildRequires: pkgconfig(tapi) -BuildRequires: pkgconfig(ui-gadget) -BuildRequires: pkgconfig(utilX) -BuildRequires: pkgconfig(accounts-svc) -BuildRequires: pkgconfig(libsoup-2.4) -BuildRequires: pkgconfig(ewebkit) -BuildRequires: pkgconfig(syspopup-caller) -BuildRequires: pkgconfig(capi-web-url-download) -BuildRequires: pkgconfig(capi-appfw-app-manager) -BuildRequires: pkgconfig(capi-appfw-application) -BuildRequires: pkgconfig(devman_haptic) + +BuildRequires: pkgconfig(eina) +BuildRequires: pkgconfig(ecore) +BuildRequires: pkgconfig(evas) +BuildRequires: pkgconfig(ecore-evas) +BuildRequires: pkgconfig(edbus) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(db-util) +BuildRequires: pkgconfig(utilX) +BuildRequires: pkgconfig(ui-gadget-1) +BuildRequires: pkgconfig(tapi) +BuildRequires: pkgconfig(secure-storage) +BuildRequires: pkgconfig(libsoup-2.4) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libssl) +BuildRequires: pkgconfig(capi-location-manager) +BuildRequires: pkgconfig(accounts-svc) +BuildRequires: pkgconfig(ecore-input) +BuildRequires: pkgconfig(ecore-imf) +BuildRequires: pkgconfig(edje) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(ecore-x) +BuildRequires: pkgconfig(ewebkit2) +BuildRequires: pkgconfig(appsvc) +BuildRequires: pkgconfig(devman) +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(capi-appfw-app-manager) +BuildRequires: pkgconfig(capi-web-url-download) +BuildRequires: pkgconfig(capi-network-connection) +BuildRequires: pkgconfig(capi-system-haptic) +BuildRequires: pkgconfig(shortcut) + +BuildRequires: pkgconfig(appcore-common) +BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(aul) +BuildRequires: pkgconfig(bundle) +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(embryo) +BuildRequires: pkgconfig(pkgmgr) +BuildRequires: pkgconfig(notification) +BuildRequires: pkgconfig(capi-base-common) +BuildRequires: pkgconfig(syspopup-caller) +BuildRequires: pkgconfig(pkgmgr) +BuildRequires: pkgconfig(vconf-internal-keys) +BuildRequires: pkgconfig(capi-system-device) +BuildRequires: pkgconfig(capi-system-sensor) + BuildRequires: cmake -BuildRequires: gettext-tools +BuildRequires: gettext BuildRequires: edje-tools %description webkit browser with EFL. - - %prep %setup -q -#%patch0 -p1 %build +CFLAGS+=" -fPIC";export CFLAGS +CXXFLAGS+=" -fPIC";export CXXFLAGS export LDFLAGS+="-Wl,--rpath=%{appdir}/lib -Wl,--hash-style=both -Wl,--as-needed" LDFLAGS="$LDFLAGS" cmake . -DCMAKE_INSTALL_PREFIX=%{appdir} @@ -69,37 +80,31 @@ make %{?jobs:-j%jobs} %make_install %post -# Change file owner -if [ ${USER} == "root" ] +mkdir -p /opt/dbspace/ +##### History ###### +if [ ! -f /opt/dbspace/.browser-history.db ]; then - # Change file owner - chown -R 5000:5000 /opt/apps/org.tizen.browser/data + sqlite3 /opt/dbspace/.browser-history.db 'PRAGMA journal_mode=PERSIST; + CREATE TABLE history(id INTEGER PRIMARY KEY AUTOINCREMENT, address, title, counter INTEGER, visitdate DATETIME, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER);' fi -### Bookmark ### +### Bookmark ### if [ ! -f /opt/dbspace/.internet_bookmark.db ]; then sqlite3 /opt/dbspace/.internet_bookmark.db 'PRAGMA journal_mode=PERSIST; - CREATE TABLE bookmarks(id INTEGER PRIMARY KEY AUTOINCREMENT, type INTEGER, parent INTEGER, address, title, creationdate, sequence INTEGER, updatedate, editable INTEGER, accesscount INTEGER, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER); + CREATE TABLE bookmarks(id INTEGER PRIMARY KEY AUTOINCREMENT, type INTEGER, parent INTEGER, address, title, creationdate, sequence INTEGER, updatedate, visitdate, editable INTEGER, accesscount INTEGER, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER); create index idx_bookmarks_on_parent_type on bookmarks(parent, type); insert into bookmarks (type, parent, title, creationdate, editable, sequence, accesscount) values(1, 0, "Bookmarks", DATETIME("now"), 0, 1, 0);' fi -##### History ###### -if [ ! -f /opt/dbspace/.browser-history.db ]; -then - sqlite3 /opt/dbspace/.browser-history.db 'PRAGMA journal_mode=PERSIST; - CREATE TABLE history(id INTEGER PRIMARY KEY AUTOINCREMENT, address, title, counter INTEGER, visitdate DATETIME, favicon BLOB, favicon_length INTEGER, favicon_w INTEGER, favicon_h INTEGER);' -fi +mkdir -p /opt/apps/org.tizen.browser/data/db/ -mkdir -p /opt/apps/org.tizen.browser/data/db -##### Notification ##### -if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser-notification.db ]; +##### Geolocation ###### +if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db ]; then - sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-notification.db 'PRAGMA journal_mode=PERSIST; - CREATE TABLE notification_table(id INTEGER PRIMARY KEY AUTOINCREMENT, notification INTEGER, title, body, url, iconURL, iconValidity INTEGER); - CREATE TABLE notification_permitted_domains(domain PRIMARY KEY);' + sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db 'PRAGMA journal_mode=PERSIST; + create table geolocation(id integer primary key autoincrement, address, accept INTEGER,updatedate DATETIME);' fi ##### Password ###### @@ -109,51 +114,61 @@ then create table passwords(id integer primary key autoincrement, address, login, password)' fi +##### Most visited ###### +if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db ]; +then + sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db 'PRAGMA journal_mode=PERSIST; + create table mostvisited(id integer primary key, address, title, image)' + + #default Sites + sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db 'PRAGMA journal_mode=PERSIST; + insert into mostvisited values(0, "http://mobile.twitter.com/", "Twitter", "default_0"); + insert into mostvisited values(1, "http://m.facebook.com/", "Facebook", "default_1"); + insert into mostvisited values(2, "http://m.naver.com/", "Naver", "default_2"); + insert into mostvisited values(3, "http://m.nate.com/", "Nate", "default_3")' +fi + #### USER AGENTS ##### -#initDB -#rm /opt/apps/org.tizen.browser/data/db/.browser.db -# create db -#FILE = /opt/apps/org.tizen.browser/data/db/.browser.db if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser.db ]; then sqlite3 /opt/apps/org.tizen.browser/data/db/.browser.db 'PRAGMA journal_mode=PERSIST; create table user_agents(name primary key, value)' - # mobile + # mobile sqlite3 /opt/apps/org.tizen.browser/data/db/.browser.db 'PRAGMA journal_mode=PERSIST; - insert into user_agents values("Galaxy S", "Mozilla/5.0 (Linux; U; Android 2.3.3; en-gb; GT-I9000 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); - insert into user_agents values("Galaxy S II", "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; GT-I9100 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); + insert into user_agents values("Galaxy S", "Mozilla/5.0 (Linux; U; Android 2.3.7; en-gb; GT-I9000 Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); + insert into user_agents values("Galaxy S II", "Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; GT-I9100 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); + insert into user_agents values("Galaxy S III", "Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; GT-I9300 Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"); insert into user_agents values("SLP Galaxy", "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; GT-I9500 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); insert into user_agents values("Tizen", "Mozilla/5.0 (Linux; U; Tizen 1.0; en-us) AppleWebKit/534.46 (KHTML, like Gecko) Mobile Tizen Browser/1.0"); - insert into user_agents values("Galaxy Nexus", "Mozilla/5.0 (Linux; U; Android 4.0.1; en-us; Galaxy Nexus Build/ITL31) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"); + insert into user_agents values("Galaxy Nexus", "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; Galaxy Nexus Build/IML74K) AppleWebKit/535.7 (KHTML, like Gecko) Mobile Safari/535.7"); insert into user_agents values("Samsung", "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-I9200/1.0; U; Linux/SLP/2.0; ko-kr) AppleWebKit/534.4 (KHTML, like Gecko) Dolfin/2.0 Mobile"); insert into user_agents values("Samsung Dolfin", "SAMSUNG-GT-S8500/S8500XXJD2 SHP/VPP/R5 Dolfin/2.0 Nextreaming SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1"); - insert into user_agents values("Apple iPhone 3", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3"); - insert into user_agents values("Apple iPhone 4", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8C148 Safari/6533.18.5"); - insert into user_agents values("Apple iOS 5", "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.0.2 Mobile/9A5259f Safari/6533.18.5"); - insert into user_agents values("Android 2.1 (Nexus One)", "Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"); - insert into user_agents values("Opera Mobi", "Opera/9.80 (Windows NT 6.1; Opera Mobi/49; U; en) Presto/2.4.18 Version/10.00"); + insert into user_agents values("Apple iPhone 3", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_3 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7E18 Safari/528.16"); + insert into user_agents values("Apple iPhone 4", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5"); + insert into user_agents values("Apple iOS 5", "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3"); + insert into user_agents values("Android 2.3 (Nexus One)", "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Nexus One Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"); + insert into user_agents values("Opera Mobi", "Opera/9.80 (Windows NT 6.1; U; Edition IBIS; en) Presto/2.6.30 Version/10.63"); insert into user_agents values("Samsung Bada", "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/1.0; U; Bada/1.0; en-us) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WVGA SMM-MMS/1.2.0 OPN-B"); insert into user_agents values("Orange TV", "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3 OrangeAppliTV/2.3.9"); insert into user_agents values("Chrome Browser for android", "Mozilla/5.0 (Linux; U; Android 4.0.1; ko-kr; Galaxy Nexus Build/ITL41F) AppleWebKit/535.7 (KHTML, like Gecko) CrMo/16.0.912.75 Mobile Safari/535.7"); + insert into user_agents values("MANGO(Nokia 800C)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Nokia; 800C)"); + insert into user_agents values("System user agent", ""); insert into user_agents values("Samsung Bada 2.0", "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/1.0; U; Bada/2.0; en-us) AppleWebKit/534.20 (KHTML, like Gecko) Mobile WVGA SMM-MMS/1.2.0 OPN-B Dolfin/3.0")' # desktop sqlite3 /opt/apps/org.tizen.browser/data/db/.browser.db 'PRAGMA journal_mode=PERSIST; insert into user_agents values("Samsung Desktop", "Mozilla/5.0 (U; Linux/SLP/2.0; ko-kr) AppleWebKit/533.1 (KHTML, like Gecko)"); - insert into user_agents values("Firefox 5", "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20110706 Firefox/5.0 "); + insert into user_agents values("Firefox 5", "Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"); insert into user_agents values("Firefox 5 Fennec(Mobile)", "Mozilla/5.0 (Android; Linux armv7l; rv:5.0) Gecko/20110615 Firefox/5.0 Fennec/5.0"); - insert into user_agents values("Safari 5.0", "Mozilla/5.0 (Windows; U; Windows NT 6.1; ja-JP) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16"); - insert into user_agents values("Google Chrome 13.0", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41 Safari/535.1"); - insert into user_agents values("Internet Explorer 9", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"); + insert into user_agents values("Safari 5.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7"); + insert into user_agents values("Google Chrome 18.0", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.16 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.16"); + insert into user_agents values("Internet Explorer 9", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"); insert into user_agents values("Galaxy Tab 10.1", "Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; GT-P7100 Build/HRI83) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"); - insert into user_agents values("iPad 2", "Mozilla/5.0(iPad; U; CPU OS 4_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5")' + insert into user_agents values("iPad 2", "Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5")' fi -#init cookies DB -#rm /optpps/org.tizen.browser/data/db/dbspace/.browser-cookies.db -# create cookies db -#FILE = /opt/apps/org.tizen.browser/data/db/.browser-cookies.db +# create cookies db if [ ! -f /opt/apps/org.tizen.browser/data/db/.browser-cookies.db ]; then sqlite3 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db 'CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, name TEXT, value TEXT, host TEXT, path TEXT,expiry INTEGER, lastAccessed INTEGER, isSecure INTEGER, isHttpOnly INTEGER);' @@ -162,146 +177,54 @@ then fi # Change db file owner & permission -if [ ${USER} == "root" ] -then - #chown root:root /opt/apps/org.tizen.browser/data/db - chown -R 5000:5000 /opt/apps/org.tizen.browser/data/db - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser.db - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser.db-journal - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db-journal - chown :6002 /opt/dbspace/.browser-history.db - chown :6002 /opt/dbspace/.browser-history.db-journal - chown :6002 /opt/dbspace/.internet_bookmark.db - chown :6002 /opt/dbspace/.internet_bookmark.db-journal - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-credential.db - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-credential.db-journal - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-notification.db - chown :6002 /opt/apps/org.tizen.browser/data/db/.browser-notification.db-journal - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser.db - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser.db-journal - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db-journal - chmod 666 /opt/dbspace/.browser-history.db - chmod 666 /opt/dbspace/.browser-history.db-journal - chmod 660 /opt/dbspace/.internet_bookmark.db - chmod 660 /opt/dbspace/.internet_bookmark.db-journal - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-credential.db - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-credential.db-journal - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-notification.db - chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-notification.db-journal -fi +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser.db +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser.db-journal +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db-journal +chown :5000 /opt/dbspace/.browser-history.db +chown :5000 /opt/dbspace/.browser-history.db-journal +chown :5000 /opt/dbspace/.internet_bookmark.db +chown :5000 /opt/dbspace/.internet_bookmark.db-journal +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-credential.db +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-credential.db-journal +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db-journal +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db +#chown :5000 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db-journal +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser.db +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser.db-journal +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-cookies.db-journal +chmod 666 /opt/dbspace/.browser-history.db +chmod 666 /opt/dbspace/.browser-history.db-journal +chmod 666 /opt/dbspace/.internet_bookmark.db +chmod 666 /opt/dbspace/.internet_bookmark.db-journal +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-credential.db +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-credential.db-journal +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db-journal +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db +chmod 660 /opt/apps/org.tizen.browser/data/db/.browser-geolocation.db-journal ################################################## # set default vconf values ################################################## -if [ ${USER} == "root" ] -then - vconftool set -t bool db/browser/ShowMySitesGuide 1 -g 6514 - vconftool set -t string db/browser/Last/Url "" -g 6514 - vconftool set -t string db/browsersetting/LastVisitedUrl "" -g 6514 - vconftool set -t int db/browser/BrowserBrightnessLevel -1 -g 6514 -# Browser settings vconf values -# Set vconf values with -g/-u options - vconftool set -t string db/browsersetting/Homepage "Most visited sites" -g 6514 # "Most visited sites", "user set site", "Empty page" - vconftool set -t string db/browsersetting/HomepageMode "MOST_VISITED_SITES" -g 6514 - vconftool set -t string db/browsersetting/UserAgent "Tizen" -g 6514 - vconftool set -t string db/browsersetting/UserHomepage "www.tizen.org" -g 6514 # default site is www.tizen.org - vconftool set -t string db/browsersetting/DefaultViewLevel "Readable" -g 6514 # "Readable", "Fit to width" - vconftool set -t bool db/browsersetting/EnableLandscape 1 -g 6514 - vconftool set -t bool db/browsersetting/RunJavaScript 1 -g 6514 - vconftool set -t bool db/browsersetting/DisplayImages 1 -g 6514 - vconftool set -t bool db/browsersetting/BlockPopup 1 -g 6514 - vconftool set -t string db/browsersetting/AutoSaveIDPassword "Always ask" -g 6514 # "On", "Off" - vconftool set -t string db/browsersetting/SaveIDPassword "ALWAYS_ASK" -g 6514 # "On", "Off" - vconftool set -t string db/browsersetting/CustomUserAgent "" -g 6514 - # set default vconf value for reader - vconftool set -t bool db/browsersetting/RunReader 1 -g 6514 - vconftool set -t int db/browsersetting/FontSize 16 -g 6514 - # set default vconf value for plugins - vconftool set -t bool db/browsersetting/RunPlugins 1 -g 6514 - vconftool set -t bool db/browsersetting/RunFlash 0 -g 6514 - vconftool set -t bool db/browsersetting/PauseFlash 1 -g 6514 - # set search vconf - vconftool set -t string db/browsersetting/SearchEngine "Google" -g 6514 # "Google", "Yahoo", "Bing" - vconftool set -t string db/browsersetting/SearchUrl "http://www.google.com/m/search?q=" -g 6514 - vconftool set -t bool db/browsersetting/SearchCaseSensitive 0 -g 6514 - # privacy - vconftool set -t string db/browsersetting/CookieOption "Accept all" -g 6514 - vconftool set -t bool db/browsersetting/CookieOptionInt 1 -g 6514 - # performance - vconftool set -t bool db/browsersetting/FastRendering 1 -g 6514 - vconftool set -t bool db/browsersetting/LargeRenderingBuffer 1 -g 6514 - vconftool set -t bool db/browsersetting/AcceleratedComposition 1 -g 6514 - vconftool set -t bool db/browsersetting/SamsungAppsInstall 0 -g 6514 - vconftool set -t bool db/browsersetting/ExternalVideoPlayer 0 -g 6514 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/CompositedRenderLayerBorders 0 -g 6514 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/PhysicsEngine 0 -g 6514 - vconftool set -t bool db/browsersetting/RecordingSurface 0 -g 6514 - vconftool set -t bool db/browsersetting/RemoteWebInspector 0 -g 6514 - vconftool set -t bool db/browsersetting/DemoSetting 0 -g 6514 - vconftool set -t bool db/browsersetting/DemoMode 0 -g 6514 -else - vconftool set -t bool db/browser/ShowMySitesGuide 1 - vconftool set -t string db/browser/Last/Url "" - vconftool set -t string db/browsersetting/LastVisitedUrl "" - vconftool set -t int db/browser/BrowserBrightnessLevel -1 -# Browser settings vconf values -# Set without -g, -u options - vconftool set -t string db/browsersetting/Homepage "Recently visited site" # "Recently visited site", "user set site", "Empty page" - vconftool set -t string db/browsersetting/HomepageMode "MOST_VISITED_SITES" - vconftool set -t string db/browsersetting/UserHomepage "www.tizen.org" # default site is www.tizen.org - vconftool set -t string db/browsersetting/UserAgent "Tizen" - vconftool set -t string db/browsersetting/DefaultViewLevel "Readable" # "Readable", "Fit to width" - vconftool set -t bool db/browsersetting/EnableLandscape 1 - vconftool set -t bool db/browsersetting/RunJavaScript 1 - vconftool set -t bool db/browsersetting/DisplayImages 1 - vconftool set -t bool db/browsersetting/BlockPopup 1 - vconftool set -t string db/browsersetting/AutoSaveIDPassword "Always ask" # "On", "Off" - vconftool set -t string db/browsersetting/SaveIDPassword "ALWAYS_ASK" - vconftool set -t string db/browsersetting/CustomUserAgent "" - # set default vconf value for reader - vconftool set -t bool db/browsersetting/RunReader 1 - vconftool set -t int db/browsersetting/FontSize 16 - # set default vconf value for plugins - vconftool set -t bool db/browsersetting/RunPlugins 1 - vconftool set -t bool db/browsersetting/RunFlash 0 - # set search vconf - vconftool set -t string db/browsersetting/SearchEngine "Google" # "Google", "Yahoo", "Bing" - vconftool set -t string db/browsersetting/SearchUrl "http://www.google.com/m/search?q=" - vconftool set -t bool db/browsersetting/SearchCaseSensitive 0 - # privacy - vconftool set -t string db/browsersetting/CookieOption "Accept all" - vconftool set -t bool db/browsersetting/CookieOptionInt 1 - # performance - vconftool set -t bool db/browsersetting/FastRendering 1 - vconftool set -t bool db/browsersetting/LargeRenderingBuffer 1 - vconftool set -t bool db/browsersetting/AcceleratedComposition 1 - vconftool set -t bool db/browsersetting/SamsungAppsInstall 0 - vconftool set -t bool db/browsersetting/ExternalVideoPlayer 0 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/CompositedRenderLayerBorders 0 # if the AcceleratedComposition is 0, this must be 0 - vconftool set -t bool db/browsersetting/PhysicsEngine 0 - vconftool set -t bool db/browsersetting/RecordingSurface 0 - vconftool set -t bool db/browsersetting/RemoteWebInspector 0 - vconftool set -t bool db/browsersetting/DemoMode 0 - vconftool set -t bool db/browsersetting/DemoSetting 0 -fi +vconftool set -t string db/browser/browser_user_agent "System user agent" -g 5000 -f +vconftool set -t string db/browser/custom_user_agent "" -g 5000 -f + +# Change file owner +chown -R 5000:5000 /opt/apps/org.tizen.browser/data %files +%defattr(-,root,root,-) /opt/apps/org.tizen.browser/bin/browser -%dir %attr(-,inhouse,inhouse) /opt/apps/org.tizen.browser/data -%dir %attr(-,inhouse,inhouse) /opt/apps/org.tizen.browser/data/db -/opt/apps/org.tizen.browser/data/screenshots/default_0 -/opt/apps/org.tizen.browser/data/screenshots/default_1 -/opt/apps/org.tizen.browser/data/screenshots/default_2 -/opt/apps/org.tizen.browser/data/screenshots/default_3 -/opt/apps/org.tizen.browser/res/html/54_bg.png -/opt/apps/org.tizen.browser/res/html/EmbedInHtml.html -/opt/apps/org.tizen.browser/res/html/default_page.html -/opt/apps/org.tizen.browser/res/html/logo.png -/opt/apps/org.tizen.browser/res/html/notFoundPage.html -/opt/apps/org.tizen.browser/res/icons/default/small/org.tizen.browser.png +/opt/apps/org.tizen.browser/data/screenshots/default_* +/opt/apps/org.tizen.browser/res/edje/*.edj +/opt/apps/org.tizen.browser/res/html/* +/opt/share/icons/default/small/org.tizen.browser.png +/opt/apps/org.tizen.browser/res/images/*.png /opt/apps/org.tizen.browser/res/locale/*/*/browser.mo -/opt/apps/org.tizen.browser/res/images/* -/opt/apps/org.tizen.browser/res/edje/* -/opt/share/applications/* +/opt/apps/org.tizen.browser/data/default_application_icon.png +/opt/apps/org.tizen.browser/data/config_sample.xml +/opt/share/applications/org.tizen.browser.desktop +/opt/apps/org.tizen.browser/data/xml/ diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index 3d2288f7..3904a671 100755 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -1,6 +1,7 @@ # for i18n -SET(POFILES en.po ja_JP.po ko_KR.po zh_CN.po de_DE.po el_GR.po es_ES.po fr_FR.po it_IT.po nl_NL.po pt_PT.po ru_RU.po tr_TR.po zh_HK.po zh_TW.po) +SET(POFILES en.po ar.po bg.po ca.po cs.po da.po de_DE.po el_GR.po es_ES.po fi.po fr_FR.po he.po hi.po hr.po hr.po id.po it_IT.po ja_JP.po ko_KR.po lt.po lv.po ms.po nl_NL.po no.po pl.po pt_PT.po +ro.po ru_RU.po sk.po sl.po sr.po sv.po th.po tr_TR.po uk.po vi.po zh_CN.po zh_HK.po zh_TW.po) SET(MSGFMT "/usr/bin/msgfmt") diff --git a/po/ar.po b/po/ar.po new file mode 100755 index 00000000..b872b711 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "جاري الإخطار..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "جاري المعالجة..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "تمت المعالجة" + +msgid "IDS_BR_SK_RETRY" +msgstr "Ø¥. محاولة" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "مدير التحميل" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "الموصف غير صالح" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "غير قادر على فتح ملف" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "تنزيل؟" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "محدد" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "تم إلغاء التنزيل" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "المتابعة من آخر صفحة" + +msgid "IDS_BR_BODY_PAGE" +msgstr "الصفحة" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "القاموس" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "حول المتصفح" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "النوع" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "المصدر" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "عرض الصور" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "تنزيل" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "أدخل الموقع الإلكتروني" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "المجلد" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "الصفحة الرئيسية" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "عرض أفقي" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "لا يوجد علامات" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "لا توجد نتائج" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "اختياري" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "تشغيل فلاش" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "تشغيل JAVAscript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "الاسم الشائع:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "الوحدة التابعة للمؤسسة:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "المؤسسة:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "عميل مستخدم" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "الأولويات" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "خطأ في التفعيل" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "‏‏قيد التشغيل بالفعل..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "غير مطبق" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "فشل التوثيق" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "احفظ فوق؟" + +msgid "IDS_BR_POP_URL" +msgstr "الموقع" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "المحفوظات" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "قائمة التحميل" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "تم التثبيت بالفعل" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "قيد الإشعار..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "محتوى غير مدعوم" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "خطأ: يتعذر تحليل اسم المضيف" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "يتعذر الوصول إلى الوكيل" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "لا توجد شهادات SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "حجم الملف يتجاوز أقصى حد مسموح للتحميل" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "إدخال الاسم:" + +msgid "IDS_BR_SK_NEXT" +msgstr "التالي" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "مجلد جديد" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "إضافة لإش.مرجعية" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "إطار جديد" + +msgid "IDS_BR_BODY_URL" +msgstr "الموقع" + +msgid "IDS_BR_BODY_URL_C" +msgstr "الموقع:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "عنوان URL غير متاح" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "عنوان URL %s غير متاح. قد يكون معطلا بشكل مؤقت أو لم يعد مستخدما" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "المجلد" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "اسم المجلد" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "اسم الملف قيد الاستخدام بالفعل" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "لا يوجد عنوان" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "الإطار المتعدد" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "لا توجد محفوظات" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "أضف للعلامات" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "تعديل العلامة" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "اسم المجلد:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "اختيار الكل" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "مدير التحميل" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "إضافة موجز RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "إضافة RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "الضبط" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "أدخل الموقع الالكتروني" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "كلمة المرور" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "عنوان غير صحيح" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "موجود بالفعل في قائمة التنزيلات" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "أدخل اسم المجلد" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "لا توجد صفحة" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "لا توجد صفحات سابقة" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "لا توجد صفحات تالية" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "لا توجد صفحة لإعادة التحميل" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "مطلوب التوثيق" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "العلامة موجودة بالفعل" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "اسم المجلد موجود مسبقا" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "يتعذر حفظ العنصر. المساحة غير كافية في ذاكرة التخزين المؤقت" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "تحديد العناصر" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "معلومات الشهادة" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "مشاركة عبر البريد الإلكتروني" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "مشاركة عبر الرسائل" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "مشاركة عبر" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "يتعذر بدء تشغيل المستعرض" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "لا يوجد عنوان" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "عدم الإظهار مرة أخرى" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "اسم الملف فارغ" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "إنشاء مجلد" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "محدد" + +msgid "IDS_BR_OPT_SHARE" +msgstr "مشاركة" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "الصفحات التي تمت زيارتها مؤخرا" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "الشاشة" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "ملائمة للعرض" + +msgid "IDS_BR_BODY_READABLE" +msgstr "مقروء" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "الخصوصية" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "ملفات تعريف الارتباط" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "قبول الكل" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "إسأل أولا" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "ملفات تعريف الارتباط" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "قبول ملفات تعريف الارتباط" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "قبول ملفات تعريف الارتباط" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "قبول الكل" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "رفض الكل" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "حفظ تلقائي للمعرف/كلمة المرور" + +msgid "IDS_BR_BODY_ON" +msgstr "مفعل" + +msgid "IDS_BR_BODY_OFF" +msgstr "غير مفعل" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "ذاكرة التخزين الافتراضية" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "بحث" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "حفظ الصورة" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "البطارية منخفضة الشحن. يتعذر تشغيل المستعرض" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "البحث عن الكلمة" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "إضافة إلى الشاشة الرئيسية" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "إضافة إلى الشاشة الرئيسية" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "المواقع الأكثر زيارة" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "مشاركة عبر Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "مشاركة عبر Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "تغيير العرض" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "تحديد عناوين URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "يحاول هذا الموقع فتح إطار منبثق" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "منع الإطارات المنبثقة" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "قارئ النص" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "نسخ الصورة" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "حفظ الصورة" + +msgid "IDS_BR_BODY_PLAY" +msgstr "تشغيل" + +msgid "IDS_BR_OPT_SELECT" +msgstr "اختيار" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "الانتقال إلى السابق" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "الانتقال إلى التالي" + +msgid "IDS_BR_OPT_STOP" +msgstr "إيقاف" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "إعادة التحميل" + +msgid "IDS_BR_OPT_PASTE" +msgstr "لصق" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "المزيد" + +msgid "IDS_BR_POP_FAIL" +msgstr "فشل" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "فتح في إطار جديد" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "عرض قائمة التنزيل" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "نسخ الموقع الإلكتروني" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "نسخ الموقع الالكتروني إلى" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "عرض الصور" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "إعدادات الخصوصية" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "مسح الذاكرة المؤقتة" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "مسح السجل" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "تفعيل الوظائف الإضافية" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "تحديد محرك بحث" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "حذف اسم المستخدم/كلمة المرور المحفوظ" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "مسح كافة بيانات ملفات الارتباط" + +msgid "IDS_BR_BODY_UP" +msgstr "أعلى" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "حجم الخط" + +msgid "IDS_BR_POP_DELETED" +msgstr "تم المسح" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "العرض الافتراضي" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "إعدادات محتوى الصفحة" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "حساس لحالة الأحرف" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "توصيل" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "قائمة المكونات الإضافية" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "التخزين المحلي" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "حذف بيانات الاستعراض" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "جاري التحميل ..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "جاري التحميل ..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "أدخل الموقع الإلكتروني" + +msgid "IDS_BR_OPT_LOCK" +msgstr "قفل" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "إلغاء القفل" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "تعديل" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "ص لأعلى" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "ص لأسفل" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "وضع المطور" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "خالي" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "الشهادات" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "العلامات" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "أدخل الاسم" + +msgid "IDS_BR_BODY_NAME" +msgstr "الاسم" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "إرسال بالبريد الإلكتروني" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "إرسال عبر رسالة" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "الضبط" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "اسم المستخدم" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "موجود مسبقا" + +msgid "IDS_BR_POP_SAVED" +msgstr "تم الحفظ" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "الذاكرة لا تكفي" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "خطأ في الشبكة" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "اسأل دائما" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "بطاقة الذاكرة" + +msgid "IDS_BR_BODY_PHONE" +msgstr "الهاتف" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "لا توجد حسابات" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "خطأ في الصفحة" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "صفحة الويب غير متاحة مؤقتا" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "صفحة الويب‬ غير متاحة" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "فشل تحميل إطارات" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "حدث الخطأ التالي أثناء استرداد صفحة الويب %s." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "يتعذر استرداد صفحة الويب. (ربما يوجد عطل مؤقت بصفحة الويب أو تم نقلها إلى عنوان URL جديد)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "السبب الأرجح موضح أدناه" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "لم يتم إنشاء اتصال الشبكة بطريقة عادية" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "تحقق من عنوان URL لصفحة الويب" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "إعادة تحميل صفحة الويب لاحقا" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "علامة" + +msgid "IDS_BR_BODY_TITLE" +msgstr "العنوان" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "أدخل العنوان" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "المجلدات" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "السماح" + +msgid "IDS_BR_POP_REFUSE" +msgstr "رفض" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "خطأ بالأمان: شهادة خادم غير موثوقة" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "تم تحديد %d عناصر" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "تم تحديد عنصر واحد" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "إضافة إلى مقطع ويب" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "تم إنشاء اختصارا" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "تحديد كلمة" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "البحث في الصفحة" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "البحث في الصفحة" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "الإنترنت" + +msgid "IDS_BR_OPT_LIST" +msgstr "اللائحة" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "اختيار الكل" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "رسالة" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "بريد إلكتروني" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "إلغاء" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "نسخ عنوان الارتباط" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "عرض الصور" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "فتح في صفحة جديدة" + +msgid "IDS_BR_OPT_OPEN" +msgstr "فتح" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "اختيار النص فعال" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "العلامات" + +msgid "IDS_BR_SK_EDIT" +msgstr "تعديل" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "مسح" + +msgid "IDS_BR_SK_DELETE" +msgstr "مسح" + +msgid "IDS_BR_SK_CANCEL" +msgstr "إلغاء" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "تعديل العلامة" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "الرسائل" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "بريد إلكتروني" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "تعديل" + +msgid "IDS_BR_SK3_DELETE" +msgstr "مسح" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "أضف للعلامات" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "حجم الخط" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "كبير" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "صغير" + +msgid "IDS_BR_BODY_SPEED" +msgstr "السرعة" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "عنوان التفويض" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "منفذ الوكيل" + +msgid "IDS_BR_SK_DONE" +msgstr "تمت" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "النسخة" + +msgid "IDS_BR_SK_INSTALL" +msgstr "تثبيت" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "الصفحة الحالية" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "أدخل اسم المجلد" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "أدخل اسم الإشارة المرجعية" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "عدم السؤال مرة أخرى" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "لم يتم العثور على URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "يطالب %s بتحديد موقعك" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "تذكر الأفضلية" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "عرض الصور" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "عرض تحذيرات الأمان" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "تذكر كلمات المرور" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "مسح كلمات المرور" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "حذف جميع كلمات المرور المحفوظة؟" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "حذف جميع ملفات التعريف. متابعة؟" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "تذكر بيانات النموذج" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "إعادة الضبط إلى الافتراضي" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "الضبط إلى جميع الإعدادات الافتراضية. متابعة؟" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "مسح الذاكرة المؤقتة؟" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "هل تريد مسح كل السجل؟" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "سيتم مسح محفوظات تنقل المستعرض" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "التشغيل دوما" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "تمكين الموقع" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "إلغاء إمكانية الوصول إلى الموقع" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "غير قادر على إضافة علامة. وصل إلى الحد الأقصى لعدد العلامات" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "هل تريد حذف معلومات الوصول إلى موقع الويب؟" + +msgid "IDS_BR_BODY_PRINT" +msgstr "طباعة" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "ابحث عن عنوان URL أو أدخله" + +msgid "IDS_BR_BODY_AUTO" +msgstr "تلقائي" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "يدوي" + +msgid "IDS_BR_BODY_LOW" +msgstr "غير هامة" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "وسط" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "صفحة فارغة" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "فشل التثبيت" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "إعدادات موقع الويب" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "مرتفعة" + diff --git a/po/bg.po b/po/bg.po new file mode 100755 index 00000000..52a65dac --- /dev/null +++ b/po/bg.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Известяване..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Обработване..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Обработката е завършена" + +msgid "IDS_BR_SK_RETRY" +msgstr "Отново" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Диспечер на изтеглянето" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Невалиден дескриптор" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Файлът не може да се отвори" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Изтегляне?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Избран" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Изтеглянето отменено" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Продължи от посл. стр." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Страница" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Речник" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "За браузъра" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Тип" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Издал" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Покажи изображения" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Изтегляне" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Въведете URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Папка" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Начална страница" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Пейзажно" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Няма показалци" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Няма намерени резултати" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "По желание" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Изпълнение на Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Изпълнение на JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Общо име:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Организационна единица:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Организация:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Потребителски агент" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Предпочитания" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Грешка при активирането" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Вече се изпълнява" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Не е реализирано" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Неуспешно удостоверяване" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Презапис?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Хронология" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Списък за изтегляне" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Вече е инсталирано" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Известяване..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Неподдържано съдържание" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Грешка: името на хоста не може да се преобразува" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Не може да се достигне до прокси сървъра" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Няма SSL сертификати" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Размерът на файла надхвърля максималния размер за качване" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Въведете име:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Следващ" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Ръчно" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Добави към Показалци" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Нов прозорец" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL не е достъпен" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s не е достъпен. Вероятно временно е спрян или вече не се използва" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Папка" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Име на папка" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Вече има папка с това име" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Няма заглавие" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Множ. прозорец" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Няма хронологии" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Добави към маркери" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Редактиране на показалец" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Име на папка:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Избери всички" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Диспечер на изтеглянето" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Добави RSS емисия" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Добавяне на RSS емисии" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Настройки" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Въведете URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Парола" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Невалиден адрес" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Вече съществува в списъка за изтегляне" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Въведете име на папка" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Няма страница" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Назад няма страници" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Напред няма страници" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Няма страница за презареждане" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Изисква се удостоверяване" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Показалецът вече съществува" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Името на папка вече същест- вува" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Обектът не може да се запамети. Няма достатъчно място в кеша" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Изберете елементи" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Информация за сертификат" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Споделяне през email" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Споделяне чрез Съобщения" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Споделяне чрез" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Не може да се стартира браузърът" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Няма адрес" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Не показвай повече" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Празно име на файл" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Създай папка" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Избран" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Споделям" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Наскоро посещавани страници" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Дисплей" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Побиране в ширината" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Четима" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Поверителност" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Бисквитки" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Приемане на всички" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Напомняне" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Бисквитки" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Приемане на бисквитки" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Приемане на бисквитки" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Приемане на всички" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Отхвърляне на всички" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "ИД/парола за автоматично запаметяване" + +msgid "IDS_BR_BODY_ON" +msgstr "Включено" + +msgid "IDS_BR_BODY_OFF" +msgstr "Изключено" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Основно съхранение" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Търси" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Запис на изображение" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Изтощена батерия. Не може да се пусне браузъра" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Търсене на дума" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Добавяне към началния екран" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Добавяне към началния екран" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Най-посещавани сайтове" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Споделяне чрез Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Споделяне чрез Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Смяна на изглед" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Избрани URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Този сайт се опитва да отвори изскачащ прозорец" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Блок. изскачащи прозорци" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Четец на текст" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Копиране на изображение" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Запис на изображение" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Изпълняване" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Избор" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Връщане назад" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Отиване напред" + +msgid "IDS_BR_OPT_STOP" +msgstr "Спри" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Презареждане" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Поставяне" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Още" + +msgid "IDS_BR_POP_FAIL" +msgstr "Неуспешно" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Отв. в нов прозорец" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Преглед списък на изтеглени" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Копиране на URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Копиране на URL в" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Покажи изображ." + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Настройки за поверителност" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Изчистване на кеша / Изчисти кеша" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Изтриване на хронология" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Активиране на добавките" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Избор на машина за търсене" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Изтрий запаметените ИД/парола" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Изчистване на всички данни от бисквитки" + +msgid "IDS_BR_BODY_UP" +msgstr "Нагоре" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Размер на шрифта" + +msgid "IDS_BR_POP_DELETED" +msgstr "Изтрито" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Изглед по подразбиране" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Настр.съдържание страници" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "С разлика между главни и малки букви" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Включване" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Списък на добавките" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Локално съхранение" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Изтрий данните на браузъра" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Зареждане" + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Зареждане" + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Въведете URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Заключване" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Отключване" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Промяна" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Стр. нагоре" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Стр. надолу" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Режим за разработчици" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Празно" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Сертификати" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Показалци" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Въведете име" + +msgid "IDS_BR_BODY_NAME" +msgstr "Име" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Изпращане чрез email" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Изпращане като съобщение" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Настройки" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Потребителско име" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Вече съществува" + +msgid "IDS_BR_POP_SAVED" +msgstr "Записан" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Няма достатъчно памет" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Грешка на мрежата" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Винаги питай" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Карта с памет" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Телефон" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Няма акаунти" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Страница за грешка" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Уеб страницата временно не е достъпна" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Уеб страницата не е достъпна" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Неуспешно зареждане на рамки" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "По време на извличането на уеб страницата %s възникна следната грешка." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Уеб страницата не може да се извлече. (Уеб страницата може да е временно недостъпна или да има нов URL адрес)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Най-вероятната причина е дадена по-долу" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Връзката с мрежата не е установена нормално" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Проверка на URL адреса на уеб страницата" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Презареждане на уеб страницата по-късно" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Показалец" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Заглавие" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Въведете заглавие" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Папки" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Разрешаване" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Отказвам" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Грешка от защитата: Ненадежден сертификат на сървъра" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Избрани са %d елемента" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "Избран е 1 елемент" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Добави в уеб клип" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Създаден е бърз клавиш" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Избор на дума" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Търсене в стр." + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Търсене в стр." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Интернет" + +msgid "IDS_BR_OPT_LIST" +msgstr "Списък" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Избери всички" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Съобщение" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Отказ" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Копиране на URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Покажи изображ." + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Отвори в нова стр." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Отваряне" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Избор на текст включен" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Показалци" + +msgid "IDS_BR_SK_EDIT" +msgstr "Редактиране" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Изтрий" + +msgid "IDS_BR_SK_DELETE" +msgstr "Изтрий" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Отмени" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Редактиране на показалец" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Съобщения" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Редактиране" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Изтрий" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Добави към маркери" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Размер на шрифта" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Едър" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Малък" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Скорост" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Адрес на прокси" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Порт за прокси" + +msgid "IDS_BR_SK_DONE" +msgstr "Готово" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Версия" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Инсталир." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Текуща страница" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Въведете име на папка" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Въведете име на показалец" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Не питай повече" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL не е открит" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s иска вашето местоположение" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Запомни предпочитанията" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Покажи изображения" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Показване на предупрежденията за защита" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Запомняне на паролите" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Изчисти паролите" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Изтриване на всички запаметени пароли?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Изтриване на всички бисквитки. Продължаване?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Запомняне на данни за формуляри" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Нулиране до стойности по подразбиране" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Всички стойности по подразбиране. Продължаване?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Изчистване на кеша?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Изчисти напълно историята?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Хронологията на навигацията на браузъра ще бъде изтрита" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Винаги включено" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Активиране на местоположение" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Изчистване на достъпа до местоположения" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Не може да се добави показалец. Достигнат е максималният брой показалци" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Изтриване на информацията за достъп до местоположение на уеб сайт?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Отпечатаване" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Потърсете или въведете URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Авто" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ръчно" + +msgid "IDS_BR_BODY_LOW" +msgstr "Нисък" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Среден" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Празна страница" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Неуспешна инсталация" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Настройки на уеб сайт" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Висок" + diff --git a/po/ca.po b/po/ca.po new file mode 100755 index 00000000..7070be7c --- /dev/null +++ b/po/ca.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Notificant..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Processant..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Processament finalitzat" + +msgid "IDS_BR_SK_RETRY" +msgstr "Reintent" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Administrador de descàrregues" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Descriptor no vàlid" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "No s'ha pogut obrir el fitxer" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Descarregar?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Seleccionat" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Descàrrega cancel·lada" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Cont des d'últ pàg" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Pàgina" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Diccionari" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Sobre el navegador" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Tipus" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Emissor" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Mostrar imatges" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Descarregar" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Introdueixi URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Carpeta" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Pàgina d'inici" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Horitzontal" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "No hi ha preferits" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "No s'han trobat resultats" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Opcional" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Executar Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Executar JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Nom comú:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Unitat organitzativa:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organització:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Agent d'usuari" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Preferències" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Error d'activació" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Ja s'està executant..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "No s'ha implementat" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Error en autenticar" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Sobreescriure?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historial" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Llista de descàrregues" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Ja està instal·lat" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Notificant..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "No s'admet el contingut" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Error: no es pot resoldre el nom del host" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "No es pot arribar al proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "No hi ha certificats SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "La mida del fitxer supera el límit de càrrega màxim" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Introdueixi nom" + +msgid "IDS_BR_SK_NEXT" +msgstr "Següent" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Carpeta nova" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Afegir a Preferits" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Finestra nova" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL no disponible" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "L'URL %s no està disponible. Pot estar caiguda temporalment o no estar operativa" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Carpeta" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Nom carpeta" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "El nom de carpeta ja està en ús" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Sense títol" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Finestr múltip" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Sense historials" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Afegir a Preferits" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Editar preferit" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Nom de la carpeta:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Seleccioni-ho tot" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Administrador de descàrregues" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Afegir canal RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Afegir canals RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Ajustaments" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Introdueixi URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Contrasenya" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Adreça no vàlida" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Ja existeix a la llista de descàrregues" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Introduir nom de carpeta" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "No hi ha pàgina" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "No hi ha pàgines enrere" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "No hi ha pàgines endavant" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "No hi ha cap pàgina per a recarregar" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Es requereix autenticació" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Ja existeix el preferit" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "El nom de carpeta ja existeix" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "No es pot desar l'objecte. No hi ha prou espai a la memòria cau" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Seleccionar elements" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informació del certificat" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Compartir amb correu electrònic" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Compartir mitjançant Missatges" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Compartir mitjançant" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "No es pot iniciar el Navegador" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Sense adreça" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "No tornar a most." + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Nom de fitxer buit" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Crear carpeta" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Seleccionat" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Compartir" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Pàgines visitades fa poc" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Pantalla" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Adaptar a l'amplada" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Llegible" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Confidencialitat" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Acceptar-ho tot" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Preguntar" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Acceptar cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Acceptar cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Acceptar-ho tot" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Rebutjar-ho tot" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Desar automàticament l'ID/contrasenya" + +msgid "IDS_BR_BODY_ON" +msgstr "Activat" + +msgid "IDS_BR_BODY_OFF" +msgstr "Desactivat" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Emmagatzematge predeterminat" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Cercar" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Desar imatge" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Bateria baixa. No es pot executar el navegador" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Trobar paraula" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Afegir a la pantalla d'inici" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Afegir a pantalla d'inici" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Llocs més visitats" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Compartir mitjançant Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Compartir mitjançant Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Canviar vista" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Seleccionar URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "El lloc està intentant obrir una finestra emergent" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Bloq finestres emergents" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Lector de text" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Copiar la imatge" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Desar imatge" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Reproduir" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Seleccionar" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Anar enrere" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Anar endavant" + +msgid "IDS_BR_OPT_STOP" +msgstr "Aturar" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Recarregar" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Enganxar" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Més" + +msgid "IDS_BR_POP_FAIL" +msgstr "Error" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Obrir nova finestra" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Veure llista de descàrregues" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Copiar URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Copiar URL a" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Veure imatge" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Ajustaments privacitat" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Esborrar memòria cau" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Esborrar historial" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Habilitar connectors" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Seleccionar cercador web" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Esborrar ID/contrasenya desats" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Esborrar totes les dades de cookies" + +msgid "IDS_BR_BODY_UP" +msgstr "Amunt" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Mida de font" + +msgid "IDS_BR_POP_DELETED" +msgstr "Esborrat" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Vista predeterminada" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Ajustam contingut pàgina" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Distingir entre majúscules i minúscules" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Connectar" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Llista de connectors" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Emmagatzematge local" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Esborrar dades de navegació" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Carregant..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Carregant..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Introdueixi URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Bloquejar" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Desbloquejar" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Modificar" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "P. amunt" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "P. avall" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Mode de programador" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Buit" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certificats" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Preferits" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Introduir nom" + +msgid "IDS_BR_BODY_NAME" +msgstr "Nom" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Enviar per correu electrònic" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Enviar a través de missatge" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Ajustaments" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Nom d'usuari" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Ja existeix" + +msgid "IDS_BR_POP_SAVED" +msgstr "Desat" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "No hi ha prou memòria" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Error de xarxa" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Preguntar sempre" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Targeta de memòria" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telèfon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Sense comptes" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Pàgina d'error" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Pàgina web no disponible temporalment" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Pàgina web no disponible" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Error en carregar marcs" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "S'ha produït l'error següent en recuperar la pàgina web %s." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "No es pot recuperar la pàgina web. (La pàgina web pot estar caiguda temporalment o haver canviat a una altra URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "A continuació es mostra la causa més probable" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Connexió de xarxa no establerta amb normalitat" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Comprovar URL de pàgina web" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Tornar a carregar la pàgina web més tard" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Preferit" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Títol" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Introduir títol" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Carpetes" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Permetre" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Refusar" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Error de seguretat: Certificat del servidor sense confiança" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d elements seleccionats" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 element seleccionat" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Afegir a clip web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "S'ha creat l'accés directe" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Seleccionar paraula" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Cercar a pàgina" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Cercar a pàgina" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Llista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Seleccioni-ho tot" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Missatge" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Correu electrònic" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Cancel" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copiar URL enll" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Veure imatge" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Obrir en pàg nova" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Obrir" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Selecció de text activada" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Preferits" + +msgid "IDS_BR_SK_EDIT" +msgstr "Editar" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Esborrar" + +msgid "IDS_BR_SK_DELETE" +msgstr "Esborrar" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Cancel·lar" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Editar preferit" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Missatges" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Correu electrònic" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Esborrar" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Afegir a Preferits" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Mida de font" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Gran" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Petit" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Velocitat" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adreça de proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port de servidor intermediari" + +msgid "IDS_BR_SK_DONE" +msgstr "Finalit." + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versió" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instal·lar" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Pàgina actual" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Introduir nom de carpeta" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Introdueixi el nom del preferit" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "No ho tornis a preguntar" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "No s'ha trobat l'URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s sol·licita la seva ubicació" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Recordar preferència" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Mostrar imatges" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Mostrar advertiments de seguretat" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Recordar contrasenyes" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Esborrar contrasenyes" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Esborrar totes les contrasenyes desades?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Esborrar totes les cookies. Continuar?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Recordar dades de formularis" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Restablir a predeterminat" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Tots els ajustaments als valors predeterminats. Continuar?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Esborrar memòria cau?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Esborrar tot l'historial?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "S'esborrarà l'historial de navegació del navegador" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Sempre activat" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Habilitar ubicació" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Esborrar accés d'ubicació" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "No es pot afegir preferit. S'ha assolit el nombre màxim de preferits" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Esborrar la informació d'accés d'ubicació del lloc web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Imprimir" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Cerqui o introdueixi URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Baixa" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Mitjana" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Pàgina buida" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Error d'instal·lació" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Ajustaments de lloc web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Alta" + diff --git a/po/cs.po b/po/cs.po new file mode 100755 index 00000000..d6372767 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Probíhá oznamování..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Probíhá zpracování..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Zpracování bylo dokončeno" + +msgid "IDS_BR_SK_RETRY" +msgstr "Opakovat" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Správce stahování" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Chybný deskriptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Soubor nelze otevřít" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Stáhnout?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Vybráno" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Stahování zruÅ¡eno" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Pokračovat od pos. str." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Stránka" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Slovník" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "O prohlížeči" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Typ" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Vydavatel" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Zobrazit obrázky" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Stáhnout" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Zadat adresu URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Složka" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Domovská stránka" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Na šířku" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Žádné záložky" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nebylo nic nalezeno" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Volitelné" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Spustit Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Spustit JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Běžný název:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizační jednotka:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizace:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Uživatelský agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Předvolby" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Chyba aktivace" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Již je spuÅ¡těno" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Neimplementováno" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Ověření se nezdařilo" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Přepsat?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historie" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Seznam stažených položek" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Již nainstalováno" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Oznamování..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nepodporovaný obsah" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Chyba: Nebyl rozpoznán název hostitele" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Server proxy je nedostupný" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Žádné certifikáty SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Velikost souborů překročila maximální limit pro uložení" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Zadat jméno:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Další" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Nová složka" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Přidat do Záložek" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Nové okno" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "Adresa URL není k dispozici" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "Adresa URL %s není k dispozici. Možná je dočasně vypnutá nebo již není používána" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Složka" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Název složky" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Název složky\njiž existuje" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Žádný název" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Více oken" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Žádná historie" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Přidat záložku" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Upravit záložku" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Název složky:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Vybrat vÅ¡e" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Správce stahování" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Přidat zdroj RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Přidat zdroje RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Nastavení" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Zadat adresu URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Heslo" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Neplatná adresa" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Již existuje v seznamu stažených souborů" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Zadejte název složky" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Žádná stránka" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Žádné stránky zpět" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Žádné stránky vpřed" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Žádná stránka k načtení" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Je vyžadováno ověření" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Záložka již existuje" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Název složky již existuje" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Objekt nelze uložit. V paměti není dostatek místa" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Vyberte položky" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informace o certifikátu" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Sdílet pomocí e-mailu" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Sdílet pomocí Zpráv" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Sdílet pomocí" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Prohlížeč se nepodařilo spustit" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Bez adresy" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Znovu nezobrazovat" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Jméno souboru prázdné" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Vytvořit složku" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Vybráno" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Sdílet" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Poslední navÅ¡tívené stránky" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Displej" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Přizpůsobit na šířku" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Čitelný" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Soukromí" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Soubory cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Přijmout vÅ¡e" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Výzva" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Soubory cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Povolit cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Povolit cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Přijmout vÅ¡e" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Odmítnout vÅ¡e" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Automatické uložení ID/hesla" + +msgid "IDS_BR_BODY_ON" +msgstr "Zapnout" + +msgid "IDS_BR_BODY_OFF" +msgstr "Vypnout" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Výchozí umístění" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Hledat" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Uložit obrázek" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Slabá baterie. Prohlížeč nelze spustit" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Najít slovo" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Přidat na domovskou obrazovku" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Přidat na dom. obrazovku" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "NejnavÅ¡těvovanější stránky" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Sdílet prostřednictvím Facebooku" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Sdílet prostřednictvím Twitteru" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Změnit zobr." + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Vyberte adresy URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Server se pokouší otevřít automaticky otevírané okno" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blok. aut. otevíraná okna" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Čtečka textu" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopírovat obrázek" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Uložit obrázek" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Přehrát" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Vybrat" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Zpátky" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Dopředu" + +msgid "IDS_BR_OPT_STOP" +msgstr "Zastavit" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Načíst znovu" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Vložit" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Další" + +msgid "IDS_BR_POP_FAIL" +msgstr "Nezdařilo se" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Otevřít v novém okně" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Zobrazit seznam stažených souborů" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopírovat adresu URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopírovat adresu URL do" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Zobr. obrázek" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Nastavení soukromí" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Vyprázdnit vyrovnávací paměť" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Smazat historii" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Povolit moduly plug-in" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Vyberte vyhledávač" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Odstranit uložné ID/heslo" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Vymazat vÅ¡echna data cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Nahoru" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Velikost písma" + +msgid "IDS_BR_POP_DELETED" +msgstr "Odstraněno" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Výchozí zobrazení" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Nastavení obsahu stránky" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "RozliÅ¡ovat malá a VELKÁ" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Modul Plug in" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Seznam modulů plug-in" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Místní úložiÅ¡tě" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Odstranit data z procházení" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Nahrávám..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Nahrávám..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Zadat adresu URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Zámek" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Odemknout" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Změnit" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Další str." + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Předch. str." + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Vývojářský režim" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Prázdný" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certifikáty" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Záložky" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Zadat jméno" + +msgid "IDS_BR_BODY_NAME" +msgstr "Jméno" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Odeslat pomocí e-mailu" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Odeslat prostřednictvím zprávy" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Nastavení" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Uživatelské jméno" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Již existuje" + +msgid "IDS_BR_POP_SAVED" +msgstr "Uloženo" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Nedostatek paměti" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Chyba sítě" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Vždy zobrazit dotaz" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Paměťová karta" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Žádné účty" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Chybová stránka" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Webová stránka dočasně není k dispozici" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Webová stránka není k dispozici" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Rámce se nepodařilo načíst" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Při načítání webové stránky %s doÅ¡lo k následující chybě." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Webovou stránku se nepodařilo načíst. (Webová stránka může být dočasně vypnutá nebo byla přesunuta na novou adresu URL.)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Nejčastější příčina je uvedena níže" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Síťové připojení nebylo normálně navázáno" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Zkontrolujte adresu URL webové stránky" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Načtěte webovou stránku znovu později" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Záložka" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Název" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Zadat název" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Složky" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Povolit" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Odmítn." + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Chyba zabezpečení: Nedůvěryhodný certifikát serveru" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Vybrané položky: %d" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "Byla vybrána 1 položka" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Přidat do webového klipu" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Zástupce byl vytvořen" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Vybrat slovo" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Najít na str." + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Najít na str." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Seznam" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Vybrat vÅ¡e" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Zpráva" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "ZruÅ¡it" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kop. URL odkazu" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Zobr. obrázek" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Otev. v novém okně" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Otevřít" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Zapnout výběr textu" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Záložky" + +msgid "IDS_BR_SK_EDIT" +msgstr "Upravit" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Odstr" + +msgid "IDS_BR_SK_DELETE" +msgstr "Odstranit" + +msgid "IDS_BR_SK_CANCEL" +msgstr "ZruÅ¡it" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Upravit záložku" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Zprávy" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Upravit" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Odstranit" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Přidat záložku" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Velikost písma" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Velké" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Malé" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Rychlost" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adresa proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port serveru proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Hotovo" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Verze" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instalovat" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Aktuální stránka" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Zadejte název složky" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Zadejte název záložky" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Příště se neptat" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Adresa URL nenalezena" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s požaduje informace o vaší poloze" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Zapamatovat preference" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Zobrazit obrázky" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Zobrazit upozornění zabezpečení" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Zapamatovat hesla" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Vymazat hesla" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Odstranit vÅ¡echna uložená hesla?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Odstranit vÅ¡echny cookies. Chcete pokračovat?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Zapamatovat data formuláře" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Obnovit výchozí nastavení" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Obnovit výchozí hodnoty vÅ¡ech nastavení. Chcete pokračovat?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Vymazat paměť?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Odstranit celou historii?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Historie navigace prohlížeče bude vymazána" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Vždy zapnuto" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Povolit informace o poloze" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "ZruÅ¡it přístup k informacím o poloze" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Záložku nelze přidat. Bylo dosaženo maximálního počtu záložek" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Odstranit informace o přístupu k umístění webové stránky?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Tisk" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Vyhledejte nebo zadejte adresu URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automaticky" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ručně" + +msgid "IDS_BR_BODY_LOW" +msgstr "Nízká" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Střední" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Prázdná stránka" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalace se nezdařila" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Nastavení webového serveru" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Vysoká" + diff --git a/po/da.po b/po/da.po new file mode 100755 index 00000000..ca1a84a3 --- /dev/null +++ b/po/da.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Giver besked..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Behandler ..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Behandling fuldført" + +msgid "IDS_BR_SK_RETRY" +msgstr "Prøv igen" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Downloadstyring" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Ugyldig beskrivelse" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Kunne ikke Ã¥bne fil" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Download?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Valgte" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Download annulleret" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Fortsæt fra sidste side" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Side" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Ordbog" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Om browser" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Type" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Udsteder" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Vis billeder" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Overførsel" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Angiv URL-adresse" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mappe" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Startside" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Liggende" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Ingen bogmærker" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Ingen resultater fundet" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Valgfri" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Kør Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Kør JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Fælles navn:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organisationsenhed:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organisation:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Brugeragent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Indstillinger" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktiveringsfejl" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Kører allerede" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Ikke implementeret" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Godkendelse mislykkedes" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Overskriv?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Oversigt" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Download-liste" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Allerede installeret" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Kvitterer..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Indhold ikke understøttet" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Fejl: kan ikke løse værtsnavn" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Kunne ikke nÃ¥ proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Ingen SSL-certifikater" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Filstørrelse overskrider maks. grænse for overførsel" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Indtast navn:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Næste" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Ny mappe" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Føj til bogmærker" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Nyt vindue" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL ikke tilgængelig" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s ikke tilgængelig. Det er muligvis midlertidigt ude af drift eller ikke længere i brug" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mappe" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Mappenavn" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Mappenavn\nbruges allerede" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Ingen titel" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Multi vindue" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Ingen artikler" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Føj til Bogmærker" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Rediger bogmærke" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Mappenavn:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Vælg alle" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Downloadstyring" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Tilføj RSS-kilde" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Tilføj RSS-feeds" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Indstillinger" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Angiv URL-adresse" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Adgangskode" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Ugyldig adresse" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Findes allerede pÃ¥ download-listen" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Angiv mappenavn" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Ingen side" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Ingen forrige sider" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Ingen sider fremad" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Ingen side at genindlæse" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Godkendelse pÃ¥krævet" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Bogmærke findes allerede" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Mappenavn findes allerede" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Kan ikke gemme objekt. Der er ikke nok plads i cachen" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Vælg elementer" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Certifikatoplysninger" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Del via e-mail" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Del via Meddelelser" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Del via" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Kan ikke starte browser" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Ingen adresse" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Vis aldrig igen" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Filnavn tomt" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Opret mappe" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Valgte" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Del" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Sider besøgt for nylig" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Skærm" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Tilpas til bredden" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Læsbar" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Beskyttelse" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Acceptér alle" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Spørg" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Acceptér cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Acceptér cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Acceptér alle" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Afvis alle" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Automatisk lagring af id/adgangskode" + +msgid "IDS_BR_BODY_ON" +msgstr "Til" + +msgid "IDS_BR_BODY_OFF" +msgstr "Fra" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Standardlagring" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Søg" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Gem billede" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Lavt batteriniveau. Kan ikke køre browser" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Find ord" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Føj til startskærm" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Føj til startskærm" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Mest besøgte steder" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Del via Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Del via Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Skift visning" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Vælg URL'er" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Denne side forsøger at Ã¥bne et popup-vindue" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokér popup-vinduer" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Tekstlæser" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopiér billede" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Gem billede" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Afspil" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Vælg" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "GÃ¥ tilbage" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "GÃ¥ fremad" + +msgid "IDS_BR_OPT_STOP" +msgstr "Stop" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Genindlæs" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Indsæt" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Mere" + +msgid "IDS_BR_POP_FAIL" +msgstr "Mislykkedes" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Åbn i et nyt vindue" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Vis overførselsliste" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopier URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopier URL til" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Vis billede" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Indstillinger for privatlivsbeskyttelse" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Tøm cache" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Ryd oversigt" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Aktiver plug-ins" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Vælg søgemaskine" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Slet gemt id/adgangskode" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Tøm alle cookie data" + +msgid "IDS_BR_BODY_UP" +msgstr "Op" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Skriftstørrelse" + +msgid "IDS_BR_POP_DELETED" +msgstr "Slettet" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Standardvisning" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Indst. for sideindhold" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Skelner mellem smÃ¥ og store bogstaver" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Plug-in" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Plugin-liste" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokal lagring" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Slet browserdata" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Indlæser data ..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Indlæser data ..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Angiv URL-adresse" + +msgid "IDS_BR_OPT_LOCK" +msgstr "LÃ¥s" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "LÃ¥s op" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Skift" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Side op" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Side ned" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Udviklertilstand" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Tom" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certifikater" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Bogmærker" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Indtast navn" + +msgid "IDS_BR_BODY_NAME" +msgstr "Navn" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Send via e-mail" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Send via meddelelse" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Indstillinger" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Brugernavn" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Findes allerede" + +msgid "IDS_BR_POP_SAVED" +msgstr "Gemt" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Ikke nok hukommelse" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Netværksfejl" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Spørg altid" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Hukommelseskort" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Ingen konti" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Fejlside" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Webside midlertidigt ikke tilgængelig" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Webside ej tilgængelig" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Kunne ikke indlæse rammer" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Ved hentning af webside %s, opstod følgende fejl." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Kan ikke hente webside. (Webside kan være nede midlertidigt eller kan være flyttet til en ny URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Den mest sandsynlige Ã¥rsag findes herunder" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Netværksforbindelse ikke etableret normalt" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Kontroller websidens URL" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Genindlæs webside senere" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Bogmærke" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Titel" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Indtast titel" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mapper" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Tillad" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Afvis" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Sikkerhedsfejl: Servercertifikatet er usikkert" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d elementer valgt" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 element valgt" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Føj til Web-klip" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Genvej oprettet" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Vælg ord" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Find pÃ¥ side" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Find pÃ¥ side" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Liste" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Vælg alle" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Meddelelse" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Annuller" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopier link-URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Vis billede" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Åbn pÃ¥ ny side" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Åbn" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Tekstmarkering til" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bogmærker" + +msgid "IDS_BR_SK_EDIT" +msgstr "Rediger" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Slet" + +msgid "IDS_BR_SK_DELETE" +msgstr "Slet" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Annuller" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Rediger bogmærke" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Meddelelser" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Rediger" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Slet" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Føj til Bogmærker" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Skriftstørrelse" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Stor" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Lille" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Hastighed" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy-adresse" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy-port" + +msgid "IDS_BR_SK_DONE" +msgstr "Udført" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Version" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Inst." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Aktuel side" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Angiv mappenavn" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Indtast bogmærkenavn" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Spørg ikke igen" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL ikke fundet" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s anmoder om din placering" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Husk præference" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Vis billeder" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Vis sikkerhedsadvarsler" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Husk adgangskoder" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Slet adgangskoder" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Vil du slette alle gemte adgangskoder?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Slet alle cookies. Vil du fortsætte?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Husk formulardata" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Nulstil til standardindstillingen" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Alle indstillinger til standard. Vil du fortsætte?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Tøm cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Vil du slette hele oversigten?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Browserens navigationsoversigt vil blive tømt" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Altid til" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Aktiver placering" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Ryd placeringsadgang" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Bogmærket kunne ikke tilføjes. Det maksimale antal bogmærker er nÃ¥et" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Slet informationer om placeringsadgang for websted?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Udskriv" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Søg eller angiv URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuelt" + +msgid "IDS_BR_BODY_LOW" +msgstr "Lav" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Mellem" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Tom side" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installationen mislykkedes" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Website-indstillinger" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Høj" + diff --git a/po/de.po b/po/de.po new file mode 100755 index 00000000..5752c746 --- /dev/null +++ b/po/de.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Favoriten" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Herunterladen" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Zu Favoriten hinzufügen" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Abbrechen" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Verlauf" + diff --git a/po/de_DE.po b/po/de_DE.po index a38c2cc7..80176d3a 100755 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Installation gescheitert" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Benachrichtigung..." @@ -619,3 +616,216 @@ msgstr "%d Elemente ausgewählt" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 Element ausgewählt" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Als Widget hinzufügen" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Shortcut erstellt" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Wort auswählen" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Auf der Seite suchen" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Auf Seite suchen" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Liste" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Alle auswählen" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Nachricht" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-Mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Abbrechen" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Link-URL kop." + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Bild anzeigen" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Auf neu. Seite öf." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Öffnen" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Textauswahl ein" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Favoriten" + +msgid "IDS_BR_SK_EDIT" +msgstr "Bearbeiten" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Löschen" + +msgid "IDS_BR_SK_DELETE" +msgstr "Löschen" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Abbrechen" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Favorit bearbeiten" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Nachrichten" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-Mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Bearbeiten" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Löschen" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Zu Favoriten hinzufügen" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Schriftgröße" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Groß" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Klein" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Geschwindigkeit" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy-Adresse" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy-Port" + +msgid "IDS_BR_SK_DONE" +msgstr "OK" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Version" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Installieren" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Aktuelle Seite" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Ordnernamen eingeben" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Namen des Lesezeichens eingeben" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Nicht erneut fragen" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Die URL wurde nicht gefunden" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s fragt Ihre Position an" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Voreinstellung merken" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Bilder anzeigen" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Sicherheitswarnungen anzeigen" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Passwörter merken" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Passwörter löschen" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Alle gespeicherten Passwörter löschen?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Alle Cookies löschen. Fortfahren?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Formulardaten speichern" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Auf Standardeinstellungen zurücksetzen" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Alle Einstellungen auf Standard. Fortfahren?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Cache leeren?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Gesamten Verlauf löschen?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Der Navigationsverlauf im Browser wird gelöscht" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Immer ein" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Standortzugriff aktivieren" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Standortzugriffsdaten löschen" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Favorit kann nicht hinzugefügt werden. Maximale Anzahl an Favoriten erreicht" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Standortzugriff für diese Webseite löschen?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Drucken" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "URL suchen oder eingeben" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuell" + +msgid "IDS_BR_BODY_LOW" +msgstr "Niedrig" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Mittel" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Leere Seite" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installation gescheitert" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Website-Einstellungen" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Hoch" + diff --git a/po/el.po b/po/el.po new file mode 100755 index 00000000..46859870 --- /dev/null +++ b/po/el.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Σελιδοδείκτες" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Λήψη" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Προσθήκη στους σελιδ/τες" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Ακύρωση" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Cronologia" + diff --git a/po/el_GR.po b/po/el_GR.po index 72f46ca4..59bd97d0 100755 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Αποτυχία εγκατάστασης" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Ειδοποίηση..." @@ -619,3 +616,216 @@ msgstr "Επιλέχθηκαν %d στοιχεία" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "Επιλέχθηκε 1 στοιχείο" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Προσθήκη κλιπ στο Web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Δημιουργήθηκε συντόμευση" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Επιλογή λέξης" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Εύρ. σε σελίδα" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Εύρ. σε σελίδα" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Λίστα" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Επιλογή όλων" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Μήνυμα" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Άκυρο" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Αντ. URL σύνδ." + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Προβολή εικόνας" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Άνοιγμ.σε νέα σελ." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Άνοιγμα" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Επιλογή κειμένου ενεργό" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Προσθ.στους σελιδ/τες" + +msgid "IDS_BR_SK_EDIT" +msgstr "Επεξεργ." + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Διαγρ." + +msgid "IDS_BR_SK_DELETE" +msgstr "Διαγραφή" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Άκυρο" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Επεξεργασία σελιδοδείκτη" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Μηνύματα" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Επεξεργασία" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Διαγραφή" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Προσθήκη στους σελιδ/τες" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Μέγεθος γραμματοσειράς" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Μεγάλο" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Μικρή" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Ταχύτητα" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Διεύθ.διακ.μεσολάβ." + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Θύρα proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Ok" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Έκδοση" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Εγκατ." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Τρέχουσα σελίδα" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Εισαγωγή ονόματος φακέλου" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Εισαγωγή ονόματος σελιδοδείκτη" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Να μην ερωτηθώ ξανά" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Δε βρέθηκε η URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "Το %s ζητά την τοποθεσία σας" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Απομνημόνευση προτίμησης" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Εμφάνιση εικόνων" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Εμφάνιση προειδοποιήσεων ασφαλείας" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Απομνημόνευση κωδ. πρόσβ." + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Διαγραφή κωδ. πρόσβασης" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Διαγραφή όλων των αποθηκευμένων κωδικών πρόσβασης;" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Διαγραφή όλων των cookie. Συνέχεια;" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Απομνημόνευση των δεδομένων φορμών" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Επαναφορά της προεπιλογής" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Επαναφορά όλων των ρυθμίσεων στις προεπιλεγμένες τιμές. Συνέχεια;" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Διαγραφή μνήμης cache;" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Διαγραφή όλου του ιστορικού;" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Θα εκκαθαριστεί το ιστορικό του προγράμματος περιήγησης" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Πάντα ενεργοποίηση" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Ενεργοποίηση τοποθεσίας" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Εκκαθάριση πρόσβασης τοποθεσίας" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Αδύνατη η προσθήκη σελιδοδείκτη. Συμπληρώθηκε ο μέγιστος αριθμός σελιδοδεικτών" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Διαγραφή πληροφοριών πρόσβασης τοποθεσίας για τον ιστότοπο;" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Εκτύπωση" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Αναζήτηση ή εισαγωγή διεύθυνσης URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Αυτόματο" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Χειροκίνητα" + +msgid "IDS_BR_BODY_LOW" +msgstr "Χαμηλή" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Μεσαίο" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Κενή σελίδα" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Αποτυχία εγκατάστασης" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Ρυθμίσεις τοποθεσίας Web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Υψηλή" + diff --git a/po/en.po b/po/en.po index 271ad33f..fb866503 100755 --- a/po/en.po +++ b/po/en.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Installation failed" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Notifying..." @@ -619,3 +616,216 @@ msgstr "%d items selected" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 item selected" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Add to Web clip" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Shortcut created" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Select word" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Find on page" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Find on page" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "List" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Select all" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Message" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Cancel" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copy link URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "View image" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Open in new page" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Open" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Text selection on" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bookmarks" + +msgid "IDS_BR_SK_EDIT" +msgstr "Edit" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Delete" + +msgid "IDS_BR_SK_DELETE" +msgstr "Delete" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Edit bookmark" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Messages" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Edit" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Delete" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Add to Bookmarks" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Font size" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Large" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Small" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Speed" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy address" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_BR_SK_DONE" +msgstr "Done" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Version" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Install" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Current page" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Enter folder name" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Enter bookmark name" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Do not ask again" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL not found" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s requests your location" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Remember preference" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Show images" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Show security warnings" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Remember passwords" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Clear passwords" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Delete all saved passwords?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Delete all cookies. Continue?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Remember form data" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Reset to default" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "All settings to default. Continue?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Clear cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Clear all history?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "The browser navigation history will be cleared" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Always on" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Enable location" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Clear location access" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Unable to add bookmark. Maximum number of bookmarks reached" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Delete website location access information?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Print" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Search or enter URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Low" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Medium" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Blank page" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installation failed" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Website settings" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "High" + diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100755 index 00000000..0510c5e1 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,62 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-10-21 20:17+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/AddToBookmarksView.cpp:80 +msgid "IDS_BR_OPT_CANCEL" +msgstr "" + +#: src/AddToBookmarksView.cpp:84 +msgid "IDS_COM_SK_SAVE" +msgstr "" + +#: src/AddToBookmarksView.cpp:88 +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "" + +#: src/BookmarksView.cpp:71 src/HistoryView.cpp:50 +msgid "IDS_COM_BODY_BACK" +msgstr "" + +#: src/BookmarksView.cpp:75 src/BookmarksView.cpp:156 +#: src/BookmarksView.cpp:219 +msgid "IDS_COM_SK_EDIT" +msgstr "" + +#: src/BookmarksView.cpp:85 src/HistoryView.cpp:61 +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "" + +#: src/BookmarksView.cpp:86 src/HistoryView.cpp:62 +msgid "IDS_BR_TAB_HISTORY" +msgstr "" + +#: src/BookmarksView.cpp:222 +msgid "IDS_COM_SK_DELETE" +msgstr "" + +#: src/BrowserView.cpp:1067 +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "" + +#: src/BrowserView.cpp:1074 +msgid "IDS_BR_BODY_RSS" +msgstr "" + +#: src/BrowserView.cpp:1082 +msgid "Reader" +msgstr "" diff --git a/po/en_US.po b/po/en_US.po new file mode 100755 index 00000000..31e90c62 --- /dev/null +++ b/po/en_US.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Notifying..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Processing..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Processing completed" + +msgid "IDS_BR_SK_RETRY" +msgstr "Retry" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Download manager" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Invalid descriptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Unable to open file" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Download?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Selected" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Download cancelled" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Continue from last page" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Page" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Dictionary" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "About browser" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Type" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Issuer" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Display images" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Download" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Enter URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Homepage" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Landscape view" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "No bookmarks" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "No results found" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Optional" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Run Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Run JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Common name:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizational unit:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organization:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "User agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Preferences" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Activation error" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Already running..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Not implemented" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Authentication failed" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Overwrite?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "History" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Download list" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Already installed" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Notifying..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Unsupported content" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Error: unable to resolve host name" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Unable to reach proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "No SSL certificates" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "File size exceeds maximum upload limit" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Enter name:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Next" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "New folder" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Add to Bookmarks" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "New window" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL not available" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s not available. It might be down temporarily or no longer in use" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Folder name" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Folder name already in use" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "No title" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Multi window" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "No histories" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Add to Bookmarks" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Edit bookmark" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Folder name:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Select all" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Download manager" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Add RSS feed" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Add RSS feeds" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Settings" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Enter URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Password" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Invalid address" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Already exists in download list" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Enter folder name" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "No page" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "No pages backward" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "No pages forward" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "No page to reload" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Authentication required" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Bookmark already exists" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Folder name already exists" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Unable to save object. Not enough space in cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Select items" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Certificate info" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Share via email" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Share via Messages" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Share via" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Unable to start Browser" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "No address" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Never show again" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "File name empty" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Create folder" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Selected" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Share" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Recently visited pages" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Display" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Fit to width" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Readable" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Privacy" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Accept all" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Prompt" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Accept cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Accept cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Accept all" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Reject all" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Auto save ID/password" + +msgid "IDS_BR_BODY_ON" +msgstr "On" + +msgid "IDS_BR_BODY_OFF" +msgstr "Off" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Default storage" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Search" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Save image" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Low battery. Unable to run browser" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Find word" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Add to Home screen" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Add to home screen" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Most visited sites" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Share via Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Share via Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Change view" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Select URLs" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "This site is attempting to open pop-up window" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Block pop-up windows" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Text reader" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Copy image" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Save image" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Play" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Select" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Go backward" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Go forward" + +msgid "IDS_BR_OPT_STOP" +msgstr "Stop" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Reload" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Paste" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "More" + +msgid "IDS_BR_POP_FAIL" +msgstr "Failed" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Open in new window" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "View download list" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Copy URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Copy URL to" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "View image" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Privacy settings" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Clear cache" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Clear history" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Enable plug-ins" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Select search engine" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Delete saved ID/password" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Clear all cookie data" + +msgid "IDS_BR_BODY_UP" +msgstr "Up" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Font size" + +msgid "IDS_BR_POP_DELETED" +msgstr "Deleted" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Default view" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Page content settings" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Case-sensitive" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Plug in" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Plugins list" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Local storage" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Delete browsing data" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Loading..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Loading..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Enter URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Lock" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Unlock" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Modify" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Page up" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Page down" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Developer mode" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Empty" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certificates" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Bookmarks" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Enter name" + +msgid "IDS_BR_BODY_NAME" +msgstr "Name" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Send via Email" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Send via Message" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Settings" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "User name" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Already exists" + +msgid "IDS_BR_POP_SAVED" +msgstr "Saved" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Not enough memory" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Network error" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Always ask" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Memory card" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Phone" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "No accounts" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Error page" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Web page temporarily not available" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Web page not available" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Failed to load frames" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "While retrieving Web page %s, the following error occurred." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Unable to retrieve Web page. (Web page might be temporarily down or have moved to new URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "The most likely cause is given below" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Network connection not established normally" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Check Web page URL" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Reload Web page later" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Bookmark" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Title" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Enter title" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Folders" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Allow" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Refuse" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Security Error: Untrusted server certificate" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d items selected" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 item selected" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Add to Web clip" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Shortcut created" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Select word" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Find on page" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Find on page" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "List" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Select all" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Message" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Cancel" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copy link URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "View image" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Open in new page" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Open" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Text selection on" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bookmarks" + +msgid "IDS_BR_SK_EDIT" +msgstr "Edit" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Delete" + +msgid "IDS_BR_SK_DELETE" +msgstr "Delete" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Edit bookmark" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Messages" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Edit" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Delete" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Add to Bookmarks" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Font size" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Large" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Small" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Speed" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy address" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_BR_SK_DONE" +msgstr "Done" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Version" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Install" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Current page" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Enter folder name" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Enter bookmark name" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Do not ask again" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL not found" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s requests your location" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Remember preference" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Show images" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Show security warnings" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Remember passwords" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Clear passwords" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Delete all saved passwords?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Delete all cookies. Continue?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Remember form data" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Reset to default" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "All settings to default. Continue?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Clear cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Clear all history?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "The browser navigation history will be cleared" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Always on" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Enable location" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Clear location access" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Unable to add bookmark. Maximum number of bookmarks reached" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Delete website location access information?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Print" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Search or enter URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Low" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Medium" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Blank page" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installation failed" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Website settings" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "High" + diff --git a/po/es.po b/po/es.po new file mode 100755 index 00000000..b47c250e --- /dev/null +++ b/po/es.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Favoritos" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Descargar" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Añadir a Favoritos" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Cancelar" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Ιστορικό" + diff --git a/po/es_ES.po b/po/es_ES.po index c438dba2..8f5ddb04 100755 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Fallo en la instalación" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Notificando..." @@ -335,10 +332,10 @@ msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" msgstr "Guardar automáticamente ID/contraseña" msgid "IDS_BR_BODY_ON" -msgstr "Activado" +msgstr "Activar" msgid "IDS_BR_BODY_OFF" -msgstr "Off" +msgstr "Desactivado" msgid "IDS_BR_BODY_DEFAULT_STORAGE" msgstr "Almacenamiento por defecto" @@ -619,3 +616,216 @@ msgstr "%d elementos seleccionados" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 elemento seleccionado" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Añadir a clip web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Acceso directo creado" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Seleccionar palabra" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Buscar en página" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Buscar en página" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Seleccionar todo" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Mensajes" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Mensaje de correo" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Cancelar" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copiar URL del vínc" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Ver imagen" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Abrir en pág nueva" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Abrir" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Selección de texto activada" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Favoritos" + +msgid "IDS_BR_SK_EDIT" +msgstr "Editar" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Eliminar" + +msgid "IDS_BR_SK_DELETE" +msgstr "Eliminar" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Editar elemento favorito" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Mensajes" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Mensaje de correo" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Eliminar" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Añadir a Favoritos" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Tamaño de fuente" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Grande" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Pequeño" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Velocidad" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Dirección de proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Puerto Proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Hecho" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versión" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instal." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Página actual" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Introduzca el nombre de la carpeta" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Introducir nombre de favorito" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "No preguntar de nuevo" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL no encontrada" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s solicita su ubicación" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Recordar preferencias" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Mostrar imágenes" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Mostrar advertencias de seguridad" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Recordar contraseñas" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Borrar contraseñas" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "¿Eliminar todas las contraseñas guardadas?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Se eliminarán todas las cookies. ¿Continuar?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Recordar datos de formularios" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Restablecer valores predeterminados" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Se restablecerán todos los ajustes predeterminados. ¿Continuar?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "¿Borrar caché?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "¿Desea borrar todo el historial?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "El historial del navegador se borrará" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Siempre activado" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Activar ubicación" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Borrar acceso a ubicación" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "No se puede añadir favorito. Alcanzado el número máximo de favoritos" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "¿Eliminar la información de acceso a ubicación del sitio web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Imprimir" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Buscar o introducir URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Baja" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Medio" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Página en blanco" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Fallo en la instalación" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Ajustes del sitio web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Alta" + diff --git a/po/fi.po b/po/fi.po new file mode 100755 index 00000000..9c0b0d00 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Ilmoitetaan..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Käsitellään..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Käsittely valmis" + +msgid "IDS_BR_SK_RETRY" +msgstr "Yritä uud." + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Latauksen hallinta" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Virheellinen kuvaus" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Tiedostoa ei voi avata" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Ladataanko?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Valittu" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Lataus peruutettu" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Jatka edel. sivulta" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Sivu" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Sanakirja" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Tietoja selaimesta" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Tyyppi" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Myöntäjä" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Näytä kuvat" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Lataa" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Kirjoita URL-osoite" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Kansio" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Kotisivu" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Vaaka" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Ei kirjanmerkkejä" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Tuloksia ei löytynyt" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Valinnainen" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Suorita Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Suorita JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Yleinen nimi:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organisaatioyksikkö:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organisaatio:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Käyttäjäagentti" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Valinnat" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktivointivirhe" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "On jo käynnissä" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Ei toteutettu" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Todennus epäonnistui" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Korvataanko?" + +msgid "IDS_BR_POP_URL" +msgstr "URL-osoite" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historia" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Latausluettelo" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "On jo asennettu" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Ilmoitetaan..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Sisältöä ei tueta" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Virhe: isäntänimeä ei voi selvittää" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Välityspalvelimeen ei saada yhteyttä" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Ei SSL-varmenteita" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Tiedoston koko ylittää lähetykselle asetetun enimmäisrajoituksen" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Kirjoita nimi:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Seuraava" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Uusi kansio" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Lisää kirjanmerkk." + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Uusi ikkuna" + +msgid "IDS_BR_BODY_URL" +msgstr "URL-osoite" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL-osoite:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL-osoite ei ole käytettävissä" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL-osoite %s ei ole käytettävissä. Se voi olla väliaikaisesti tai lopullisesti poissa käytöstä" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Kansio" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Kansion nimi" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Kansion nimi on jo käytössä" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Otsikko puuttuu" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Usea ikkuna" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Historioita ei ole" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Lisää kirjanmerkkeihin" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Muokkaa kirjanmerkkiä" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Kansion nimi:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Valitse kaikki" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Latauksen hallinta" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Lisää RSS-syöte" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Lisää RSS-syötteet" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Asetukset" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Kirjoita URL-osoite" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Salasana" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Virheellinen osoite" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "On jo latausluettelossa" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Kirjoita kansion nimi" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Ei sivua" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Ei edellisiä sivuja" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Ei seuraavia sivuja" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Ei uudelleen ladattavaa sivua" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Todennus vaaditaan" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Kirjanmerkki on jo olemassa" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Kansion nimi on jo olemassa" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Objektia ei voi tallentaa. Välimuistissa ei ole riittävästi tilaa" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Valitse kohteet" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Sertifikaatin tiedot" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Jaa sähköpostin kautta" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Jaa viestien kautta" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Jakotapa" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Selainta ei voi käynnistää" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Ei osoitetta" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Älä näytä koskaan uudelleen" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Tiedostonimi on tyhjä" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Luo kansio" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Valittu" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Jaa" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Viimeksi avatut sivut" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Näyttö" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Sovita leveyteen" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Luku" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Yksityisyys" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Evästeet" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Hyväksy kaikki" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Kehote" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Evästeet" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Hyväksy evästeet" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Hyväksy evästeet" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Hyväksy kaikki" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Hylkää kaikki" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Tallenna tunnus/salasana automaattisesti" + +msgid "IDS_BR_BODY_ON" +msgstr "Päällä" + +msgid "IDS_BR_BODY_OFF" +msgstr "Pois" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Oletustallennuspaikka" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Etsi" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Tallenna kuva" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Akku on loppumassa. Selainta ei voi käyttää" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Etsi sana" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Lisää alkunäytöksi" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Lisää alkunäyttöön" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Useimmin katsotut sivustot" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Jaa Facebookin kautta" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Jaa Twitterin kautta" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Vaihda näkymää" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Valitse URL-osoitteet" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Tämä sivusto yrittää avata ponnahdusikkunan" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Estä ponnahdusikkunat" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Tekstinlukija" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopioi kuva" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Tallenna kuva" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Toista" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Valitse" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Siirry taaksepäin" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Siirry eteenpäin" + +msgid "IDS_BR_OPT_STOP" +msgstr "Lopeta" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Lataa uudelleen" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Liitä" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Lisää" + +msgid "IDS_BR_POP_FAIL" +msgstr "Epäonnistui" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Avaa uud. ikkunassa" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Näytä latausluettelo" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopioi URL-osoite" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopioi URL-osoite kohteeseen" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Näytä kuva" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Yksityisyysasetukset" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Tyhjennä välimuisti" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Tyhjennä historia" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Ota laajennukset käyttöön" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Valitse hakukone" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Poista tallennettu tunnus/salasana" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Poista kaikki evästetiedot" + +msgid "IDS_BR_BODY_UP" +msgstr "Ylös" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Kirjasinkoko" + +msgid "IDS_BR_POP_DELETED" +msgstr "Poistettu" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Oletusnäkymä" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Sivun sisällön asetukset" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Kirjainkoko merkitsevä" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Laajennus" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Laajennusluettelo" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Paikallinen tallennustila" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Poista selaustiedot" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Ladataan..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Ladataan..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Kirjoita URL-osoite" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Lukitse" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Avaa lukitus" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Muokkaa" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Sivu ylös" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Sivu alas" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Kehittäjätila" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Tyhjä" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Varmenteet" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Kirjanmerkit" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Kirjoita nimi" + +msgid "IDS_BR_BODY_NAME" +msgstr "Nimi" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Lähetä sähköpostiviestinä" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Lähetä viestinä" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Asetukset" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Käyttäjän nimi" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "On jo olemassa" + +msgid "IDS_BR_POP_SAVED" +msgstr "Tallennettu" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Ei tarpeeksi muistia" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Verkkovirhe" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Kysy aina" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Muistikortti" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Puhelin" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Ei tilejä" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Virhesivu" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Verkkosivu ei tällä hetkellä ole käytettävissä" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Verkkosivu ei ole käytettävissä" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Kehysten lataaminen epäonnistui" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Verkkosivua %s haettaessa tapahtui seuraava virhe." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Verkkosivua ei voi hakea. (Verkkosivu on ehkä väliaikaisesti poissa käytöstä tai se on siirretty uuteen URL-osoitteeseen)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Todennäköisin syy on annettu alla" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Verkkoyhteyttä ei ole muodostettu normaalisti" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Tarkista verkkosivun URL-osoite" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Lataa verkkosivu myöhemmin uudelleen" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Kirjanmerkki" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Otsikko" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Kirjoita otsikko" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Kansiot" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Salli" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Kieltäydy" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Suojausvirhe: Palvelimen sertifikaatti ei ole luotettava" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d kohdetta valittu" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 kohde valittu" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Lisää Web-leikkeeseen" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Pikanäppäin luotu" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Valitse sana" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Etsi sivulta" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Etsi sivulta" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Luettelo" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Valitse kaikki" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Viesti" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Sähköposti" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Peruuta" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopioi l. URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Näytä kuva" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Avaa uud. sivulle" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Avoin" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Tekstin valinta päällä" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Kirjanmerkit" + +msgid "IDS_BR_SK_EDIT" +msgstr "Muokkaa" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Poista" + +msgid "IDS_BR_SK_DELETE" +msgstr "Poista" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Peruuta" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Muokkaa kirjanmerkkiä" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Viestit" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Sähköposti" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Muokkaa" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Poista" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Lisää kirjanmerkkeihin" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Kirjasinkoko" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Iso" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Pieni" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Nopeus" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Välityspalvelimen osoite" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Välityspalvelimen portti" + +msgid "IDS_BR_SK_DONE" +msgstr "Valmis" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versio" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Asenna" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Nykyinen sivu" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Kirjoita kansion nimi" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Anna kirjanmerkin nimi" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Älä kysy uudelleen" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL-osoitetta ei löydy" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s pyytää sijaintiasi" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Muista ensisijainen asetus" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Näytä kuvat" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Näytä suojausvaroitukset" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Muista salasanat" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Tyhjennä salasanat" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Poistetaanko kaikki tallennetut salasanat?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Kaikki evästeet poistetaan. Jatketaanko?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Muista lomaketiedot" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Palauta oletukset" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Kaikki oletusasetukset palautetaan. Jatketaanko?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Tyhjennetäänkö välimuisti?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Tyhjennetäänkö koko sivuhistoria?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Selaimen navigointihistoria tyhjennetään" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Aina käytössä" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Ota sijainti käyttöön" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Poista sijainnin käyttö" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Kirjanmerkkiä ei voi lisätä. Kirjanmerkkien enimmäismäärä on saavutettu" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Poistetaanko sivuston sijaintitiedot?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Tulosta" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Hae tai anna URL-osoite" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automaattinen" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuaalinen" + +msgid "IDS_BR_BODY_LOW" +msgstr "Matala" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Keskikokoinen" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Tyhjä sivu" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Asennus epäonnistui" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Sivuston asetukset" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Korkea" + diff --git a/po/fr.po b/po/fr.po new file mode 100755 index 00000000..1d318372 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Favoris" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Télécharger" + +msgid "IDS_BR_BODY_RSS" +msgstr "" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Ajouter aux favoris" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Annuler" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "" + diff --git a/po/fr_FR.po b/po/fr_FR.po index 9cc290ee..4152463d 100755 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Echec de l'installation" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Notification..." @@ -619,3 +616,216 @@ msgstr "%d éléments sélectionnés" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 élément sélectionné" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Ajouter au clip Web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Raccourci créé" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Sélect. mot" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Rech. sur page" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Rech. sur page" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Liste" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Sélect. tout" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Message" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Annuler" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copier l'URL du lien" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Afficher image" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Ouvrir dans nouvelle page" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Ouvrir" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Activer sélection de texte" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Favoris" + +msgid "IDS_BR_SK_EDIT" +msgstr "Modifier" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Suppr." + +msgid "IDS_BR_SK_DELETE" +msgstr "Supprimer" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Annuler" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Modifier le favori" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Messages" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Modifier" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Supprimer" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Ajouter aux favoris" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Taille de la police" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Grande" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Petite" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Vitesse" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adresse de proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Effectué" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Version" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Installer" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Page en cours" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Entrer nom du dossier" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Entrez le nom d'un favori" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Ne plus demander" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL introuvable" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s demande votre position" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Mémoriser la préférence" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Afficher les images" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Afficher les avertissements de sécurité" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Retenir les mots de passe" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Effacer les mots de passe" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Supprimer tous les mots de passe enregistrés ?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Supprimer tous les cookies. Continuer ?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Se rappeler des données de formulaire" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Restaurer valeurs par défaut" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Tous les paramètres par défaut. Continuer ?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Vider le cache ?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Effacer tout l'historique ?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "L'historique de navigation du navigateur sera effacé" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Toujours activé" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Activer la localisation" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Effacer l'accès à la position" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Impossible d'ajouter un favori. Nombre maximum de favoris atteint" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Supprimer les informations d'accès à la position des sites Web ?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Imprimer" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Rechercher ou entrer une URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto." + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuel" + +msgid "IDS_BR_BODY_LOW" +msgstr "Faible" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Moyenne" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Page vierge" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Echec de l'installation" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Paramètres des sites Web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Haute" + diff --git a/po/he.po b/po/he.po new file mode 100755 index 00000000..6ca922e9 --- /dev/null +++ b/po/he.po @@ -0,0 +1,825 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "?????..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "?×¢??..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "?×¢???? ??ש??" + +msgid "IDS_BR_SK_RETRY" +msgstr "?ס? ש??" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "???? ???ר??ת" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "?ת?ר ?? ??×§?" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "?? ??ת? ?פת?? ×§??×¥" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "???ר???" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "???ר" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "???ר?? ?????" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "??ש? ???×£ ???ר??" + +msgid "IDS_BR_BODY_PAGE" +msgstr "?×£" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "?????" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "????ת ??פ?פ?" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "ס??" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "??פ?×§" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "?צ? ת????ת" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "??ר?" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "??? URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "ת?×§???" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "?×£ ???ת" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "תצ??? ?ר???" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "??? ס?????ת" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "?? ??צ?? ת?צ??ת" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "??פצ?????" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "?פע? Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "?פע? JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "ש? ?פ?×¥:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "????? ?ר????ת:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "?ר???:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "ס??? ?שת?ש" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "?×¢?פ?ת" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "ש???ת ?פע??" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "??ר פ?×¢?..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "?? ???ש?" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "?????ת ??ש?" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "?????×£?" + +msgid "IDS_BR_POP_URL" +msgstr "?ת??ת URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "??ס??ר??" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "רש??ת ??ר??ת" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "??ר ??תק?" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "?????..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "ת??? ?? ?ת??" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "ש????: ?? ??ת? ????ת ?ת ש? ???ר?" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "?? ??ת? ????×¢ ?-proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "??? ??ש?ר?\nSSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "???? ×§??×¥ ??ר? ?????ת ??×¢???" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "??? ש?:" + +msgid "IDS_BR_SK_NEXT" +msgstr "???" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "ת?×§??? ??ש?" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "??סף ?ס?????ת" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "???? ??ש" + +msgid "IDS_BR_BODY_URL" +msgstr "?ת??ת URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "?ת??ת URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "?ת??ת URL ?? ?????" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "?ת??ת URL %s ?? ?????. ?ת?? ???? ?? ????? ???פ? ???? ?? ש??ר ???? ?ש???ש" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "ת?×§???" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "ש? ת?×§???" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "ש? ?ת?×§??? ??ר ?ש???ש" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "??? ??תרת" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "?????ת ?ר????" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "??? ??ס??ר??" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "??סף ?ס?????ת" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "ער?? ס??????" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "ש? ת?×§???:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "??ר ???" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "???? ???ר??ת" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "?ס?×£ ???ת RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "??סף ????ת RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "???ר?ת" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "??? URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "ס?ס??" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "?ת??ת ?? ??×§?ת" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "??ר ×§??? ?רש??ת ???ר??ת" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "??? ש? ת?×§???" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "??? ?×£" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "??? ?פ?? ????ר ???ר?" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "??? ?פ?? ?×¢??ר ×§????" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "??? ?×£ ??×¢??? ???ש" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "????ת ?ר?ש" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "?ס????? ??ר ×§???ת" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "ש? ?ת?×§??? ??ר ×§???" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "?? ??ת? ?ש??ר ?????×§?. ??? ?? ?×§?? ??????" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "??ר פר????" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "פר?? ??ש?ר" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "שתף ???צע?ת ???ר ??×§?ר???" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "שתף ???צע?ת ???×¢?ת" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "שתף ???צע?ת" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "?? ??ת? ??פע?? ?ת ??פ?פ?" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "??? ?ת??ת" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "?? תצ?? ש??" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "ש? ×§??×¥ ר?×§" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "צ?ר ת?×§???" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "???ר" + +msgid "IDS_BR_OPT_SHARE" +msgstr "שתף" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "??פ?? ש?צפ? ???ר???" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "תצ???" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "?ת?? ?ר???" + +msgid "IDS_BR_BODY_READABLE" +msgstr "??ת? ?קר???" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "פר???ת" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "×§??צ? Cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "×§?? ???" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "ש??" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "×§??צ? Cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "cookies ?פשר ×§??ת" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "cookies ?פשר ×§??ת" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "×§?? ???" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "??? ???" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "ש??ר ????/ס?ס?? ???פ? ???????" + +msgid "IDS_BR_BODY_ON" +msgstr "??פע?" + +msgid "IDS_BR_BODY_OFF" +msgstr "????" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "??ס?? ?ר?רת ????" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "??פ?ש" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "ש??ר ת????" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "ס???? ??ש?. ?? ??ת? ??פע?? ?פ?פ?" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "?צ? ????" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "??סף ??ס? ???ת" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "??סף ??ס? ???ת" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "??תר?? ?ש????? ???תר" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "שתף ???צע?ת Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "שתף ???צע?ת Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "ש?? תצ???" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "??ר ?ת???ת URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "?תר ?? ??ס? ?פת?? ???? ??קפץ" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "?ס?? ?????ת ??קפצ??" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "×§?ר? ?קס?" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "?עתק ת????" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "ש??ר ת????" + +msgid "IDS_BR_BODY_PLAY" +msgstr "?פע?" + +msgid "IDS_BR_OPT_SELECT" +msgstr "??ר" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "???ר ???ר?" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "×¢??ר ×§????" + +msgid "IDS_BR_OPT_STOP" +msgstr "עצ?ר" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "?×¢? ???ש" + +msgid "IDS_BR_OPT_PASTE" +msgstr "???×§" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "×¢??" + +msgid "IDS_BR_POP_FAIL" +msgstr "??ש?" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "פת? ????? ??ש" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "?צ? רש??ת ??ר??" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "?עתק URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "?עתק URL ??" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "?צ? ת????" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "???ר?ת פר???ת" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "??×§ ?????" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "??×§ ??ס??ר??" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "?פע? ת?ספ??" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "??ר ???×¢ ??פ?ש" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "??×§ ????/ס?ס?? ש??ר??" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "?×§? ?ת ?? ?ת??? ?-Cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "??×¢??" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "???? ??פ?" + +msgid "IDS_BR_POP_DELETED" +msgstr "???×§" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "תצ??ת ?ר?רת ????" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "???ר?ת ת??? ??×£" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "ת??? ר?ש??ת" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "?ת??ר" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "רש??ת ??ש??? Plug-in" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "??ס?? ?×§???" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "??×§ ?ת??? ???ש?" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "??×¢?..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "??×¢?..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "??? URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "?×¢?" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "??? ?×¢???" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "ש??" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "?×£ ??×¢??" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "?×£ ????" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "?צ? ?פת?" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "ר?×§" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "??ש?ר??" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "ס?????ת" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "??? ש?" + +msgid "IDS_BR_BODY_NAME" +msgstr "ש?" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "ש?? ???צע?ת ????×?" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "ש?? ???צע?ת ???×¢?" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "???ר?ת" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "ש? ?שת?ש" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "??ר ×§???" + +msgid "IDS_BR_POP_SAVED" +msgstr "?ש?ר" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "??? ?? ???ר??" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "ש???ת רשת" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "ש?? ת???" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "?ר??ס ???ר??" + +msgid "IDS_BR_BODY_PHONE" +msgstr "??פ??" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "??? ?ש????ת" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "?×£ ש????" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "?×£ ?????ר?? ???? ???? ???פ? ????" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "?×£ ?????ר?? ???? ????" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "?×¢??ת ??ס?ר?ת ??ש??" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "?עת ????ר ?×£ ?????ר?? %s, ??רע? ?ש???? ????." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "?? ??ת? ????ר ?ת ?×£ ?????ר??. (??ת?? ש?×£ ?????ר?? ??ש?ת ???פ? ???? ?? ש??×¢?ר ??ת??ת URL ??ש?)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "?ס??? ?ס??ר? ???תר ??צ?ת ????" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "????ר רשת ?? ??צר ?????" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "???×§ ?ת ?ת??ת ?-URL ש? ?×£ ?????ר??" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "?×¢? ???ש ?×£ ????ר?? ????ר ??תר" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "ס?????ת" + +msgid "IDS_BR_BODY_TITLE" +msgstr "??תרת" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "??? ??תרת" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "ת?×§??ת" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "?פשר" + +msgid "IDS_BR_POP_REFUSE" +msgstr "???" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "ש???ת ?????: ??ש?ר שרת ?? ????" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "???ר? %d פר????" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "פר?? ??? ???ר" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "??סף ?×§??פ ????ר??" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "×§?צ?ר ?ר? ??צר" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "??ר ????" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "?פש ??×£" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "?פש ??×£" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "?פ?פ?" + +msgid "IDS_BR_OPT_LIST" +msgstr "רש???" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "??ר ???" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "???×¢?" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "?????" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "?עתק URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "?צ? ת????" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "פת? ??×£ ??ש" + +msgid "IDS_BR_OPT_OPEN" +msgstr "פת?" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "???רת ?קס? פ?×¢?ת" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "ס?????ת" + +msgid "IDS_BR_SK_EDIT" +msgstr "ער???" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "??×§" + +msgid "IDS_BR_SK_DELETE" +msgstr "??×§" + +msgid "IDS_BR_SK_CANCEL" +msgstr "?????" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "ער?? ס??????" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "???×¢?ת" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "ער???" + +msgid "IDS_BR_SK3_DELETE" +msgstr "??×§" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "??סף ?ס?????ת" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "???? ??פ?" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "????" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "×§??" + +msgid "IDS_BR_BODY_SPEED" +msgstr "???ר?ת" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "?ת??ת Proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "?צ??ת Proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "??צע" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "?רס?" + +msgid "IDS_BR_SK_INSTALL" +msgstr "?תק?" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "?×£ ?????" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "??? ש? ת?×§???" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "??? ש? ס??????" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "?? תש?? ש??" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "?ת??ת URL ?? ??צ??" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "??s ??קש ?ת ???×§?? ש??" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "???ר ?×¢?פ?" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "?צ? ת????ת" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "?צ? ???ר?ת ?????" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "???ר ס?ס???ת" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "?×§? ס?ס???ת" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "????×§ ?ת ?? ?ס?ס???ת ש?ש?ר??" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "???קת ?? ?-cookies?? ???ש???" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "???ר ?ת??? ??פס" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "??פ?ס ??ר?רת ????" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "?? ????ר?ת ??פ??ת ??ר?רת ????. ???ש???" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "????×§ ??????" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "????×§ ?ת ?? ???ס??ר???" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "??ס??ר??ת ??פ?פ? ת???×§" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "??פע? ת???" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "?פשר ??×§??" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "?×§? ??ש? ???×§??" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "?? ??ת? ???ס?×£ ס??????. ??עת ??ספר ??ר?? ש? ס?????ת" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "????×§ פר?? ??ש? ???×§?? ?תר? ????ר???" + +msgid "IDS_BR_BODY_PRINT" +msgstr "??פס?" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "?פש ?? ??? ?ת??ת" + +msgid "IDS_BR_BODY_AUTO" +msgstr "???????" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "????" + +msgid "IDS_BR_BODY_LOW" +msgstr "????" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "??????" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "?×£ ר?×§" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "??תק?? ??ש??" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "???ר?ת ?תר ????ר??" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "????" + diff --git a/po/hi.po b/po/hi.po new file mode 100755 index 00000000..e2911b4b --- /dev/null +++ b/po/hi.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "सूचित किया जा रहा है..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "प्रोसेस हो रहा है…" + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "कार्रवाई पूर्ण हुई" + +msgid "IDS_BR_SK_RETRY" +msgstr "पुन: प्रयास" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "डाउनलोड प्रबंधक" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "अमान्य वर्णनकर्ता" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "फाईल खोलने में अक्षम" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "डाउनलोड?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "चयनित" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "डाउनलोड रद्द" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "अंतिम पेज से जारी रखें" + +msgid "IDS_BR_BODY_PAGE" +msgstr "पेज" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "शब्दकोष" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "ब्राउजर के बारे में" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "प्रकार" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "जारीकर्ता" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "छवियाँ दर्शाएँ" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "डाउनलोड करें" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "URL प्रविष्ट करें" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "फोल्डर" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "होमपेज" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "लैंडस्केप दृश्य" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "कोई बुकमार्क नहीं" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "कोई परिणाम नहीं मिले" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "वैकल्पिक" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "फ्लैश चलाएँ" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "जावा स्क्रिप्ट चलाएँ" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "सामान्य नाम:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "संगठनात्मक इकाई:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "संगठन:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "उपभोक्ता एजेन्ट" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "प्राथमिकताएँ" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "सक्रियण त्रुटि" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "पहले से चल रहा है..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "कार्यान्वित नहीं" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "प्रमाणीकरण असफल" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "ओवरराइट?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "इतिहास" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "डाउनलोड सूची" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "पहले से इंस्टॉल है" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "सूचित किया जा रहा है..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "असमर्थित विषय" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "त्रुटि: होस्ट नाम सुलझाने में अक्षम" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "प्रॉक्सी तक पहुँचने में अक्षम" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "कोई एसएसएल प्रमाणपत्र नहीं" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "फ़ाइल आकार अधिकतम अपलोड सीमा से अधिक है" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "नाम दर्ज करें:" + +msgid "IDS_BR_SK_NEXT" +msgstr "अगला" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "नया फ़ोल्‍डर" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "बुकमार्क्स में शामिल करें" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "नई विंडो" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "वेब पता उपलब्‍ध नहीं" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "वेब पता %s उपलब्ध नहीं। वह अस्‍थायी रूप से बंद या अब उपयोग में नहीं रहेगी" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "फोल्डर" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "फोल्डर का नाम" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "फ़ोल्डर का नाम पहले से उपयोग में है" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "कोई शीर्षक नहीं" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "मल्टी विंडो" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "इतिहास नहीं" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "बुकमार्क्स में जोड़ें" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "बुकमार्क संपादित करें" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "फोल्डर नाम:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "सभी चुनें" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "डाउनलोड प्रबंधक" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "RSS फीड जोड़ें" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "RSS फ़ीड्स जोड़ें" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "सेटिंग्स" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "यूआरएल प्रविष्ट करें" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "पासवर्ड" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "अमान्य पता" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "डाउनलोड सूची में पहले से मौजूद है" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "फ़ोल्‍डर नाम दर्ज करें" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "कोई पेज नहीं" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "पीछे ले जाने के लिए पेज नहीं" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "आगे ले जाने के लिए पेज नहीं" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "दोबारा लोड करने के लिए कोई पेज नहीं है" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "प्रमाणीकरण आवश्यक है" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "बुकमार्क पहले से मौजूद है" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "फ़ोल्डर का नाम पहले से मौजूद है" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "ऑब्‍जेक्‍ट सुरक्षित करने में अक्षम। कैशे में पर्याप्त स्थान नहीं" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "आइटम चुनें" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "प्रमाणपत्र जानकारी" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "ईमेल के द्वारा साझा करें" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "संदेशो के द्वारा साझा करें" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "इसके द्वारा साझा करें" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "ब्राउज़र शुरू करने में अक्षम" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "कोई पता नहीं" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "दोबारा नहीं दिखाएँ" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "फाइल का नाम रिक्त है" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "फ़ोल्‍डर बनाएँ" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "चयनित" + +msgid "IDS_BR_OPT_SHARE" +msgstr "शेयर करें" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "हाल ही में भेंट दिए पेजेस" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "प्रदर्शन" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "चौड़ाई में फिट करें" + +msgid "IDS_BR_BODY_READABLE" +msgstr "पढ़ने योग्य" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "गोपनीयता" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "कुकीज" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "सभी स्वीकारें" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "प्रॉम्प्ट" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "कुकीज" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "कुकीज स्‍वीकारें" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "कुकीज स्‍वीकारें" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "सभी स्वीकारें" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "सभी अस्वीकारें" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "ऑटो सेव ID/पासवर्ड" + +msgid "IDS_BR_BODY_ON" +msgstr "चालू" + +msgid "IDS_BR_BODY_OFF" +msgstr "बंद" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "डिफॉल्ट स्टोरेज" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "खोजें" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "छवि सुरक्षित करें" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "बैटरी कम है. ब्राउज़र चलाने में असमर्थ" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "शब्द ढूँढें" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "होम स्क्रीन पर जोड़े" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "होम स्क्रीन पर जोड़े" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "अधिकतम भेंट दिए साइट्स" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "फ़ेसबुक के द्वारा साझा करें" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "ट्विटर के द्वारा साझा करें" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "दृश्य बदलें" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "URL चुनें" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "यह साईट पॉप-अप विंडो खालने का प्रयास कर रही है" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "पॉप-अप विंडो अवरुद्ध करें" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "पाठ पाठक" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "छवि कॉपी करें" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "छवि सुरक्षित करें" + +msgid "IDS_BR_BODY_PLAY" +msgstr "चलाएँ" + +msgid "IDS_BR_OPT_SELECT" +msgstr "चुनें" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "पीछे जाएँ" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "आगे जाएँ" + +msgid "IDS_BR_OPT_STOP" +msgstr "रोकें" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "पुनः लोड करें" + +msgid "IDS_BR_OPT_PASTE" +msgstr "पेस्ट करें" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "अधिक" + +msgid "IDS_BR_POP_FAIL" +msgstr "असफल हुआ" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "नई विंडो में खोलें" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "डाउनलोड सूची देखें" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "URL कॉपी करें" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "को यूआरएल कापी करें" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "छवि देखें" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "गोपनीयता सेटिंग्स" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "कैचे साफ़ करें" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "इतिहास साफ़ करें" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "प्लग-इन्स सक्षम करें" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "खोज इंजिन चुनें" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "सेव किए हुए ID/पासवर्ड हटाएँ" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "सभी कुकीज़ डेटा साफ़ करें" + +msgid "IDS_BR_BODY_UP" +msgstr "ऊपर" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "फॉन्ट आकार" + +msgid "IDS_BR_POP_DELETED" +msgstr "हटाया गया" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "डीफ़ॉल्ट दृश्य" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "पेज सामग्री सेटिंग्स" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "केस-संवेदी" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "प्लग इन" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "प्‍लगइन्‍स सूची" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "लोकल स्‍टोरेज" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "ब्राउजिंग डेटा हटाएँ" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "लोड हो रहा है..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "लोड हो रहा है..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "URL प्रविष्ट करें" + +msgid "IDS_BR_OPT_LOCK" +msgstr "लॉक करें" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "अनलॉक करें" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "संशोधन करें" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "पेज अप" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "पेज डाउन" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "डेवलपर मोड" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "खाली" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "प्रमाणपत्र" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "बुकमार्क्स" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "नाम प्रविष्ट करें" + +msgid "IDS_BR_BODY_NAME" +msgstr "नाम" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "ईमेल द्वारा भेजें" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Message द्वारा भेजें" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "सेटिंग्स" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "उपभोक्ता नाम" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "पहले से ही मौजूद" + +msgid "IDS_BR_POP_SAVED" +msgstr "सुरक्षित किया" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "पर्याप्‍त मेमोरी नहीं" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "नेटवर्क त्रुटी" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "हमेशा पूछें" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "मेमोरी कार्ड" + +msgid "IDS_BR_BODY_PHONE" +msgstr "फोन" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "खाते नहीं" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "त्रुटि पेज" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "वेब पेज अस्थायी रूप में उपलब्ध नहीं" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "वेब पेज उपलब्ध नहीं" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "फ्रेम्स लोड करने में विफल" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "वेब पेज %s पुनर्प्राप्त करने के दौरान, निम्नलिखित त्रुटि पाई गई।" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "वेब पेज पुनर्प्राप्त करने में अक्षम। (वेब पेज अस्‍थायी रूप से डाउन हो सकता है या नए URL में स्थानांतरित हो सकता है)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "सबसे संभव कारण नीचे दिया गया है" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "नेटवर्क कनेक्शन सामान्य रूप से स्‍थापित नहीं हुआ" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "वेब पेज URL देखें" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "बाद में वेब पेज रीलोड करें" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "बुकमार्क" + +msgid "IDS_BR_BODY_TITLE" +msgstr "शीर्षक" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "शीर्षक प्रविष्ट करें" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "फोल्डर्स" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "अनुमति दें" + +msgid "IDS_BR_POP_REFUSE" +msgstr "अस्वीकारें" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "सुरक्षा त्रुटि: अविश्‍वसनीय सर्वर प्रमाणपत्र" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d मदें चयनित" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 मद चयनित" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Web क्लीप में जोड़ें" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "शॉर्टकट बनाया है" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "शब्‍द चुनें" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "पेज़ पर ढूँढें" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "पेज़ पर ढूँढें" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "इंटरनेट" + +msgid "IDS_BR_OPT_LIST" +msgstr "सूची" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "सभी चुनें" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "सन्देश" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "ईमेल" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "रद्द करें" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "लिंक URL कॉपी करें" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "छवि देखें" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "नए पेज में खोलें" + +msgid "IDS_BR_OPT_OPEN" +msgstr "खोलें" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "टेक्स्ट चयन चालू" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "बुकमार्क्स" + +msgid "IDS_BR_SK_EDIT" +msgstr "संपादन" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "हटाएँ" + +msgid "IDS_BR_SK_DELETE" +msgstr "हटाएँ" + +msgid "IDS_BR_SK_CANCEL" +msgstr "रद्द" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "बुकमार्क संपादित करें" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "सन्देश" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "ईमेल" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "संपादित करें" + +msgid "IDS_BR_SK3_DELETE" +msgstr "हटाएँ" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "बुकमार्क्स में जोड़ें" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "फॉन्ट आकार" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "बड़ा" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "छोटा" + +msgid "IDS_BR_BODY_SPEED" +msgstr "गति" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "प्रॉक्‍सी पता" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "प्रॉक्‍सी पोर्ट" + +msgid "IDS_BR_SK_DONE" +msgstr "हुआ" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "संस्करण" + +msgid "IDS_BR_SK_INSTALL" +msgstr "स्थापना" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "वर्तमान पेज" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "फ़ोल्‍डर नाम दर्ज करें" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "बुकमार्क का नाम दर्ज करें" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "दोबारा न पूछें" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "यूआरएल नहीं मिला" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s आपके स्थान का अनुरोध करता है" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "प्राथमिकता याद रखें" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "इमेजेस दिखाएँ" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "सुरक्षा चेतावनियां दिखाएँ" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "पासवर्ड्स याद रखें" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "पासवर्ड्‍स साफ़ करें" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "सभी सेव किए गए पासवर्ड्स हटाएँ?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "सभी कुकीज् हटाएँ. जारी रखें?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "फॉर्म डाटा याद रखें" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "डिफॉल्‍ट में रीसेट करें" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "सभी सेटिंग्स डीफ़ॉल्ट पर. जारी रखें?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "कैचे साफ़ करें?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "सभी इतिहास साफ़ करें?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "ब्राउज़र नेविगेशन इतिहास साफ़ हो जाएगा" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "हमेशा चालू" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "स्थान सक्षम करें" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "स्थान ऍक्सेस साफ करें" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Bookmark जोड़ने में अक्षम। Bookmarks की संख्‍या अधिकतम हो गई" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "वेबसाइट स्थान ऍक्सेस जानकारी हटाएँ?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "प्रिंट करें" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "खोजें या URL दर्ज करें" + +msgid "IDS_BR_BODY_AUTO" +msgstr "स्वतः" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "मैनुअल" + +msgid "IDS_BR_BODY_LOW" +msgstr "निम्न" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "मध्यम" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "खाली पेज" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "स्थापना असफल" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "वेबसाइट सेटिंग" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "उच्च" + diff --git a/po/hr.po b/po/hr.po new file mode 100755 index 00000000..741d2df7 --- /dev/null +++ b/po/hr.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Obaviješćivanje..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Procesiranje..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Procesiranje obavljeno" + +msgid "IDS_BR_SK_RETRY" +msgstr "Ponovi" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Upravljanje skidanja" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Neispravan opis" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Nemoguće otvoriti datoteku" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Skinuti?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Odabrano" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Skidanje prekinuto" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Nastavi od zadnje strane" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Stranica" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Rječnik" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "O pretraživaču" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Vrsta" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Izdavač" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Prikaz slika" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Skidanje" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Unesite adresu" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mapa" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Početna stranica" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Cijeli zaslon" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Nema favorita" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nema rezultata" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Po izboru" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Pokreni Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Pokreni JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Zajednički naziv:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizacijska jedinica:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizacija:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Korisnički agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Odrednice" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "GreÅ¡ka aktivacije" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Već se izvodi" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Nije instalirano" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "GreÅ¡ka provjere" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Prebrisati?" + +msgid "IDS_BR_POP_URL" +msgstr "Adresa" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Povijest" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Popis skidanja" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Već instalirano" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Slanje obavijesti..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Sadržaj nepodržan" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "GreÅ¡ka: ne može se utvrditi naziv računala" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Nemoguće pristupiti proxiju" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Nema SSL certifikata" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Veličina datoteke prelazi maks. ograničenje prijenosa" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Unesi naziv:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Dalje" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Nova mapa" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Dodaj u favorite" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Novi prozor" + +msgid "IDS_BR_BODY_URL" +msgstr "Adresa" + +msgid "IDS_BR_BODY_URL_C" +msgstr "Adresa:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL nedostupan" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s nije dostupan. URL je privremeno nedostupan ili se viÅ¡e ne koristi" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mapa" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Ime mape" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Ime mape se već koristi" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Nema naslova" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "ViÅ¡e prozora" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Nema povijesti" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Dodaj u Favorite" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Uredi favorita" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Naziv mape:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Odaberi sve" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Upravljanje skidanja" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Dodajte RSS kanal" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Dodaj RSS sažetke" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Postavke" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Unesite adresu" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Å ifra" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Neispravna adresa" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Već postoji na popisu skidanja" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Unesite naziv mape" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Nema stranice" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Nema stranica unazad" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Nema stranica unaprijed" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Stranica ne postoji" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Provjera potrebna" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Oznaka se već koristi" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Ime mape već postoji" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Nije moguće sapremiti objekt. Nedovoljno prostora u privremenoj memoriji" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Odaberite stavke" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informacije o certifikatu" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Dijeljenje preko emaila" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Dijeljenje preko poruka" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Dijeljenje preko" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Nemoguće pokrenuti Pretraživač" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Nema adrese" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Ne prikazuj viÅ¡e" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Nema imena datoteke" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Nova mapa" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Odabrano" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Dijeli" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Nedavno posjećene stranice" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Zaslon" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Prilagodi Å¡irini" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Čitljivo" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Privatnost" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Kolačići" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Prihvati sve" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Pitaj" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Kolačići" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Prihvati kolačiće" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Prihvati kolačiće" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Prihvati sve" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Odbaci sve" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Auto. spremanje kor. imena/Å¡ifre" + +msgid "IDS_BR_BODY_ON" +msgstr "Uključeno" + +msgid "IDS_BR_BODY_OFF" +msgstr "Isključeno" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Postavljena memorija" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Traži" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Spremi sliku" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Baterija skoro prazna. Nemoguće pokrenuti pretraživač" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Traži pojam" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Dodaj na početni zaslon" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Dodaj na početni zaslon" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Najposjećenija mjesta" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Dijeli putem Facebooka" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Dijeli putem Twittera" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Promijeni prikaz" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Odaberi URL-ove" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Stranica pokuÅ¡ava otvoriti pop-up prozor" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokiraj pop-up prozore" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Čitač teksta" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopiraj sliku" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Spremi sliku" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Reproduciraj" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Odaberi" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Nazad" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Naprijed" + +msgid "IDS_BR_OPT_STOP" +msgstr "Prekid" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Učitaj ponovo" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Zalijepi" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "ViÅ¡e" + +msgid "IDS_BR_POP_FAIL" +msgstr "NeuspjeÅ¡no" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Otvori u novi prozor" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Prikaz popisa za skidanje" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopiraj adresu" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopiraj adresu" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Prikaži sliku" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Postavke privatnosti" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "ObriÅ¡i međuspremnik" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Brisanje povijesti" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Uključi dodatke" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Odaberite pretraživač" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Brisanje kor. podataka" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "ObriÅ¡i sve podatke kolačića" + +msgid "IDS_BR_BODY_UP" +msgstr "Gore" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Veličina slova" + +msgid "IDS_BR_POP_DELETED" +msgstr "Obrisano" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Zadani prikaz" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Postavke stranice" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Razlikuj velika/mala slova" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Dodatak" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Popis dodataka" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokalna memorija" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "ObriÅ¡i podatke pretraživanja" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Učitavanje..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Učitavanje..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Unesite adresu" + +msgid "IDS_BR_OPT_LOCK" +msgstr "ZaÅ¡tita" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Otključaj" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Uredi" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Gore" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Dolje" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Razvojni način" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Prazno" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certifikati" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Favoriti" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Unesite ime" + +msgid "IDS_BR_BODY_NAME" +msgstr "Naziv" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "PoÅ¡alji emailom" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "PoÅ¡alji putem poruke" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Postavke" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Korisničko ime" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Već postoji" + +msgid "IDS_BR_POP_SAVED" +msgstr "Spremljeno" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Memorija nedovoljna" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "GreÅ¡ka mreže" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Uvijek pitaj" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Mem. kartica" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Nema računa" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Stranica s greÅ¡kom" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Internet stranica privremeno nedostupna" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Internet stranica nedostupna" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "NeuspjeÅ¡no učitavanje okvira" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "DoÅ¡lo je do sljedeće greÅ¡ke tijekom dohvaćanja internet stranice %s." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "GreÅ¡ka dohvaćanja internet stranice. (internet stranica privremeno nedostupna ili premjeÅ¡tena na novi URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Najvjerojatniji uzrok nalazi se ispod" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Mrežna veza nije normalno uspostavljena" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Provjerite URL internet stranice" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Ponovno učitaj internet stranicu kasnije" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Favorit" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Naslov" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Unesite naslov" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mape" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Dopusti" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Odbaci" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Sigurnosna greÅ¡ka: Nepouzdani certifikat poslužitelja" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d odabranih stavki" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 stavka odabrana" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Dodaj u Internet zapise" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Prečac spremljen" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Odaberite riječ" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Traži na stranici" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Traži na stranici" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Popis" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Odaberi sve" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Poruka" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Prekid" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopiraj adresu" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Prikaži sliku" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Otv. u novoj str." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Početna" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Odabir teksta uključen" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Favoriti" + +msgid "IDS_BR_SK_EDIT" +msgstr "Uredi" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "ObriÅ¡i" + +msgid "IDS_BR_SK_DELETE" +msgstr "ObriÅ¡i" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Prekid" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Uredi favorita" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Poruke" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Uredi" + +msgid "IDS_BR_SK3_DELETE" +msgstr "ObriÅ¡i" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Dodaj u Favorite" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Veličina slova" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Velika" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Mala" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Brzina" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy adresa" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy ulaz" + +msgid "IDS_BR_SK_DONE" +msgstr "OK" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Verzija" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instaliraj" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Trenutna stranica" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Unesite naziv mape" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Unesite naziv favorita" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "ViÅ¡e ne pitaj" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Adresa nije pronađena" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s traži vaÅ¡u lokaciju" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Spremi postavke" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Prikaz slika" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Prikaži sigurnosna upozorenja" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Zapamti Å¡ifre" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "ObriÅ¡i Å¡ifre" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Obrisati sve spremljene Å¡ifre?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Brisanje svih kolačića. Nastaviti?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Zapamti unose obrazaca" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Vrati na zadano" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Sve postavke na zadano. Nastaviti?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Obrisati međuspremnik?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Obrisati svu povijest?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Povijest preglednika biti će obrisana" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Uvijek uključeno" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Uključi lokaciju" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "ObriÅ¡i pristup lokaciji" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Nemoguće dodati favorita. Maks. broj favorita" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Obrisati informacije o pristupu lokaciji web stranice?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Ispis" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Potražite ili unesi URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ručno" + +msgid "IDS_BR_BODY_LOW" +msgstr "Najniža" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Srednje" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Prazna stranica" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalacija neuspjeÅ¡na" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Postavke web stranice" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Visoki" + diff --git a/po/hu.po b/po/hu.po new file mode 100755 index 00000000..5c5359b4 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Értesítés..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Feldolgozás folyamatban" + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "A feldolgozás befejeződött" + +msgid "IDS_BR_SK_RETRY" +msgstr "Újra" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Letöltéskezelő" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Érvénytelen leíró" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "A fájl nem nyitható meg" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Letöltés?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Kiválasztott" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Letöltés megszakítva" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Folyt. utolsó oldallal" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Oldal" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Szótár" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "A böngésző névjegye" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Típus" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Kibocsátó" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Képek megjelenítése" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Letöltés" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Írja be az URL-t" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mappa" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Kezdőlap" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Fekvő" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Nincs könyvjelző" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nincs találat" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Opcionális" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Flash futtatása" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "JavaScript futtatása" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Köznapi név:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Szervezeti egység:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Szervezet:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "User agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Beállítások" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktiválási hiba" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Már fut" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Nincs megvalósítva" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "A hitelesítés sikertelen" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Felülírja?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Előzmények" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Letöltési lista" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Már telepítve" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Értesítés..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nem támogatott tartalom" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Hiba: a hostnév nem oldható fel" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Nem érhető el a proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Nincs SSL-tanúsítvány" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "A fájl mérete meghaladja a feltöltésre érvényes korlátot" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Írja be a nevet:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Tovább" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Új mappa" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Könyvjel. mentése" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Új ablak" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "Az URL nem érhető el" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "A(z) %s URL nem érhető el. Lehet, hogy átmenetileg nem működik, vagy teljesen megszűnt" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mappa" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Mappa neve" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "A mappanév már használatban van" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Nincs cím" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Több ablak" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Nincsenek előzmények" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Könyvjelző mentése" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Könyvjelző szerkesztése" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Mappa neve:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Összes kijelölése" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Letöltéskezelő" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "RSS-feed hozzáadása" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "RSS-feedek hozzáadása" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Beállítások" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Írja be az URL-t" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Jelszó" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Érvénytelen cím" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Már szerepel a letöltési listán" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Adja meg a mappa nevét" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Nincs oldal" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Nincs előző oldal" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Nincs következő oldal" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Nincs újratölthető oldal" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Hitelesítés szükséges" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Már van ilyen könyvjelző" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "A mappanév már létezik." + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Az objektum nem menthető. Kevés a hely a gyorsítótárban" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Jelöljön ki tételeket" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Tanúsítvány infó" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Megosztás e-mailben" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Megosztás üzenetben" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Megosztás" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Nem indítható el a Böngésző" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Nincs cím" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Ne jelenjen meg újra" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Fállnév üres" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Mappát létrehoz" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Kiválasztott" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Megosztás" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Legutóbb meglátogatott oldalak" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Kijelző" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Szélességhez" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Olvasható" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Védett adataim" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookie-k" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Összes elfogadása" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Kérdés" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookie-k" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Cookie-k elfogadása" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Cookie-k elfogadása" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Összes elfogadása" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Összes elutasítása" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Automatikus mentés azonosítója/jelszava" + +msgid "IDS_BR_BODY_ON" +msgstr "Be" + +msgid "IDS_BR_BODY_OFF" +msgstr "Ki" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Alapértelmezett tárhely" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Keresés" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Kép mentése" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Az akkumulátor lemerült. Nem futtatható a böngésző" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Szókeresés" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Kezdőképernyőhöz adás" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Kezdőképernyőhöz adás" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Leggyakrabban látogatott helyek" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Megosztás a Facebookon" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Megosztás a Twitteren" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Nézetet vált" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "URL-ek kijelölése" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "A webhely előugró ablakot próbál megnyitni" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Előugró abl. blokkolása" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Szövegolvasó" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kép másolása" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Kép mentése" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Lejátszás" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Választ" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Vissza" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Előre" + +msgid "IDS_BR_OPT_STOP" +msgstr "Leállít" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Újratöltés" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Beilleszt" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Egyebek" + +msgid "IDS_BR_POP_FAIL" +msgstr "Sikertelen" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Megny. új ablakban" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Letöltési lista megtekintése" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "URL beillesztése" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "URL másolása" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Képet megtekint" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Védett üzemmód beállításai" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Gyorsítótár ürítése" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Előzmények törlése" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Bővítmények engedélyezése" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Kereső kiválasztása" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Mentett azonosító/jelszó törlése" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Minden cookie törlése" + +msgid "IDS_BR_BODY_UP" +msgstr "Fel" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Betűméret" + +msgid "IDS_BR_POP_DELETED" +msgstr "Törölve" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Alapértelmezett nézet" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Oldaltartalom beállításai" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Nagybetűérzékeny" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Bővítmény" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Bővítmények listája" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Helyi tároló" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Böngészési adatok törlése" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Betöltés..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Betöltés..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Írja be az URL-t" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Védelem" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Feloldás" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Módosítás" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Lapozás fel" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Lapozás le" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Fejlesztői üzemmód" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Üres" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Tanúsítványok" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Könyvjelzők" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Írja be a nevet" + +msgid "IDS_BR_BODY_NAME" +msgstr "Név" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Küldés e-mailben" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Küldés üzenetben" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Beállítások" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Felhasználónév" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Már létezik" + +msgid "IDS_BR_POP_SAVED" +msgstr "Mentve" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Kevés a memória" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Hálózati hiba" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Mindig kérdezzen rá" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Memóriakártya" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Nincs fiók" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Hibaoldal" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "A weboldal átmenetileg nem elérhető" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "A weboldal nem elérhető" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Nem sikerült betölteni a kereteket" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "A következő hiba történt a(z) %s weboldal beolvasása során." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Nem lehet beolvasni a weboldalt. (Lehet, hogy a weboldal átmenetileg nem működik, vagy új URL-címre költözött)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "A legvalószínűbb ok alább látható" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Nem jött létre a normál hálózati kapcsolat" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Ellenőrizze a weboldal URL-jét" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Töltse újra az oldalt később" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Könyvjelző" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Cím" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Cím megadása" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mappák" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Engedélyezés" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Elutasít" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Biztonsági hiba: nem megbízható szervertanúsítvány" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d tétel kijelölve" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 tétel kijelölve" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Webklip hozzáadása" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Alkalmazásindító létrehozva" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Szó kiválasztása" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Keresés az oldalon" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Keresés az oldalon" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Összes kijelölése" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Üzenet" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Mégse" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "URL másolása" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Képet megtekint" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Megny. új oldalon" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Megnyitás" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Szövegkijelölés be" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Könyvjelzők" + +msgid "IDS_BR_SK_EDIT" +msgstr "Szerkeszt" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Töröl" + +msgid "IDS_BR_SK_DELETE" +msgstr "Töröl" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Mégse" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Könyvjelző szerkesztése" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Üzenetek" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Szerkeszt" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Töröl" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Könyvjelző mentése" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Betűméret" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Nagy" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Kicsi" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Sebesség" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy címe" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy port" + +msgid "IDS_BR_SK_DONE" +msgstr "Kész" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Verzió" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Telepít" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Jelenlegi oldal" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Adja meg a mappa nevét" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Adja meg a könyvjelző nevét" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Máskor ne legyen kérdés" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL nem található" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "A(z) %s az Ön helyadatait kéri" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Beállítások megjegyzése" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Képek megjelenítése" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Biztonsági figyelmeztetések" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Jelszót megjegyez" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Jelszavak törlése" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Törli az összes mentett jelszót?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Minden cookie-t törölni fog. Folytatja a műveletet?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Űrlapadatok megjegyzése" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Alapértelmezés visszaállítása" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Visszaáll az összes beállítás alapértelmezése. Folytatja a műveletet?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Kiüríti a gyorsítótárat?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Törli az összes előzményt?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Törli a böngésző előzményeit?" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Mindig bekapcsolva" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Hely engedélyezése" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Helyadatok törlése" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "A könyvjelzőt nem lehetett hozzáadni. Elérte a könyvjelzők maximális számát" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Törli a webhely helyadat-hozzáférési információit?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Nyomtatás" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Keressen vagy írjon be URL-t" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto." + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Kézi" + +msgid "IDS_BR_BODY_LOW" +msgstr "Alacsony" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Közepes" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Üres oldal" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Telepítés sikertelen" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Webhelybeállítások" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Magas" + diff --git a/po/id.po b/po/id.po new file mode 100755 index 00000000..72e39a95 --- /dev/null +++ b/po/id.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Mengingatkan..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Memproses..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Proses selesai" + +msgid "IDS_BR_SK_RETRY" +msgstr "Coba lagi" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Pengelola download" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Deskriptor tidak berlaku" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Tdk dapat utk buka file" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Unduh?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Terpilih" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Unduhan dibatalkan" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Lanjut dari halaman akhir" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Halaman" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Kamus" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Tentang browser" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Tipe" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Penerbit" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Tampilan gambar" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Unduh" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Masukkan URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Homepage" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Tampilan lanskap" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Tdk ada bookmark" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Tidak ada hasil yang ditemukan" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Opsional" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Jalankan Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Jalankan JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Nama umum:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Unit organisasi:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organisasi:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Perantara pengguna" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Preferensi" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Pengaktifan error" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Sudah berjalan..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Tdk terimpelemntasi" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Pengautentikasian gagal" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Timpa tulisan?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Histori" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Daftar unduhan" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Sudah terinstal" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Mengingatkan..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Konten tdk mendukung" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Error: tidak dpat menyelesaikan nama host" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Tidak dapat menjangkau proksi" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Tdk ada sertifikat SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Ukuran file melebihi batas upload maksimum" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Masukan nama:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Berktnya" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Folder baru" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Tmbh ke Bookmark" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Jendela baru" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL tidak tersedia" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s tidak tersedia. Mungkin sistem sedang turun atau tidak lagi digunakan" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Nama folder" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Nama Folder\ntelah digunakan" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Tdk ada judul" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Multijendela" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Tidak ada riwayat" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Tambah ke Bookmark" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Ubah bookmark" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Nama folder:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Pilih semua" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Pengelola download" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Tambahkan umpanan RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Tambahkan RSS feed" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Pengaturan" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Masukkan URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Kata sandi" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Alamat tidak berlaku" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Telah ada di Daftar Unduhan" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Masukan nama folder" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Tdk ada laman" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Tdk ada laman ke belakang" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Tdk ada laman di depan" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Tdk ada halaman untuk dimuat ulang" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Autentikasi diperlukan" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Bookmark sudah ada" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "nama folder sudah ada" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Tidak dapat menyimpan objek.Tidak cukup ruangan di cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Pilih item" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Info sertifikat" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Bagi lewat email" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Bagi lewat Pesan" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Berbagi lewat" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Tidak dapat memulai browser" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Tdk ada alamat" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Jangan pernah tampilkan lagi" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Nama file kosong" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Buat folder" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Terpilih" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Berbagi" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Halaman yang baru dikunjungi" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Tampilan" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Sesuaikan lebar" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Bisa dibaca" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Privasi" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookis" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Terima semua" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Tanyakan" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookis" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Terima cookie" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Terima cookie" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Terima semua" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Tolak semua" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Otomatis simpan ID/kata sandi" + +msgid "IDS_BR_BODY_ON" +msgstr "Aktif" + +msgid "IDS_BR_BODY_OFF" +msgstr "Tdk aktif" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Penyimpanan Default" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Cari" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Simpan gambar" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Baterai lemah. Tidak bisa menjalankan browser" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Cari kata" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Tambahkan ke Home screen" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Tambahkan ke layar depan" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Situs yang paling sering dikunjungi" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Bagikan melalui Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Bagikan melalui Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Ubah tampilan" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Pilih URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Situs ini berusaha membuka pop-up window" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokir pop-up windows" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Text reader" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Salin gambar" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Simpan gambar" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Putar" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Pilih" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Mundur" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Maju" + +msgid "IDS_BR_OPT_STOP" +msgstr "Berhenti" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Reload" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Kutip" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Lagi" + +msgid "IDS_BR_POP_FAIL" +msgstr "Gagal" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Buka di jendela baru" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Lihat daftar unduhan" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Salin URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Salin URL ke" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Tampilkan gambar" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Pengaturan privasi" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Hapus memori" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Hapus histori" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Aktifkan plugin" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Pilih mesin pencarian" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Hapus ID/sandi tersimpan" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Hapus semua data cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Naik" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Ukuran huruf" + +msgid "IDS_BR_POP_DELETED" +msgstr "Terhapus" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Tampilan default" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Pengaturan konten halaman" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Peka huruf kecil dan huruf besar" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Sambung" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Daftar plugin" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Penyimpanan lokal" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Hapus data ramban" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Meloading…" + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Meloading…" + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Masukkan URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Kunci" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Buka kunci" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Ubah" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Lmn naik" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Lmn turun" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Developer mode" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Kosong" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Sertifikat" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Bookmark" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Masukkan nama" + +msgid "IDS_BR_BODY_NAME" +msgstr "Nama" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Kirim lewat Email" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Kirim lewat pesan" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Pengaturan" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Nama pemakai" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Sudah ada" + +msgid "IDS_BR_POP_SAVED" +msgstr "Tersimpan" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Memori tdk cukup" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Jaringan error" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Selalu menanyakan" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Kartu memori" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telepon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Tidak ada akun" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Halaman gangguan" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Laman web tidak tersedia untuk sementara" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Laman web tidak tersedia" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Gagal memuat bingkai" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Saat menelusuri laman Web %s, terjadi gangguan lanjutan." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Tidak bisa menelusuri laman Web. (Laman web mungkin sedang mengalami gangguan atau telah dipindahkan ke URL baru)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Kemungkinan penyebabnya ada di bawah ini" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Koneksi jaringan tidak normal" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Periksa URL laman Web" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Muat ulang laman Web nanti" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Bookmark" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Judul" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Masukan judul" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Folder" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Bolehkan" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Menolak" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Gangguan Keamanan: Sertifikat server tak terpercaya" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d item dipilih" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 item dipilih" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Tambahkan ke klip web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Pemintas dibuat" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Pilih kata" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Cari di halaman" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Cari di halaman" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Daftar" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Pilih semua" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Pesan" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Batal" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Salin URL link" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Tampilkan gambar" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Buka di laman baru" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Buka file" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Seleksi teks aktif" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bookmark" + +msgid "IDS_BR_SK_EDIT" +msgstr "Ubah" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Hapus" + +msgid "IDS_BR_SK_DELETE" +msgstr "Hapus" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Batal" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Ubah bookmark" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Pesan" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Ubah" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Hapus" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Tambah ke Bookmark" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Ukuran huruf" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Besar" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Kecil" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Kecepatan" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Alamat proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port proksi" + +msgid "IDS_BR_SK_DONE" +msgstr "Selesai" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versi" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instal" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Halaman aktif" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Masukan nama folder" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Masukkan nama bookmark" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Jangan tanya lagi" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL tidak ditemukan" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s meminta lokasi Anda" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Ingat preferensi" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Tampilkan gambar" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Tunjukkan peringatan keamanan" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Ingat kata sandi" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Hapus kata sandi" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Hapus semua kata sandi yang tersimpan?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Hapus semua cookies. Lanjutkan?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Ingat dari data" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Reset ke default" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Semua pengaturan ke default. Lanjutkan?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Hapus memori?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Hapus semua histori?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Histori navigasi browser akan dihapus" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Selalu aktif" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Aktifkan lokasi" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Hapus akses lokasi" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Tidak bisa menambah bookmark.. Jumlah maksimum bookmark terjangkau" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Hapus informasi akses lokasi situs web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Cetak" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Cari atau masukkan URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Otomatis" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Rendah" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Sedang" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Halaman kosong" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalasi gagal" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Pengaturan situs web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Tinggi" + diff --git a/po/it.po b/po/it.po new file mode 100755 index 00000000..f760ffc2 --- /dev/null +++ b/po/it.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Preferiti" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Download" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Aggiungi a Preferiti" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Annulla" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Geçmiş" + diff --git a/po/it_IT.po b/po/it_IT.po index c859d15a..d766a028 100755 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Installazione fallita" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Notifica in corso..." @@ -619,3 +616,216 @@ msgstr "%d elementi selezionati" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 elemento selezionato" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Aggiungi a clip Web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "È stato creato un collegamento" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Parola" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Trova nella pagina" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Trova nella pagina" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Elenco" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Seleziona tutto" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Messaggio" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Annulla" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copia URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Vedi immagine" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Apri in nuova pagina" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Apri" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Attiva selezione testo" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Preferiti" + +msgid "IDS_BR_SK_EDIT" +msgstr "Modifica" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Elimina" + +msgid "IDS_BR_SK_DELETE" +msgstr "Elimina" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Annulla" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Modifica preferito" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Messaggi" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Modifica" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Elimina" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Aggiungi a Preferiti" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Dimensioni carattere" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Grande" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Piccolo" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Velocità" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Indirizzo proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Porta" + +msgid "IDS_BR_SK_DONE" +msgstr "Fatto" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versione" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Installa" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Pagina corrente" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Specifica nome cartella" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Inserisci nome preferito" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Non chiedere di nuovo" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL non trovato" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s richiede la vostra posizione" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Ricorda preferenza" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Mostra immagini" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Mostra avvisi di sicurezza" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Ricorda password" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Cancella password" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Eliminare tutte le password salvate?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Eliminazione di tutti i cookie. Continuare?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Ricorda dati modulo" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Ripristina impostazioni predefinite" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Tutti i valori corrispondono alle impostazioni predefinite. Continuare?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Svuotare cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Cancellare tutta la cronologia?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "La cronologia di navigazione browser sarà cancellata" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Sempre attivo" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Attiva localizzazione" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Cancella accesso posizione" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Impossibile aggiungere preferito. Raggiunto numero massimo di preferiti" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Eliminare le informazioni di accesso alla posizione del sito Web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Stampa" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Cerca o immetti URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automatica" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuale" + +msgid "IDS_BR_BODY_LOW" +msgstr "Basso" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Medio" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Pagina vuota" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installazione fallita" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Impostazioni sito web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Alta" + diff --git a/po/ja.po b/po/ja.po new file mode 100755 index 00000000..1ec92302 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "ブックマーク" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "ダウンロード" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "ブックマーク​に​追加" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "キャンセル" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historial" + diff --git a/po/ja_JP.po b/po/ja_JP.po index faf420d2..12a3b794 100755 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "インストールが失敗しました。" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "通知中..." @@ -20,7 +17,7 @@ msgid "IDS_BR_POP_INVALIDDESCRIPTOR" msgstr "識別子​が​無効​です。" msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" -msgstr "ファイル​を​開く​こと​が​できません" +msgstr "ファイル​を​開く​こと​が​でき​ません。" msgid "IDS_BR_POP_DOWNLOAD_Q" msgstr "ダウンロードしますか?" @@ -44,7 +41,7 @@ msgid "IDS_BR_BODY_ABOUT_BROWSER" msgstr "ブラウザ​について" msgid "IDS_BR_BODY_BROWSER_TYPE" -msgstr "ファイルタイプ" +msgstr "ファイル​タイプ" msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" msgstr "発行者" @@ -71,7 +68,7 @@ msgid "IDS_BR_BODY_NO_BOOKMARKS" msgstr "ブックマーク​が​ありません。" msgid "IDS_BR_BODY_NO_RESULTS_FOUND" -msgstr "検索結果がありません。" +msgstr "検索​結果​が​ありません。" msgid "IDS_BR_BODY_OPTIONAL" msgstr "オプション" @@ -179,7 +176,7 @@ msgid "IDS_BR_HEADER_FOLDER" msgstr "フォルダ" msgid "IDS_BR_BODY_FOLDER_NAME" -msgstr "フォルダ名" +msgstr "フォルダ​名" msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" msgstr "フォルダ名は既に使用されています。" @@ -203,7 +200,7 @@ msgid "IDS_BR_BODY_FOLDER_NAME_C" msgstr "フォルダ名:" msgid "IDS_BR_OPT_SELECT_ALL" -msgstr "全て選択" +msgstr "全て​選択" msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" msgstr "ダウンロードマネージャー" @@ -308,7 +305,7 @@ msgid "IDS_BR_BODY_PRIVACY" msgstr "プライバシー" msgid "IDS_BR_BODY_COOKIES" -msgstr "Cookie設定" +msgstr "Cookie" msgid "IDS_BR_BODY_COOKIESACCEPTALL" msgstr "全て​応答" @@ -317,7 +314,7 @@ msgid "IDS_BR_BODY_COOKIESPROMPT" msgstr "プロンプト" msgid "IDS_BR_HEADER_COOKIES" -msgstr "Cookie設定" +msgstr "Cookie" msgid "IDS_BR_BODY_ACCEPT_COOKIES" msgstr "Cookieを許可" @@ -413,10 +410,10 @@ msgid "IDS_BR_OPT_PASTE" msgstr "貼り付け" msgid "IDS_BR_BUTTON_MORE" -msgstr "もっと見る" +msgstr "もっと​見る" msgid "IDS_BR_POP_FAIL" -msgstr "失敗しました。" +msgstr "失敗​しました。" msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" msgstr "新規​ウィンドウで​開く" @@ -443,7 +440,7 @@ msgid "IDS_BR_BODY_CLEAR_HISTORY" msgstr "履歴を消去" msgid "IDS_BR_BODY_ENABLE_PLUG_INS" -msgstr "プラグインを​有効にする" +msgstr "プラグ​イン​を​有効化" msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" msgstr "検索​エンジンを選択" @@ -461,7 +458,7 @@ msgid "IDS_BR_BODY_FONT_SIZE" msgstr "文字サイズ" msgid "IDS_BR_POP_DELETED" -msgstr "削除しました。" +msgstr "削除​しました。" msgid "IDS_BR_BODY_DEFAULT_VIEW" msgstr "基本​表示​モード" @@ -485,10 +482,10 @@ msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" msgstr "参照​データ​を​削除​" msgid "IDS_BR_BODY_LOADING_ING" -msgstr "読み込み中..." +msgstr "読み込み​中..." msgid "IDS_BR_HEADER_LOADING_ING" -msgstr "読み込み中..." +msgstr "読み込み​中..." msgid "IDS_BR_HEADER_ENTERURL" msgstr "URL入力" @@ -518,10 +515,10 @@ msgid "IDS_BR_BODY_CERTIFICATES" msgstr "証明書" msgid "IDS_BR_BODY_BOOKMARKS" -msgstr "ブックマーク" +msgstr "ブック​マーク" msgid "IDS_BR_BODY_ENTER_NAME" -msgstr "名前を入力してください。" +msgstr "名前​を​入力​して​ください。" msgid "IDS_BR_BODY_NAME" msgstr "名前" @@ -539,22 +536,22 @@ msgid "IDS_BR_BODY_AUTHUSERNAME" msgstr "ユーザー名" msgid "IDS_BR_POP_ALREADY_EXISTS" -msgstr "既に登録されています。" +msgstr "既に​登録​されて​います。" msgid "IDS_BR_POP_SAVED" -msgstr "保存しました。" +msgstr "保存​しま​した。" msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" -msgstr "メモリが不足しています。" +msgstr "メモリ​が​不足​して​います。" msgid "IDS_BR_POP_NETWORK_ERROR" msgstr "ネットワークエラーが発生しました。" msgid "IDS_BR_BODY_ALWAYS_ASK" -msgstr "毎回確認" +msgstr "毎回​確認" msgid "IDS_BR_BODY_MEMORY_CARD" -msgstr "外部SDカード" +msgstr "外部​SDカード" msgid "IDS_BR_BODY_PHONE" msgstr "本体" @@ -590,10 +587,10 @@ msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" msgstr "WebページのURLを確認してください。" msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" -msgstr "Webページを後で再読み込みしてください。" +msgstr "しばらく​して​から​Web​ページ​を​再​読み込み​して​ください。" msgid "IDS_BR_OPT_BOOKMARK" -msgstr "ブックマーク" +msgstr "ブック​マーク" msgid "IDS_BR_BODY_TITLE" msgstr "タイトル" @@ -614,8 +611,221 @@ msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" msgstr "セキュリティエラー:信頼できないサーバー証明です。" msgid "IDS_BR_POP_PD_ITEMS_SELECTED" -msgstr "%d個のアイテムを選択" +msgstr "%d個選択" msgid "IDS_BR_POP_1_ITEM_SELECTED" -msgstr "1件のアイテムを選択" +msgstr "1個選択" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Webクリップに​追加​" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "作成した​ショートカット" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "テキスト選択" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "ページ内検索" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "ページ内を検索" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "インターネット" + +msgid "IDS_BR_OPT_LIST" +msgstr "リスト​表示" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "全て​選択" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "メッセージ" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Eメール" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "キャンセル" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "URLをコピー" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "画像を表示" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "新しい​ページ​で​開く" + +msgid "IDS_BR_OPT_OPEN" +msgstr "開く" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "テキスト選択ON" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "ブックマーク" + +msgid "IDS_BR_SK_EDIT" +msgstr "編集" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "削除" + +msgid "IDS_BR_SK_DELETE" +msgstr "削除" + +msgid "IDS_BR_SK_CANCEL" +msgstr "キャンセル" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "ブックマーク​を編集" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "メッセージ" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Eメール" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "編集" + +msgid "IDS_BR_SK3_DELETE" +msgstr "削除" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "ブックマークに追加" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "文字サイズ" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "大" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "小" + +msgid "IDS_BR_BODY_SPEED" +msgstr "スピード" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "プロキシ​アドレス" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "プロキシ​ポート" + +msgid "IDS_BR_SK_DONE" +msgstr "完了" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "バージョン" + +msgid "IDS_BR_SK_INSTALL" +msgstr "インストール" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "現在のページ" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "フォルダ名を入力してください。" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "ブックマーク名​を​入力してください。" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "今後​​表示​​しない" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL​が​見つかり​ません" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s​は​あなた​の​位置​を​リクエスト​しました" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "設定を保存" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "画像を表示" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "セキュリティ警告を表示" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "パスワード​を保存" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "パスワード​を​消去​" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "保存​された​全て​の​パスワード​を​消去​しますか?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "全て​の​Cookies​を​削除​します。​続行​しますか?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "文字入力履歴を保存" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "初期値にリセット" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "全て​の​設定​は​標準​に​戻り​ました。​続行​しますか?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "キャッシュ​を​消去​しますか?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "全ての​履歴​を​消去​しますか?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "全ての閲覧履歴を消去します。" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "常にON" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "位置情報を有効" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "位置情報を消去" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "ブックマーク​を​追加​できません。​ブックマーク​が​最大件数​に​達しました" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "保存​された​位置​情報​を​消去​しますか?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "印刷" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "検索、またはURLを入力" + +msgid "IDS_BR_BODY_AUTO" +msgstr "自動" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "手動で選択" + +msgid "IDS_BR_BODY_LOW" +msgstr "低" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "標準" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "空白​の​ページ" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "インストールが失敗しました。" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "サイト​設定" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "高" diff --git a/po/ko.po b/po/ko.po new file mode 100755 index 00000000..5521ac14 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "북마크" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "다운로드" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "북마크에 추가" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "취소" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "기록" + diff --git a/po/ko_KR.po b/po/ko_KR.po index 8fc62608..6b2bb89f 100755 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "설치하지 못하였습니다" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "알림 준비 중..." @@ -619,3 +616,216 @@ msgstr "%d개의 항목이 선택되었습니다" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1개의 항목이 선택되었습니다" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Web clip에 추가" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "단축메뉴가 추가되었습니다" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "단어 선택" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "페이지 내에서 검색" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "페이지 내에서 검색" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "인터넷" + +msgid "IDS_BR_OPT_LIST" +msgstr "목록" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "모두 선택" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "메시지" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "이메일" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "취소" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "URL 복사" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "이미지 보기" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "새 창에서 열기" + +msgid "IDS_BR_OPT_OPEN" +msgstr "열기" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "문자 선택 켜기" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "북마크" + +msgid "IDS_BR_SK_EDIT" +msgstr "편집" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "삭제" + +msgid "IDS_BR_SK_DELETE" +msgstr "삭제" + +msgid "IDS_BR_SK_CANCEL" +msgstr "취소" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "북마크 편집" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "메시지" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "이메일" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "편집" + +msgid "IDS_BR_SK3_DELETE" +msgstr "삭제" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "북마크에 추가" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "글자 크기" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "크게" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "작게" + +msgid "IDS_BR_BODY_SPEED" +msgstr "속도" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "프록시 주소" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "프록시 포트" + +msgid "IDS_BR_SK_DONE" +msgstr "완료" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "버전" + +msgid "IDS_BR_SK_INSTALL" +msgstr "설치" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "현재 페이지" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "폴더 이름을 입력하세요" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "북마크 이름을 입력하세요" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "다시 묻지 않기" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL을 찾을 수 없습니다" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s이(가) 현재 위치 정보를 요청합니다" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "설정을 기억합니다" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "이미지 표시" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "보안 경고 보기" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "비밀번호 저장" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "비밀번호 삭제" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "저장된 모든 비밀번호를 삭제할까요?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "쿠키를 모두 삭제합니다. 계속할까요?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "양식 데이터 저장" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "기본값으로 초기화" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "모든 설정이 기본값으로 되돌아갑니다. 계속할까요?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "캐시를 삭제할까요?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "모든 기록을 삭제할까요?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "웹사이트 방문 기록이 삭제됩니다" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "항상 켜기" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "위치 정보 사용" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "위치 정보 삭제" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "북마크를 추가할 수 없습니다. 최대 북마크 수를 초과하였습니다" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "웹사이트 위치 연결 정보를 삭제할까요?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "인쇄" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "URL을 검색하거나 입력하세요" + +msgid "IDS_BR_BODY_AUTO" +msgstr "자동" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "수동" + +msgid "IDS_BR_BODY_LOW" +msgstr "낮음" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "보통" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "빈 페이지" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "설치하지 못하였습니다" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "웹사이트 설정" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "높음" + diff --git a/po/lt.po b/po/lt.po new file mode 100755 index 00000000..80aafa40 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Informuojama..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Apdorojama..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Apdorojimas baigtas" + +msgid "IDS_BR_SK_RETRY" +msgstr "Bandyti dar kartą" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Atsisiuntimų tvarkytuvė" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Netinkamas apraÅ¡ymas" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Negalima atidaryti failo" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Ar atsisiųsti?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Pasirinkta" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Atsisiuntimas atÅ¡auktas" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Tęsti nuo pask. puslapio" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Puslapis" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Žodynas" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Apie narÅ¡yklę" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Tipas" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Leidėjas" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Rodyti vaizdus" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Atsisiųsti" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Ä®vesti URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Aplankas" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Pradinis puslapis" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Gulsčias" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Žymeklių nėra" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Rezultatų nerasta" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Pasirinkt." + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Paleisti „Flash“" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Vykdyti „JavaScript“" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Bendrasis pavadinimas:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizacijos skyrius:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizacija:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Vartotojo agentas" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Pirmenybės" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktyvinimo klaida" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Jau įjungta" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Neįdiegta" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Autentifikavimas nepavyko" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Ar perraÅ¡yti?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Istorija" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Ä®keltų siuntų sąraÅ¡as" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Jau įdiegta" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "PraneÅ¡ama..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nepalaikomas turinys" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Klaida: neįmanoma nustatyti pagrindinio kompiuterio vardo" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Neįmanoma pasiekti tarpinio serverio" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Nėra SSL sertifikatų" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Failo dydis virÅ¡ija didžiausią leistiną ribą" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Ä®veskite pavadinimą:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Kitas" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Naujas aplankas" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Pridėti į žymeklius" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Naujas langas" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL nepasiekiamas" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s nepasiekiamas. Gali laikinai neveikti arba bÅ«ti nebenaudojamas" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Aplankas" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Aplanko pavadinimas" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Toks aplanko pavadinimas jau naudojamas" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Nėra pavadinimo" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Keli langai" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Istorijos nėra" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Pridėti prie adresyno įrašų" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Redaguoti žymelę" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Aplanko pavadinimas:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Pasirinkti viską" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Atsisiuntimų tvarkytuvė" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Pridėti RSS naujienų kanalą" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Prid. RSS naujienų kanalą" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Nustat." + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Ä®vesti URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Slaptažodis" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Neteisingas adresas" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Jau yra atsisiuntimo sąraÅ¡e" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Ä®raÅ¡yti aplanko pavadinimą" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Nėra psl." + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Nėra atgalinių puslapių" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Nėra priekinių puslapių" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Puslapio iÅ¡ naujo įkelti nepavyko" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Reikalinga patvirtinti autentiÅ¡kumą" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Adresyno įraÅ¡as jau yra" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Toks aplanko pavadinimas jau yra" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Neįmanoma iÅ¡saugoti objekto. Nepakanka vietos talpykloje" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Pasirinkti elementų" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Sertifikato inf." + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Bendrinti per el. paÅ¡tą" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Bendrinti per žinutes" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Bendrinti per" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Neįmanoma paleisti narÅ¡yklės" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Nėra adreso" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Daugiau neberodyti" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Failo pavadinimo nėra" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Kurti aplanką" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Pasirinkta" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Dalytis" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Vėliausiai aplankyti puslapiai" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Ekranas" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Pritaikyti pagal plotį" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Nuskaitoma" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Privatumas" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Slapukai" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Priimti viską" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Raginimas" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Slapukai" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Priimti slapukus" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Priimti slapukus" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Priimti viską" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Atmesti viską" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "AutomatiÅ¡kai iÅ¡saugoti ID / slaptažodį" + +msgid "IDS_BR_BODY_ON" +msgstr "Ä®jungta" + +msgid "IDS_BR_BODY_OFF" +msgstr "IÅ¡jungta" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Numatytoji saugykla" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "IeÅ¡koti" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "IÅ¡saugoti vaizdą" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Silpnas akumuliatorius. Nepavyksta paleisti narÅ¡yklės" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Rasti žodį" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Pridėti pradžios ekrane" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Pridėt prie pradžios ekrano" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Dažniausiai lankomos svetainės" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Bendrinti per „Facebook“" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Bendrinti per „Twitter“" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Keisti rodinį" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Pasirinkite URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Å i svetainė bando atidaryti iÅ¡kylantįjį langą" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokuoti iÅ¡kylanč. langus" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Teksto skaitytuvas" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopijuoti vaizdą" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "IÅ¡saugoti vaizdą" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Paleisti" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Rinktis" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Eiti atgal" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Eiti pirmyn" + +msgid "IDS_BR_OPT_STOP" +msgstr "Stabdyti" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Ä®kelti iÅ¡ naujo" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Ä®klijuoti" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Daug." + +msgid "IDS_BR_POP_FAIL" +msgstr "Nepavyko" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Atid. naujame lange" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "PeržiÅ«rėti atsisiuntimo sąrašą" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopijuoti URL adresą" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopijuoti URL į" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "ŽiÅ«rėti pav." + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Privatumo nustatymai" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Valyti talpyklą" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "IÅ¡valyti istoriją" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Ä®jungti papildinius" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Pasirinkite paieÅ¡kos sistemą" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "IÅ¡trinti iÅ¡saugotą ID/slaptažodį" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "PaÅ¡alinti visus slapukų duomenis" + +msgid "IDS_BR_BODY_UP" +msgstr "AukÅ¡tyn" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Å rifto dydis" + +msgid "IDS_BR_POP_DELETED" +msgstr "IÅ¡trinta" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Numatytasis vaizdas" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Puslapio turinio nustat." + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Skirti didžiąsias ir mažąsias raides" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Prijungimas" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Papildinių sąraÅ¡as" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Vietinė talpykla" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Trinti narÅ¡ymo duomenis" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Ä®keliama..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Ä®keliama..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Ä®vesti URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Užrakinti" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Atrakinti" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Keisti" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Psl. aukÅ¡tyn" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Psl. žemyn" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "KÅ«rėjo režimas" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Tuščia" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Sertifikatai" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Adresyno įraÅ¡ai" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Ä®vesti vardą" + +msgid "IDS_BR_BODY_NAME" +msgstr "Pavadinimas" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Siųsti el. paÅ¡tu" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Siųsti kaip žinutę" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Nustat." + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Naudotojo vardas" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Jau yra" + +msgid "IDS_BR_POP_SAVED" +msgstr "IÅ¡saugota" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Nepakanka atminties" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Tinklo klaida" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Visada klausti" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Atminties kortelė" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefonas" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Nėra paskyrų" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Klaidos puslapis" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Tinklalapis laikinai nepasiekiamas" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Tinklalapis nepasiekiamas" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Nepavyko įkelti rėmelių" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Priimant tinklalapį %s, įvyko Å¡i klaida." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Neįmanoma gauti tinklalapio. (Tinklalapis gali laikinai neveikti arba bÅ«ti perkeltas į naują URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Labiausiai tikėtina priežastis nurodyta toliau" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Tinklo ryÅ¡ys neužmegztas kaip įprastai" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Tikrinti tinklalapio URL" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Dar kartą įkelti tinklalapį vėliau" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Adresyno įraÅ¡as" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Pavadinimas" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Ä®veskite pavadinimą" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Aplankai" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Leisti" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Atsisakyti" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Apsaugos klaida: nepatikimas serverio sertifikatas" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Pasirinkta elementų: %d" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "Pasirinktas 1 elementas" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Pridėti prie vaizdinės žiniatinklio nuorodos" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Sukurtas Å¡aukinys" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Pasirinkite žodį" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "IeÅ¡k. puslapyje" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "IeÅ¡k. puslapyje" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "„Picasa“" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internetas" + +msgid "IDS_BR_OPT_LIST" +msgstr "SąraÅ¡as" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Pasirinkti viską" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Žinutė" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "El. paÅ¡tas" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "AtÅ¡aukti" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kop. nuor. URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "ŽiÅ«rėti pav." + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Atid. nauj. lange" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Atidaryti" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Teksto atranka įjungta" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Žymelės" + +msgid "IDS_BR_SK_EDIT" +msgstr "Redaguoti" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Trinti" + +msgid "IDS_BR_SK_DELETE" +msgstr "Trinti" + +msgid "IDS_BR_SK_CANCEL" +msgstr "AtÅ¡aukti" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Redaguoti žymelę" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Žinutės" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "El. paÅ¡tas" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Redaguoti" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Trinti" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Pridėti prie adresyno įrašų" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Å rifto dydis" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Didelis" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Mažas" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Greitis" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy serverio adresas" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy prievadas" + +msgid "IDS_BR_SK_DONE" +msgstr "Atlikta" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versija" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Ä®diegti" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Dabartinis puslpais" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Ä®raÅ¡yti aplanko pavadinimą" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Čia įveskite žymeklio pavadinimą" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Neklauskite dar kartą" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL nerastas" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s užklausų jÅ«sų vietai" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Ä®siminti nuostatą" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Rodyti vaizdus" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Rodyti apsaugos įspėjimus" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Prisiminti slaptažodžius" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "IÅ¡valyti slaptažodžius" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Trinti visus iÅ¡saugotus slaptažodžius?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "IÅ¡trinti visus slapukus. Tęsti?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Prisiminti formos duomenis" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Nustatyti į numatytąjį" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Visi nustatymai numatytieji. Tęsti?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Ar valyti talpyklą?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Valyti visą istoriją?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "NarÅ¡yklės narÅ¡ymo istorija bus iÅ¡valyta" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Visada įjungta" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Ä®jungti vietą" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "IÅ¡trinti vietos prieigą" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Neįmanoma įtraukti žymelės. Pasiektas maksimalus žymelių skaičius" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Trinti informaciją apie prieigą prie svetainės vietos?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Spausdinti" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "IeÅ¡koti arba įvesti URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automatinis" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Rankinis" + +msgid "IDS_BR_BODY_LOW" +msgstr "Mažas" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Vidutinis" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Tuščias puslapis" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Nepavyko įdiegti" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Svetainės nustatymai" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Didelė" + diff --git a/po/lv.po b/po/lv.po new file mode 100755 index 00000000..7315283e --- /dev/null +++ b/po/lv.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Paziņo..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Notiek apstrāde..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Apstrāde pabeigta" + +msgid "IDS_BR_SK_RETRY" +msgstr "Atkārtot" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Lejupielāžu pārvaldnieks" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "NederÄ«gs deskriptors" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Nevar atvērt failu" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Vai lejupielādēt?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Izvēlēts" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Lejupielāde atcelta" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Turpināt no pēd. lapas" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Lapa" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "VārdnÄ«ca" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Par pārlÅ«ku" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Veids" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Izdevējs" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "RādÄ«t attēlus" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Lejupielādēt" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Ievadiet URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mape" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Mājas lapa" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Ainavas skats" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Nav grāmatzÄ«mes" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nav atrasts neviens rezultāts" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Izvēles" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Palaist Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Palaist JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Vispārējais nosaukums:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizācijas vienÄ«ba:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizācija:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Lietotāja aÄ£ents" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Preferences" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktivizācijas kļūda" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Jau darbojas" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Nav ieviests" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Autentifikācija neizdevās" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Vai pārrakstÄ«t?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Vēsture" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Lejupielāžu saraksts" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Jau instalēts" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Paziņo..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "NeatbalstÄ«ts saturs" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Kļūda: nevar noteikt resursservera nosaukumu" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Nevar sasniegt starpniekserveri" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Nav SSL sertifikātu" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Faila lielums pārsniedz maksimālo augÅ¡upielādes ierobežojumu" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Ievadiet nosaukumu:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Nāk." + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Jauna mape" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Pievien. grāmatzÄ«mēm" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Jauns logs" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL nav pieejams" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s nav pieejams. Iespējams, tas pagaidām nedarbojas vai netiek vairs lietots" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mape" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Mapes nosaukums" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Mapes nosaukumu jau lieto." + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Nav nosaukuma" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Vairāklogu" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Nav vēstures" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Pievienot grāmatzÄ«mēm" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Rediģēt grāmatzÄ«mi" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Mapes nosaukums:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Izv. visu" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Lejupielāžu pārvaldnieks" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Pievienot RSS plÅ«smu" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Pievienot RSS plÅ«smas" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "IestatÄ«jumi" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Ievadiet URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Parole" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "NederÄ«ga adrese" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Jau iekļauts lejupielāžu sarakstā" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Ievadiet mapes nosaukumu" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Nav lapas" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Atpakaļ nav lapu" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Uz priekÅ¡u nav lapu" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Nav lapu, ko vēlreiz ielādēt" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "NepiecieÅ¡ama autentifikācija" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "GrāmatzÄ«me jau pastāv" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Mapes nosaukums jau pastāv" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Nevar saglabāt objektu. KeÅ¡atmiņā nepietiek vietas" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Izvēlēties objektus" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Sertifikāta informācija" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Koplietot, izmantojot e-pastu" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "KoplietoÅ¡ana, izmantojot Ziņas" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Koplietot, izmantojot" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Nevar palaist pārlÅ«kprogrammu" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Nav adreses" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Nekad vairs nerādÄ«t" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Faila nosaukuma nav" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Izveidot mapi" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Izvēlēts" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Koplietot" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Nesen apmeklētās lapas" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Displejs" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Pielāgot platumam" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Lasāma" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Konfidencialitāte" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "SÄ«kfaili" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Pieņemt visus" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Jautāt" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "SÄ«kfaili" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Pieņemt sÄ«kfailus" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Pieņemt sÄ«kfailus" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Pieņemt visus" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "NoraidÄ«t visus" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Automātiskās saglabāšanas ID/parole" + +msgid "IDS_BR_BODY_ON" +msgstr "Ieslēgt" + +msgid "IDS_BR_BODY_OFF" +msgstr "Izslēgt" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Noklusējuma krātuve" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Meklēt" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Saglabāt attēlu" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "TukÅ¡s akumulators. PārlÅ«ku nevar palaist" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Atrast vārdu" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "PievienoÅ¡ana sākuma ekrānam" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Pievienot sākuma ekrānam" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Biežāk apmeklētās vietnes" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Koplietot, izmantojot Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Koplietot, izmantojot Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "MainÄ«t skatu" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Izvēlieties URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Å Ä« vietne mēģina atvērt uznirstoÅ¡o logu" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Bloķēt uznirstoÅ¡os logus" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Teksta lasÄ«tājs" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopēt attēlu" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Saglabāt attēlu" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Atskaņot" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Izvēlēties" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Doties atpakaļ" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Doties uz priekÅ¡u" + +msgid "IDS_BR_OPT_STOP" +msgstr "Apturēt" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Ielādēt vēlreiz" + +msgid "IDS_BR_OPT_PASTE" +msgstr "IelÄ«mēt" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Citi" + +msgid "IDS_BR_POP_FAIL" +msgstr "Neizdevās" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Atvērt jaunā logā" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "SkatÄ«t lejupielādes sarakstu" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopēt URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopēt URL" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "SkatÄ«t attēlu" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Konfidencialitātes iestatÄ«jumi" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "IztÄ«rÄ«t keÅ¡atmiņu" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Nodzēst vēsturi" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Aktivizēt spraudņus" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Izvēlieties meklēšanas programmu" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Dzēst saglabāto ID/paroli" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "NotÄ«rÄ«t visus sÄ«kfailu datus" + +msgid "IDS_BR_BODY_UP" +msgstr "Uz augÅ¡u" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Fonta lielums" + +msgid "IDS_BR_POP_DELETED" +msgstr "Izdzēsts" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Noklusējuma skats" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Lapas satura iestatÄ«jumi" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "ReÄ£istrjutÄ«gs" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Spraudnis" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Spraudņu saraksts" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Vietējā krātuve" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Dzēst pārlÅ«koÅ¡anas datus" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Ielādē..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Ielādē..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Ievadiet URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Bloķēt" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Atbloķēt" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Pārveidot" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Lapā uz aug." + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Lapā uz leju" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Izstrādātāju režīms" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "TukÅ¡s" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Sertifikāti" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "GrāmatzÄ«mes" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Ievadiet vārdu" + +msgid "IDS_BR_BODY_NAME" +msgstr "Vārds" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "SÅ«tÄ«t, izmantojot e-pastu" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "SÅ«tÄ«t, izmantojot ziņu" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "IestatÄ«jumi" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Lietotājvārds" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Jau pastāv" + +msgid "IDS_BR_POP_SAVED" +msgstr "Saglabāts" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Atmiņa pilna" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "TÄ«kla kļūda" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Jautāt vienmēr" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Atmiņas karte" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Tālrunis" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Nav kontu" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Lapas kļūda" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "TÄ«mekļa lapa Ä«slaicÄ«gi nav pieejama" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "TÄ«mekļa lapa nav pieejama" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Neizdevās ielādēt rāmjus" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "TÄ«mekļa lapas %s izguves laikā rādās šāda kļūda." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Nevar izgÅ«t tÄ«mekļa lapu (tÄ«mekļa lapa, iespējams, Ä«slaicÄ«gi nedarbojas vai ir pārvietota uz citu vietrādi URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Visticamākais iemesls ir norādÄ«ts tālāk" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Nepareizi izveidots tÄ«kla savienojums" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Pārbaudiet tÄ«mekļa lapas vietrādi URL" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Ielādējiet tÄ«mekļa lapu vēlāk no jauna" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "GrāmatzÄ«me" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Nosaukums" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Ievadiet nosaukumu" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mapes" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Atļaut" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Atteikt" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Drošības kļūda: neuzticams servera sertifikāts" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Ir izvēlēti %d objekti" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "Ir izvēlēts 1 objekts" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Pievienot tÄ«mekļa klipam" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Izveidots Ä«sceļš" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Izv. vārdu" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Meklēt lapā" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Meklēt lapā" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internets" + +msgid "IDS_BR_OPT_LIST" +msgstr "Saraksts" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Izv. visu" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Ziņa" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-pasts" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Atcelt" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kop. saites URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "SkatÄ«t attēlu" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Atvērt jaunā lapā" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Atvērt" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Teksta izvēle ieslēgta" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "GrāmatzÄ«mes" + +msgid "IDS_BR_SK_EDIT" +msgstr "Rediģēt" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Dzēst" + +msgid "IDS_BR_SK_DELETE" +msgstr "Dzēst" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Atcelt" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Rediģēt grāmatzÄ«mi" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Ziņas" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-pasts" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Rediģēt" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Dzēst" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Pievienot grāmatzÄ«mēm" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Fonta lielums" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Liels" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Mazs" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Ātrums" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Starpniekservera adrese" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Starpniekservera ports" + +msgid "IDS_BR_SK_DONE" +msgstr "Gatavs" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versija" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instalēt" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "PaÅ¡reizējā lapa" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Ievadiet mapes nosaukumu" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Ievadiet grāmatzÄ«mes nosaukumu" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Vairs nevaicāt" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL nav atrasts" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s pieprasa jÅ«su atraÅ¡anās vietu" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Atcerēties preferenci" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "RādÄ«t attēlus" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "RādÄ«t drošības brÄ«dinājumus" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Atcerēties paroles" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "NotÄ«rÄ«t paroles" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Vai dzēst visas saglabātās paroles?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Dzēst visus sÄ«kfailus. Vai turpināt?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Iegaumēt veidlapas datus" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Atjaunot noklusējumu" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Visi iestatÄ«jumi ir noklusētie. Vai turpināt?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Vai iztÄ«rÄ«t keÅ¡atmiņu?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Vai izdzēst visu vēsturi?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "PārlÅ«ka navigācijas vēsture tiks notÄ«rÄ«ta" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Vienmēr ieslēgts" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Aktivizēt atraÅ¡anās vietu" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "NotÄ«rÄ«t atraÅ¡anās vietas piekļuvi" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Nevar pievienot grāmatzÄ«mi. Sasniegts maksimālais grāmatzÄ«mju skaits" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Vai dzēst tÄ«mekļa vietnes atraÅ¡anās vietas piekļuves datus?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Drukāt" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Meklējiet vai ievadiet vietrādi URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automātiski" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuāli" + +msgid "IDS_BR_BODY_LOW" +msgstr "Zema" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Vidējs" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "TukÅ¡a lapa" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalēšana neizdevās" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "TÄ«mekļa vietnes iestatÄ«jumi" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Augsta" + diff --git a/po/ms.po b/po/ms.po new file mode 100755 index 00000000..ee038fae --- /dev/null +++ b/po/ms.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Memberitahu..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Memproses…" + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Pemprosesan selesai" + +msgid "IDS_BR_SK_RETRY" +msgstr "Cuba lg" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Pengurus muat turun" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Pemerihal tidak sah" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Tdk dpt buka fail" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Muat turun?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Dipilih" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Muat turun dibatalkan" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Teruskn dr lmn trakhir" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Halaman" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Kamus" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Mengenai pelayar" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Jenis" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Pengeluar" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Paparkan imej" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Muat turun" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Masukkan URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Pelipat" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Halaman utama" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Pandangan landskap" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Tiada penanda buku" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Tiada hasil ditemui" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Pilihan" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Jalankan Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Jalankan JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Nama biasa:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Unit organisasi:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organisasi:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Ejen pengguna" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Keutamaan" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Kesilapan pengaktifan" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Telah dijalankan..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Tidak dilaksanakan" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Pengesahan gagal" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Tulis ganti?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Sejarah" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Muat turun senarai" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Telah dipasang" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Memberitahu..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Kandungan tidak disokong" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Ralat: tidak boleh menyelesaikan nama hos" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Tidak dapat mencapai proksi" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Tiada sijil SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Saiz fail melebihi had muatan maksimum" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Masukkan nama:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Selepas" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Pelipat baru" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Tmbh ke Pen.Buku" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Tetingkap baru" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL tidak tersedia" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s tidak tersedia. Ia mungkin tidak berfungsi buat sementara waktu atau tidak digunakan lagi" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Pelipat" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Nama pelipat" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Nama pelipat telah digunakan" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Tiada tajuk" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Brblang ttngkap" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Tiada sejarah" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Tambah ke Penanda Buku" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Sunting penanda buku" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Nama pelipat:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Pilih semua" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Pengurus muat turun" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Tambah suapan RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Tambah suapan RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Aturan" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Masukkan URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Kata laluan" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Alamat tidak sah" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Telah wujud dalam senarai Muat Turun" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Masukkan nama pelipat" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Tiada halaman" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Tiada halaman ke belakang" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Tiada halaman ke depan" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Tiada halaman untuk dimuat semula" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Pengesahan Diperlukan" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Penanda buku telah wujud" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Nama pelipat telah wujud" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Tidak dapat menyimpan objek. Ruangan tidak mencukupi dalam cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Pilih perkara" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Maklumat sijil" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Kongsi melalui emel" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Kongsi melalui Mesej" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Kongsi melalui" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Tidak boleh memulakan Pelayar" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Tiada alamat" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Jangan paparkan lagi" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Nama fail kosong" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Reka pelipat" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Dipilih" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Kongsi" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Halaman yang dilayari baru-baru ini" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Paparan" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Muat pada kelebaran" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Boleh dibaca" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Keperibadian" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Terima semua" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Tanya" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookies" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Terima cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Terima cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Terima semua" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Tolak semua" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Auto simpan ID/kata laluan" + +msgid "IDS_BR_BODY_ON" +msgstr "Hidupkan" + +msgid "IDS_BR_BODY_OFF" +msgstr "Matikan" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Penyimpanan lalai" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Cari" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Simpan imej" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Bateri lemah. Tidak bolhe menjalankan pelayar" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Cari perkataan" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Tambahkan ke skrin utama" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Tambah ke skrin utama" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Laman yang selalu dilawati" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Kongsi melalui Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Kongsi melalui Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Ubah pandangan" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Pilih URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Laman ini sedang cuba membuka tetingkap pop-keluar" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Sekat ttingkap pop timbul" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Pembaca teks" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Salin imej" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Simpan imej" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Main" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Pilih" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Pergi ke belakang" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Pergi ke depan" + +msgid "IDS_BR_OPT_STOP" +msgstr "Henti" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Muat semula" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Tampal" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Lebih" + +msgid "IDS_BR_POP_FAIL" +msgstr "Gagal" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Buka dlm ttngkp baru" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Lihat senarai muat turun" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Salin URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Salin URL ke" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Lihat imej" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Aturan privasi" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Kosongkan cache" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Kosongkan sejarah" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Aktifkan pemalam" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Pilih enjin carian" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Padamkan ID/kata laluan yang disimpan" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Kosongkan semua data cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Naik" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Saiz fon" + +msgid "IDS_BR_POP_DELETED" +msgstr "Sudah dipadamkan" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Pandangan lalai" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Aturan kandungan halaman" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Sensitif huruf" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Palamkan" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Senarai pemalam" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Storan setempat" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Padam data pelayaran" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Memuat…" + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Memuat…" + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Masukkan URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Kunci" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Buka" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Ubah suai" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "K.at.hlmn" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "K.bw.hlmn" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Mod pemaju" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Kosong" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Sijil" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Penanda buku" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Masukkan nama" + +msgid "IDS_BR_BODY_NAME" +msgstr "Nama" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Hantar melalui E-mel" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Hantar melalui mesej" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Aturan" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Nama pengguna" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Telah wujud" + +msgid "IDS_BR_POP_SAVED" +msgstr "Tersimpan" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Tidak cukup memori" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Ralat rangkaian" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Tanya selalu" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Kad memori" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Tiada akaun" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Halaman ralat" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Halaman Web tidak tersedia buat sementara waktu" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Halaman Web tidak tersedia" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Gagal memuatkan bingkai" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Semasa mendapatkan semula halaman Web %s, ralat berikut berlaku." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Tidak boleh mendapatkan semula halaman Web. (Halaman Web mungkin tidak berfungsi buat sementara waktu atau telah dialihkan ke URL baru)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Punca paling sesuai diberikan di bawah" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Sambungan rangkaian tidak diwujudkan secara biasa" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Semak URL halaman Web" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Muat semula halaman Web kemudian" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Penanda buku" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Tajuk" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Masukkan tajuk" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Pelipat" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Benarkan" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Enggan" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Ralat Keselamatan: Sijil pelayan tidak dipercayai" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d item dipilih" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 item dipilih" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Tambah ke klip Web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Pintasan dicipta" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Pilih perkataan" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Cari di halaman" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Cari di halaman" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Senarai" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Pilih semua" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Mesej" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mel" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Batal" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Salin URL pautn" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Lihat imej" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Buka dalam halaman baru" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Buka" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Pemilihan teks dihidupkan" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Penanda buku" + +msgid "IDS_BR_SK_EDIT" +msgstr "Sunting" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Padam" + +msgid "IDS_BR_SK_DELETE" +msgstr "Padam" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Batal" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Sunting penanda buku" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Mesej" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mel" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Sunting" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Padam" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Tambah ke Penanda Buku" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Saiz fon" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Besar" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Kecil" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Kelajuan" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Alamat proksi" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port proksi" + +msgid "IDS_BR_SK_DONE" +msgstr "Selesai" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versi" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Pasang" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Halaman semasa" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Masukkan nama pelipat" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Masukkan nama penanda buku" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Jangan tanya lagi" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL tidak dijumpai" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s meminta lokasi anda" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Ingat keutamaan" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Tunjukkan imej" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Tunjukkan amaran keselamatan" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Ingat kata laluan" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Kosongkan kata laluan" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Padam semua kata laluan yang disimpan?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Padam semua kuki. Teruskan?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Ingat data borang" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Tetap semula ke lalai" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Semua aturan ke lalai. Teruskan?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Kosongkan cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Kosongkan semua sejarah?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Sejarah pemanduan arah pelayar akan dikosongkan" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Sentiasa hidup" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Aktifkan lokasi" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Kosongkan capaian lokasi" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Tdk dpt menambah penanda buku. Bilangan maksimum penanda buku dicapai" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Padam maklumat capaian lokasi laman web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Cetak" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Cari atau masukkan URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automatik" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Rendah" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Sederhana" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Halaman kosong" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Pemasangan gagal" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Aturan laman web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Tinggi" + diff --git a/po/nl.po b/po/nl.po new file mode 100755 index 00000000..db9483df --- /dev/null +++ b/po/nl.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Favorieten" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Downloaden" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Toevoegen aan Favorieten" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Annuleer" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Geschiedenis" + diff --git a/po/nl_NL.po b/po/nl_NL.po index 128625d2..1e0c0d4d 100755 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Installatie mislukt" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Melden..." @@ -619,3 +616,216 @@ msgstr "%d items geselecteerd" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 item geselecteerd" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Toevoegen aan webclip" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Sneltoets gemaakt" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Woord selecteren" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Zoek op pagina" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Zoek op pagina" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lijst" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Alles selecteren" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Bericht" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Annuleer" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "URL kopiëren" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Afbeelding bekijken" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Open in nw venster" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Openen" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Tekstselectie aan" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Favorieten" + +msgid "IDS_BR_SK_EDIT" +msgstr "Bewerken" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Wissen" + +msgid "IDS_BR_SK_DELETE" +msgstr "Wissen" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Annuleren" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Favoriet bewerken" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Berichten" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Bewerken" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Wissen" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Toevoegen aan Favorieten" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Tekstgrootte" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Groot" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Klein" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Snelheid" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxyadres" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Poort proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Gereed" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versie" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Install." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Huidige pagina" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Mapnaam invoeren" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Geef naam favoriet in" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Niet nogmaals vragen" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL niet gevonden" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s vraagt om uw locatie" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Voorkeur onthouden" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Afbeeldingen tonen" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Beveiligingswaarschuwingen weergeven" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Wachtwoorden onthouden" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Wachtwoorden wissen" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Alle opgeslagen wachtwoorden verwijderen?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Alle cookies verwijderen. Doorgaan?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Formuliergegevens onthouden" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Standaardinstellingen" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Alle instellingen op standaard. Doorgaan?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Buffer leegmaken?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Hele geschiedenis wissen?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "De navigatiehistorie van de browser wordt gewist" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Altijd aan" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Locatie activeren" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Toegang tot locatie wissen" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Kan geen favoriet toevoegen. Maximumaantal favorieten bereikt" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Toegangsgegevens voor websitelocatie verwijderen?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Afdrukken" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "URL zoeken of ingeven" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automatisch" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Handmatig" + +msgid "IDS_BR_BODY_LOW" +msgstr "Laag" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Normaal" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Lege pagina" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installatie mislukt" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Website-instellingen" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Hoog" + diff --git a/po/no.po b/po/no.po new file mode 100755 index 00000000..1ee6a9cd --- /dev/null +++ b/po/no.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Varsler..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Behandler..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Behandling fullført" + +msgid "IDS_BR_SK_RETRY" +msgstr "Prøv igjen" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Nedlastingsbehandling" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Ugyldig deskriptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Kan ikke Ã¥pne fil" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Laste ned?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Valgt" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Nedlasting avbrutt" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Fortsett fra siste side" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Side" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Ordbok" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Om nettleseren" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Type" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Utstedt av" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Vis bilder" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Last ned" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Angi URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mappe" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Startside" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Liggende" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Ingen bokmerker" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Fant ingen resultater" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Valgfritt" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Kjør Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Kjør Java-skript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Felles navn:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organisasjonsenhet:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organisasjon:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Brukeragent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Preferanser" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktiveringsfeil" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Kjører allerede" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Ikke implementert" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Godkjenning mislyktes" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Overskrive?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historikk" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Nedlastingsliste" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Allerede installert" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Varsler..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Innholdet støttes ikke" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Feil: kan ikke løse vertsnavn" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Kan ikke nÃ¥ proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Ingen SSL-sertifikater" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Filstørrelsen overstiger maksimal opplastingsgrense" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Oppgi navn:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Neste" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Ny mappe" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Legg til i Bokmerker" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Nytt vindu" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL ikke tilgjengelig" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s er ikke tilgjengelig. Det kan være midlertidig eller den er ikke lenger i bruk" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mappe" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Mappenavn" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Mappenavn allerede i bruk" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Ingen tittel" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Flere vinduer" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Ingen poster" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Legg til i Bokmerker" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Rediger bokmerke" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Mappenavn:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Merk alt" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Nedlastingsbehandling" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Legg til RSS-tilførsel" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Legg til RSS-tilførsel" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Innstillinger" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Tast inn URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Passord" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Ugyldig adresse" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Finnes allerede i nedlastingsliste" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Angi mappenavn" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Ingen side" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Ingen sider bakover" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Ingen sider fremover" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Ingen side Ã¥ laste inn pÃ¥ nytt" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Krever godkjenning" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Bokmerket finnes allerede" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Mappenavnet finnes allerede" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Kan ikke lagre gjenstand. Ikke nok plass i hurtigbuffer" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Merk elementer" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Sertifikatopplysninger" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Del via e-post" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Del via Meldinger" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Del via" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Kan ikke starte nettleser" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Ingen adresse" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Vis aldri igjen" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Filnavn tomt" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Lag mappe" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Valgt" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Del" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Nylig besøkte sider" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Skjerm" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Tilpass til bredde" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Lesbar" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Personvern" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Informasjonskapsler" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Godta alle" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Spør" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Informasjonskapsler" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Godta informasjonskapsler" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Godta informasjonskapsler" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Godta alle" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Avvis alle" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Autolagre brukernavn/passord" + +msgid "IDS_BR_BODY_ON" +msgstr "PÃ¥" + +msgid "IDS_BR_BODY_OFF" +msgstr "Av" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Standardlagring" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Søk" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Lagre bilde" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Lavt batteri. Kan ikke kjøre nettleser" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Finn ord" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Legg til pÃ¥ startskjermbildet" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Legg til pÃ¥ startskjerm" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Mest besøkte-omrÃ¥der" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Del via Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Del via Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Endre visning" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Velg URLer" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Dette omrÃ¥det prøver Ã¥ Ã¥pne et pop-up-vindu" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokker pop-up-vinduer" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Tekstleser" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopier bilde" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Lagre bilde" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Spill av" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Velg" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "GÃ¥ bakover" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "GÃ¥ forover" + +msgid "IDS_BR_OPT_STOP" +msgstr "Stopp" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Oppdater" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Lim inn" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Mer" + +msgid "IDS_BR_POP_FAIL" +msgstr "Det oppstod en feil" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Åpne i nytt vindu" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Vis nedlastingsliste" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopier URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopier URL til" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Vis bilde" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Personverninnstillinger" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Tøm mellomlager" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Tøm logg" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Aktiver tilleggsprogrammer" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Velg søkemotor" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Slett lagret Brukernavn/Passord" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Tøm alle informasjonskapseldata" + +msgid "IDS_BR_BODY_UP" +msgstr "Opp" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Skriftstørrelse" + +msgid "IDS_BR_POP_DELETED" +msgstr "Slettet" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Standard visning" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Innst. for sideinnhold" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Skiller mellom store og smÃ¥ bokstaver" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Tilleggsprogram" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Liste over tilleggsprogrammer" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokal lagring" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Slett nettlesingsdata" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Åpner..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Åpner..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Angi URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "LÃ¥s" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "LÃ¥s opp" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Endre" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Opp side" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Ned side" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Utviklermodus" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Tom" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Sertifikater" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Bokmerker" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Angi navn" + +msgid "IDS_BR_BODY_NAME" +msgstr "Navn" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Send via e-post" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Send via melding" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Innstillinger" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Brukernavn" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Finnes allerede" + +msgid "IDS_BR_POP_SAVED" +msgstr "Lagret" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Ikke nok minne" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Nettverksfeil" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Spør alltid" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Minnekort" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Ingen kontoer" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Feilside" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Nettsiden er midlertidig utilgjengelig" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Nettside ikke tilgjengelig" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Kunne ikke laste bilder" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Under henting av nettside %s oppstod følgende feil." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Kan ikke hente nettside. (Nettsiden kan være midlertidig nede eller ha flyttet til en ny URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Den mest sannsynlige Ã¥rsaken er oppgitt nedenfor" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Nettverkstilkobling ikke opprettet som normalt" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Kontroller nettside-URL" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Last inn nettsiden pÃ¥ nytt senere" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Bokmerke" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Tittel" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Angi tittel" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mapper" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Tillat" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Avvis" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Sikkerhetsfeil: Ikke klarert serversertifikat" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d elementer valgt" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 element valgt" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Legg til nettklipp" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Snarvei opprettet" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Velg ord" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Finn pÃ¥ side" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Finn pÃ¥ side" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internett" + +msgid "IDS_BR_OPT_LIST" +msgstr "Liste" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Merk alt" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Melding" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-post" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Avbryt" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopier URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Vis bilde" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Åpne i en ny side" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Åpne" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Tekstmerking pÃ¥" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bokmerker" + +msgid "IDS_BR_SK_EDIT" +msgstr "Rediger" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Slett" + +msgid "IDS_BR_SK_DELETE" +msgstr "Slett" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Avbryt" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Rediger bokmerke" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Meldinger" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-post" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Rediger" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Slett" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Legg til i Bokmerker" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Skriftstørrelse" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Stor" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Liten" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Hastighet" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy-adresse" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy-port" + +msgid "IDS_BR_SK_DONE" +msgstr "Utført" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versjon" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Installere" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Aktuell side" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Angi mappenavn" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Angi bokmerkenavn" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Ikke spør pÃ¥ nytt" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL ikke funnet" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s forespør din plassering" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Husk preferanse" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Vis bilder" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Vis sikkerhetsvarsler" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Husk passord" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Tøm passord" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Slette alle lagrede passord?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Slett alle informasjonskapsler. Fortsette?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Husk skjemadata" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Tilbakestill til standard" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Alle innstillinger til standard. Fortsette?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Tømme mellomlager?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Tømme historikk?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Nettleserens navigasjonshistorikk vil bli tømt" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Alltid pÃ¥" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Aktiver plassering" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Fjern plasseringstilgang" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Kan ikke legge til bokmerke. Maksimalt antall bokmerker er nÃ¥dd" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Slette plasseringsinformasjon for nettsted?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Skriv ut" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Søk eller angi URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuelt" + +msgid "IDS_BR_BODY_LOW" +msgstr "Lav" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Middels" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Tom side" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installasjonen mislyktes" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Innstillinger for webomrÃ¥de" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Høy" + diff --git a/po/pl.po b/po/pl.po new file mode 100755 index 00000000..70b00f08 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Powiadamianie..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Przetwarzanie..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Przetwarzanie zakończono" + +msgid "IDS_BR_SK_RETRY" +msgstr "Ponów" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Menedżer pobierania" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Nieprawidłowy deskryptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Nie można otworzyć pliku" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Pobrać?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Wybrane" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Anulowano pobieranie" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Kont. od ostatn. strony" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Strony" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Słownik" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Przeglądarka - informacje" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Typ" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Wystawca" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Wyświetl obrazy" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Pobierz" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Wpisz adres URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Katalog" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Strona domowa" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Widok poziomy" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Brak zakładek" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nie znaleziono wyników" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Opcjonalnie" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Uruchom Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Uruchom JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Używana nazwa:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Jednostka organizacyjna:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizacja:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Agent użytkownika" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Preferencje" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Błąd aktywacji" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Już uruchomiono" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Nie zaimplementowano" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Błąd uwierzytelniania" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Zastąpić?" + +msgid "IDS_BR_POP_URL" +msgstr "Adres URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historia" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Lista pobierania" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Już zainstalowano" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Powiadamianie..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nieobsługiwana zawartość" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Błąd: nie można ustalić nazwy hosta" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Nie można nawiązać połączenia z serwerem proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Brak certyfikatu SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Przekroczono maksymalny rozmiar plików dozwolony przy przekazywaniu" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Wpisz nazwę:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Dalej" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Nowy katalog" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Dodaj do zakładek" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Nowe okno" + +msgid "IDS_BR_BODY_URL" +msgstr "Adres URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "Adres URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "Adres URL jest niedostępny" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "Adres URL %s jest niedostępny. Może być wyłączony tymczasowo lub wycofany z użycia" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Katalog" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Nazwa katalogu" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Nazwa katalogu już istnieje" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Brak tytułu" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Przełączaj okna" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Brak historii" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Dodaj do zakładek" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Edytuj zakładkę" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Nazwa katalogu:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Zaznacz wszystko" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Menedżer pobierania" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Dodaj kanał RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Dodaj kanały RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Ustawienia" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Wpisz adres URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Hasło" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Nieprawidłowy adres" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Już istnieje na liście pobierania" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Wpisz nazwę katalogu" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Brak strony" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Brak stron wstecz" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Brak stron dalej" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Brak strony do odświeżenia" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Wymagane uwierzytelnianie" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Zakładka już istnieje" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Nazwa katalogu już istnieje" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Nie można zapisać obiektu. Za mało miejsca w pamięci cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Wybierz elementy" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informacje o certyfikacie" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Udostępnij poprzez wiadomość email" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Udostępnij w wiadomości" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Udostępnij przez" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Nie można uruchomić przeglądarki" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Brak adresu" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Nie pokazuj więcej tej wiadomości" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Brak nazwy pliku" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Utwórz katalog" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Wybrane" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Udostępnij" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Ostatnio odwiedzane strony" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Wyświetlacz" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Dopasuj do szerokości" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Można odczytać" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Prywatność" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Pliki cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Akceptuj wszystkie" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Pytaj każdorazowo" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Pliki cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Odbiór plików cookie" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Odbiór plików cookie" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Akceptuj wszystkie" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Odrzuć wszystkie" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Autom. zapisuj id/hasło" + +msgid "IDS_BR_BODY_ON" +msgstr "Wł." + +msgid "IDS_BR_BODY_OFF" +msgstr "Wył." + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Domyślna pamięć zapisu" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Szukaj" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Zapisz obraz" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Bateria rozładowana. Nie można uruchomić przeglądarki" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Znajdź słowo" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Dodaj do ekranu początkowego" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Dodaj do ekranu startowego" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Najczęściej odwiedzane witryny" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Udostępnij przez Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Udostępnij przez Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Zmień widok" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Wybierz adresy URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Ta witryna próbuje otworzyć okno podręczne" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokuj okna podręczne" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Czytnik tekstu" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Skopiuj obraz" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Zapisz obraz" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Odtwórz" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Wybierz" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "W tył" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "W przód" + +msgid "IDS_BR_OPT_STOP" +msgstr "Stop" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Odśwież" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Wklej" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Więcej" + +msgid "IDS_BR_POP_FAIL" +msgstr "Błąd" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Otwórz w nowym oknie" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Lista pobierania" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopiuj adres URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopiuj adres URL do" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Wyświetl obraz" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Prywatność" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Wyczyść cache" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Wyczyść historię" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Włącz dodatki" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Wybierz wyszukiwarkę" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Usuń zapisane hasła i loginy" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Usuń wszystkie pliki cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "W górę" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Rozmiar czcionki" + +msgid "IDS_BR_POP_DELETED" +msgstr "Usunięto" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Widok domyślny" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Ust. zawartości strony" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Rozróżnianie wielkości liter" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Dodatek" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Lista dodatków plug-in" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokalna pamięć masowa" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Usuń przeglądane dane" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Ładuję..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Ładuję..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Wpisz adres URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Zablokuj" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Odblokuj" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Modyfikuj" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Poprz. str." + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Nast. str." + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Tryb programisty" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Puste" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certyfikaty" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Zakładki" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Wpisz nazwę" + +msgid "IDS_BR_BODY_NAME" +msgstr "Nazwa" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Wyślij przez e-mail" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Wyślij w wiadomości" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Ustawienia" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Nazwa użytkownika" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Już istnieje" + +msgid "IDS_BR_POP_SAVED" +msgstr "Zapisano" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Brak pamięci" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Błąd sieci" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Zawsze pytaj" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Karta pamięci" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Brak kont" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Błąd strony" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Strona WWW tymczasowo niedostępna" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Strona WWW niedostępna" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Wczytywanie ramek nie powiodło się" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Podczas pobierania strony WWW %s wystąpił następujący błąd." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Nie można pobrać strony WWW. (Strona WWW może być tymczasowo wyłączona lub przeniesiono ją pod inny adres URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Najbardziej prawdopodobna przyczyna została podana poniżej" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Połączenie sieciowe nie jest ustanowione w zwykły sposób" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Sprawdź adres URL strony WWW" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Odśwież stronę WWW później" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Zakładka" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Tytuł" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Wpisz nazwę" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Katalogi" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Zezwalaj" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Odmów" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Błąd zabezpieczeń: Niezaufany certyfikat serwera" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Wybrane elementy: %d" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "Wybrane elementy: 1" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Dodaj do widgetów" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Utworzono skrót" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Wybierz słowo" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Znajdź na stronie" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Znajdź na str." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Zaznacz wszystko" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Wiadomość" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Anuluj" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopiuj URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Wyświetl obraz" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Otw. na nowej str." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Otwórz" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Zaznacz tekst" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Zakładki" + +msgid "IDS_BR_SK_EDIT" +msgstr "Edytuj" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Usuń" + +msgid "IDS_BR_SK_DELETE" +msgstr "Usuń" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Anuluj" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Edytuj zakładkę" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Wiadomości" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Edytuj" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Usuń" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Dodaj do zakładek" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Rozmiar czcionki" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Duża" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Pomniejsz" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Szybkość" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adres serwera proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port serwera proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Gotowe" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Wersja" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instaluj" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Bieżąca strona" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Wpisz nazwę katalogu" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Wprowadź nazwę zakładki" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Nie pokazuj ponownie" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Nie znaleziono adresu URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "Witryna %s żąda dostępu do lokalizacji" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Zapamiętaj preferencje" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Pokaż obrazy" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Wyświetlaj ostrzeżenia zabezpieczeń" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Pamiętaj hasła" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Wyczyść hasła" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Usunąć wszystkie zapisane hasła?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Usuń wszystkie pliki cookie. Kontynuować?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Zapamiętaj dane formularza" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Przywróć domyślne" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Wszystkim ustawieniom zostaną przywrócone wartości domyślne. Kontynuować?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Wyczyścić cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Wyczyścić całą historię?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Historia nawigacji przeglądarki zostanie usunięta" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Zawsze włączone" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Włącz lokalizację" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Wyczyść dostęp do lokalizacji" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Nie można dodać zakładki. Osiągnięto maksymalną liczbę zakładek" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Usunąć informacje o dostępie do lokalizacji witryny internetowej?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Drukuj" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Wyszukaj lub wprowadź adres URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automatyczny" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ręcznie" + +msgid "IDS_BR_BODY_LOW" +msgstr "Niski" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Normalny" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Pusta strona" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Błąd instalacji" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Ustawienia witryn internetowych" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Wysoki" + diff --git a/po/pt.po b/po/pt.po new file mode 100755 index 00000000..7a9c331f --- /dev/null +++ b/po/pt.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Favoritos" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Transferir" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Adicionar aos Favoritos" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Cancelar" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Historique" + diff --git a/po/pt_PT.po b/po/pt_PT.po index 62f9b893..d6f8cadb 100755 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Instalação falhou" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "A notificar..." @@ -203,7 +200,7 @@ msgid "IDS_BR_BODY_FOLDER_NAME_C" msgstr "Nome da pasta:" msgid "IDS_BR_OPT_SELECT_ALL" -msgstr "Seleccionar tudo" +msgstr "Selec. tudo" msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" msgstr "Gestor de transferências" @@ -619,3 +616,216 @@ msgstr "%d itens seleccionados" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 item seleccionado" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Adicionar a Web clip" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Atalho criado" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Selec. palavra" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Local. na pág." + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Local. na pág." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Selec. tudo" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Mensagem" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Cancelar" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Copiar URL lig." + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Ver imagem" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Abrir pág. nova" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Abrir" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Ligar selecção de texto" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Favoritos" + +msgid "IDS_BR_SK_EDIT" +msgstr "Editar" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Eliminar" + +msgid "IDS_BR_SK_DELETE" +msgstr "Eliminar" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Editar favoritos" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Mensagem" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Eliminar" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Adicionar aos Favoritos" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Tamanho da fonte" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Grande" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Pequeno" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Velocidade" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Endereço proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Porta de proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Concluído" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versão" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instal." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Página actual" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Introduzir nome da pasta" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Introduzir nome do favorito" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Não voltar a perguntar" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL não encontrado" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s pede a sua localização" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Lembrar preferência" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Mostrar imagens" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Mostrar avisos de segurança" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Lembrar palavras-passe" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Limpar palavras-passe" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Eliminar todas as palavras-passe guardadas?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Apaga todos os cookies. Continuar?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Lembrar dados de formulário" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Repor padrão" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Todas as definições para padrão. Continuar?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Limpar cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Limpar todo o histórico?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "O histórico de navegação do browser será limpo" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Sempre ligado" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Activar localização" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Limpar acesso à localização" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Impossível adicionar marcador. Número máximo de marcadores atingido" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Eliminar informações de acesso à localização do site da Web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Imprimir" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Procurar ou introduzir URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automático" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Baixo" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Médio" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Página em branco" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalação falhou" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Definições de site da Web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Alta" + diff --git a/po/ro.po b/po/ro.po new file mode 100755 index 00000000..e36b9227 --- /dev/null +++ b/po/ro.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Se notifică..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Se procesează..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Procesare terminată" + +msgid "IDS_BR_SK_RETRY" +msgstr "Reîncerc." + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Manager descărcare" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "JAD invalid" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Imposibil de deschis fişierul" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "DescărcaÅ£i?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Selectat" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Descărcare anulată" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Contin. cu ultim. pag." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Pagină" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "DicÅ£ionar" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Despre navigator" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Tip" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Emitent" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Afişare imagini" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Descărcare" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "IntroduceÅ£i URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Pagină de pornire" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Peisaj" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Niciun marcaj" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nu au fost găsite rezultate" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "OpÅ£ional" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Executare Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Executare JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Nume comun:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Unitate organizaÅ£ională:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "OrganizaÅ£ie:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Agent utilizator" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "PreferinÅ£e" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Eroare de activare" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Deja se execută" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Neimplementat" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Autentificare eşuată" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "SuprascrieÅ£i?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Istoric" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Descărcare listă" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Deja instalat" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Se notifică..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "ConÅ£inut neacceptat" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Eroare: imposibil de rezolvat numele gazdei" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Imposibil de accesat proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Nici un certificat SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Dimensiunea fişierului depăşeşte limita maximă de încărcare" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Introducere nume:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Următor" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Folder nou" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Adăugare la Marcaje" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Fereastră nouă" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL nedisponibil" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL-ul %s nu este disponibil. Poate fi temporar scos din funcÅ£iune sau nu mai este utilizat" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Nume director" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Nume folder deja în uz" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Nici un titlu" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Feres. multiple" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Niciun istoric" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Adăugare la Marcaje" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Editare marcaj" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Nume folder:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Selectare toate" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Manager descărcare" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Adăugare alimentare RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Adăugare alimentări RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Setări" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "IntroduceÅ£i URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Parolă" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Adresă incorectă" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Există deja în lista de descărcări" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "IntroduceÅ£i numele folderului" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Nicio pagină" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Nici o pagină înapoi" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Nici o pagină înainte" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Nicio pagină de reîncărcat" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Se solicită autentificare" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Marcajul există deja" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Numele directorului există deja" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Imposibil de salvat obiectul. SpaÅ£iu insuficient în cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Selectare elemente" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "InformaÅ£ii certificat" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Partajare prin e-mail" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Partajare prin Mesaje" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Partajare prin" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Imposibil de pornit Navigatorul" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Nicio adresă" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Nu se mai afişează niciodată" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Fişier fără nume" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Creare folder" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Selectat" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Partajare" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Pagini vizitate recent" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Ecran" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Încadrare pe lăţime" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Lizibil" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "ConfidenÅ£ialitate" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Module cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Acceptare toate" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Confirmare" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Module cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Acceptare module cookie" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Acceptare module cookie" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Acceptare toate" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Respingere toate" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Salvare automată ID/parolă" + +msgid "IDS_BR_BODY_ON" +msgstr "Pornit" + +msgid "IDS_BR_BODY_OFF" +msgstr "Oprit" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Stocare implicită" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Căutare" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Salvare imagine" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Baterie descărcată. Imposibil de executat navigatorul" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Găsire cuvânt" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Adăugare la Ecranul de pornire" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Adăug. la ecran. de pornire" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Site-urile cele mai vizitate" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Partajare prin Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Partajare prin Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Schimb. vizual." + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "SelectaÅ£i URL-urile" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Site-ul încearcă să deschidă o fereastră de tip pop-up" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blocare ferestre pop-up" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Cititor de text" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Copiere imagine" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Salvare imagine" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Redare" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Selectare" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Înapoi" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Înainte" + +msgid "IDS_BR_OPT_STOP" +msgstr "Oprire" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Reîncărcare" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Lipire" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Mai multe" + +msgid "IDS_BR_POP_FAIL" +msgstr "Nereuşit" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Desc. în fer. nouă" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Vizualizare listă descărcări" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Copiere URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Trimitere URL" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Viz. imagine" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Setări confidenÅ£ialitate" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Ştergere cache" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Ştergere istoric" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Activare plug-in-uri" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Selectare motor de căutare" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Ştergere ID/parolă salvate" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Ştergere integrală date module cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Sus" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Dimensiune font" + +msgid "IDS_BR_POP_DELETED" +msgstr "Şters" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Vizualizare implicită" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Setări conÅ£inut pagină" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "DiferenÅ£iere între literele mari şi mici" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Plug in" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Listă inserturi" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Stocare locală" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Ştergere date de navigare" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Încărcare..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Încărcare..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "IntroduceÅ£i URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Blocare" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Deblocare" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Modificare" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Pag. în sus" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Pag. în jos" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Mod dezvoltator" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Liber" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certificate" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Marcaje" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "IntroduceÅ£i numele" + +msgid "IDS_BR_BODY_NAME" +msgstr "Nume" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Trimite prin e-mail" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Trimitere prin mesaj" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Setări" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Nume utilizator" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Există deja" + +msgid "IDS_BR_POP_SAVED" +msgstr "Salvat" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Memorie plină" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Eroare reÅ£ea" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Se întreabă întotdeauna" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Cartelă de memorie" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Nu există conturi" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Pagină de eroare" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Pagină Web temporar indisponibilă" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Pagină Web indisponibilă" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Încărcarea cadrelor nu a reuşit" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "S-a produs următoarea eroare la preluarea paginii Web %s." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Imposibil de preluat pagina Web. (Este posibil ca pagina Web să fie temporar dezactivată sau să se fi mutat la un URL nou)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Cauza cea mai probabilă este dată mai jos" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Conexiunea de reÅ£ea nu a fost stabilită în mod normal" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Verificare URL pagină Web" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "ReîncărcaÅ£i pagina Web ulterior" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Marcaj" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Titlu" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "IntroduceÅ£i titlul" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Directoare" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Se permite" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Refuzare" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Eroare securitate: Certificat server neautorizat" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d elemente selectate" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 element selectat" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Adăugare la clip Web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Comanda rapidă a fost creată" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "SelectaÅ£i un cuvânt" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Găsire în pag." + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Găsire în pag." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Listă" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Selectare toate" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Mesaj" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Anulare" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Cop. link URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Viz. imagine" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Desc. în pag. nouă" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Deschidere" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "SelecÅ£ie text activă" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Marcaje" + +msgid "IDS_BR_SK_EDIT" +msgstr "Editare" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Şter." + +msgid "IDS_BR_SK_DELETE" +msgstr "Ştergere" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Anulare" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Editare marcaj" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Mesaje" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Editare" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Ştergere" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Adăugare la Marcaje" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Dimensiune font" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Mare" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Mic" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Viteză" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adresă proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Gata" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Versiune" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instalare" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Pagină actuală" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "IntroduceÅ£i numele folderului" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "IntroduceÅ£i numele marcajului" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Nu întreba din nou" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL negăsit" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s solicită locaÅ£ia dvs." + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "ReÅ£inere preferinÅ£e" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Afişare imagini" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Afişare avertismente de securitate" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Memorare parole" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Ştergere parole" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "ŞtergeÅ£i toate parolele salvate?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Se şterg toate modulele cookie. ContinuaÅ£i?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Memorare date formular" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "ReiniÅ£ializare la valori implicite" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Toate setările sunt la valoarea implicită. ContinuaÅ£i?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Golire cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "ŞtergeÅ£i întregul istoric?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Istoricul de navigare va fi şters" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Activat întotdeauna" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Activare locaÅ£ie" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Autorizare acces la locaÅ£ie" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Imposibil de adăugat marcajul. S-a atins numărul maxim de marcaje" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "ŞtergeÅ£i informaÅ£iile privind accesul la locaÅ£ie al site-ului Web?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Imprimare" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "CăutaÅ£i sau introduceÅ£i adresa URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automat" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manual" + +msgid "IDS_BR_BODY_LOW" +msgstr "Scăzută" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Mediu" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Pagină goală" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalarea nu a reuºit" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Setări pentru site-uri web" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Ridicată" + diff --git a/po/ru.po b/po/ru.po new file mode 100755 index 00000000..f6d3161e --- /dev/null +++ b/po/ru.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Закладки" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Загрузить" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Добавить в Закладки" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "Отмена" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Журнал" + diff --git a/po/ru_RU.po b/po/ru_RU.po index 964d60b6..943bcbb4 100755 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -1,167 +1,164 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Сбой установки" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Уведомление..." msgid "IDS_BR_BODY_PROCESSING_ING" -msgstr "Обработка..." +msgstr "?б?або?ка..." msgid "IDS_BR_BODY_PROCESSING_COMPLETED" -msgstr "Обработка завершена" +msgstr "?б?або?ка заве??ена" msgid "IDS_BR_SK_RETRY" -msgstr "Повтор" +msgstr "?ов?о?" msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" -msgstr "Диспетчер загрузки" +msgstr "?и?пе??е? заг??зки" msgid "IDS_BR_POP_INVALIDDESCRIPTOR" -msgstr "Неверный дескриптор" +msgstr "?еве?н?й де?к?ип?о?" msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" -msgstr "Невозможно открыть файл" +msgstr "?евозможно о?к???? ?айл" msgid "IDS_BR_POP_DOWNLOAD_Q" -msgstr "Загрузить?" +msgstr "?аг??зи???" msgid "IDS_BR_OPT_DELETE_SELECTED" -msgstr "Выбранное" +msgstr "??б?анное" msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" -msgstr "Загрузка отменена" +msgstr "?аг??зка о?менена" msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" -msgstr "С последней страницы" +msgstr "С по?ледней ???ани??" msgid "IDS_BR_BODY_PAGE" -msgstr "Страница" +msgstr "С??ани?а" msgid "IDS_BR_OPT_DICTIONARY" -msgstr "Словарь" +msgstr "Слова??" msgid "IDS_BR_BODY_ABOUT_BROWSER" -msgstr "О браузере" +msgstr "? б?а?зе?е" msgid "IDS_BR_BODY_BROWSER_TYPE" msgstr "Тип" msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" -msgstr "Выдан" +msgstr "??дан" msgid "IDS_BR_BODY_DISPLAY_IMAGES" -msgstr "Показывать картинки" +msgstr "?оказ?ва?? ка??инки" msgid "IDS_BR_BODY_DOWNLOAD" -msgstr "Загрузить" +msgstr "?аг??зи??" msgid "IDS_BR_BODY_ENTER_URL" -msgstr "Введите URL-адрес" +msgstr "?веди?е URL-ад?е?" msgid "IDS_BR_BODY_FOLDER" -msgstr "Папка" +msgstr "?апка" msgid "IDS_BR_BODY_HOMEPAGE" -msgstr "Домашняя страница" +msgstr "?ома?н?? ???ани?а" msgid "IDS_BR_BODY_LANDSCAPE_VIEW" -msgstr "Пейзаж" +msgstr "?ейзаж" msgid "IDS_BR_BODY_NO_BOOKMARKS" -msgstr "Нет закладок" +msgstr "?е? закладок" msgid "IDS_BR_BODY_NO_RESULTS_FOUND" -msgstr "Ничего не найдено" +msgstr "?и?его не найдено" msgid "IDS_BR_BODY_OPTIONAL" -msgstr "Выборочно" +msgstr "??бо?о?но" msgid "IDS_BR_BODY_RSS" msgstr "RSS" msgid "IDS_BR_BODY_RUN_FLASH" -msgstr "Запускать Flash" +msgstr "?ап??ка?? Flash" msgid "IDS_BR_BODY_RUN_JAVASCRIPT" -msgstr "Выполнять JavaScript" +msgstr "??полн??? JavaScript" msgid "IDS_BR_HEADER_COMMON_NAME_C" -msgstr "Имя:" +msgstr "?м?:" msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" -msgstr "Подразделение:" +msgstr "?од?азделение:" msgid "IDS_BR_HEADER_ORGANIZATION_C" -msgstr "Организация:" +msgstr "??ганиза?и?:" msgid "IDS_BR_HEADER_USER_AGENT" -msgstr "Агент пользователя" +msgstr "?ген? пол?зова?ел?" msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" msgstr "Last Viewed Page" msgid "IDS_BR_OPT_PREFERENCES" -msgstr "Параметры" +msgstr "?а?аме???" msgid "IDS_BR_POP_ACTICATION_ERR" -msgstr "Ошибка активации" +msgstr "??ибка ак?ива?ии" msgid "IDS_BR_POP_ALREADY_RUNNING" -msgstr "Уже запущено" +msgstr "Уже зап??ено" msgid "IDS_BR_POP_ERRORIMPLEMENTED" -msgstr "Не реализовано" +msgstr "?е ?еализовано" msgid "IDS_BR_POP_HTTPERRAUTHFAILED" -msgstr "Сбой проверки подлинности" +msgstr "Сбой п?ове?ки подлинно??и" msgid "IDS_BR_POP_OVERWRITE_Q" -msgstr "Перезаписать?" +msgstr "?е?езапи?а???" msgid "IDS_BR_POP_URL" msgstr "URL" msgid "IDS_BR_TAB_HISTORY" -msgstr "Журнал" +msgstr "???нал" msgid "IDS_BR_HEADER_DOWNLOAD_LIST" -msgstr "Список загрузки" +msgstr "Спи?ок заг??зки" msgid "IDS_BR_POP_ALREADYINSTALLED" -msgstr "Уже установлено" +msgstr "Уже ???ановлено" msgid "IDS_BR_POP_NOTIFYING" msgstr "Уведомление..." msgid "IDS_BR_POP_NOTSUPPORT" -msgstr "Содержимое не поддерживается" +msgstr "Соде?жимое не подде?живае???" msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" -msgstr "Ошибка: не удалось преобразовать имя узла" +msgstr "??ибка: не ?дало?? п?еоб?азова?? им? ?зла" msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" -msgstr "Невозможно связаться с прокси-сервером" +msgstr "?евозможно ?в?за???? ? п?ок?и-?е?ве?ом" msgid "IDS_BR_POP_NOSSLCERTI" -msgstr "Нет сертификата SSL" +msgstr "?е? ?е??и?ика?а SSL" msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" -msgstr "Размер файла превышает лимит загрузки" +msgstr "?азме? ?айла п?ев??ае? лими? заг??зки" msgid "IDS_BR_BODY_ENTER_NAME_C" -msgstr "Введите имя:" +msgstr "?веди?е им?:" msgid "IDS_BR_SK_NEXT" -msgstr "Далее" +msgstr "?алее" msgid "IDS_BR_OPT_NEW_FOLDER" -msgstr "Новая папка" +msgstr "?ова? папка" msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" -msgstr "Добавить к закладкам" +msgstr "?обави?? к закладкам" msgid "IDS_BR_SK1_NEW_WINDOW" -msgstr "Новое окно" +msgstr "?овое окно" msgid "IDS_BR_BODY_URL" msgstr "URL" @@ -170,452 +167,665 @@ msgid "IDS_BR_BODY_URL_C" msgstr "URL:" msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" -msgstr "URL-адрес недоступен" +msgstr "URL-ад?е? недо???пен" msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" -msgstr "URL-адрес %s недоступен. Возможно, он временно не работает или больше не используется" +msgstr "URL-ад?е? %s недо???пен. ?озможно, он в?еменно не ?або?ае? или бол??е не и?пол?з?е???" msgid "IDS_BR_HEADER_FOLDER" -msgstr "Папка" +msgstr "?апка" msgid "IDS_BR_BODY_FOLDER_NAME" -msgstr "Имя папки" +msgstr "?м? папки" msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" -msgstr "Имя папки уже существует" +msgstr "?м? папки ?же ???е??в?е?" msgid "IDS_BR_BODY_NO_TITLE" -msgstr "Нет названия" +msgstr "?е? названи?" msgid "IDS_BR_HEADER_MULTI_WINDOW" -msgstr "Несколько окон" +msgstr "?е?кол?ко окон" msgid "IDS_BR_BODY_NO_HISTORIES" -msgstr "Нет журналов" +msgstr "?е? ж??налов" msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" -msgstr "Добавить в Закладки" +msgstr "?обави?? в ?акладки" msgid "IDS_BR_BODY_EDIT_BOOKMARK" -msgstr "Редактировать закладку" +msgstr "?едак?и?ова?? закладк?" msgid "IDS_BR_BODY_FOLDER_NAME_C" -msgstr "Имя папки:" +msgstr "?м? папки:" msgid "IDS_BR_OPT_SELECT_ALL" -msgstr "Выбрать все" +msgstr "??б?а?? в?е" msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" -msgstr "Диспетчер загрузки" +msgstr "?и?пе??е? заг??зки" msgid "IDS_BR_OPT_ADD_RSS_FEED" -msgstr "Добавить RSS-новость" +msgstr "?обави?? RSS-ново???" msgid "IDS_BR_OPT_ADD_RSS_FEEDS" -msgstr "Добавить RSS-каналы" +msgstr "?обави?? RSS-канал?" msgid "IDS_BR_OPT_SETTINGS" -msgstr "Настройки" +msgstr "?а???ойки" msgid "IDS_BR_POP_ENTER_URL" -msgstr "Введите URL" +msgstr "?веди?е URL" msgid "IDS_BR_BODY_AUTHPASSWORD" -msgstr "Пароль" +msgstr "?а?ол?" msgid "IDS_BR_POP_INVALIDADDRESS" -msgstr "Неверный адрес" +msgstr "?еве?н?й ад?е?" msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" -msgstr "Уже существует в списке загрузки" +msgstr "Уже ???е??в?е? в ?пи?ке заг??зки" msgid "IDS_BR_POP_ENTER_FOLDER_NAME" -msgstr "Введите имя папки" +msgstr "?веди?е им? папки" msgid "IDS_BR_POP_NO_PAGE" -msgstr "Нет страницы" +msgstr "?е? ???ани??" msgid "IDS_BR_POP_NO_PAGES_BACKWARD" -msgstr "Нет предыдущих страниц" +msgstr "?е? п?ед?д??и? ???ани?" msgid "IDS_BR_POP_NO_PAGES_FORWARD" -msgstr "Нет последующих страниц" +msgstr "?е? по?лед???и? ???ани?" msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" -msgstr "Нет страницы для повторной загрузки" +msgstr "?е? ???ани?? дл? пов?о?ной заг??зки" msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" -msgstr "Требуется проверка подлинности" +msgstr "Т?еб?е??? п?ове?ка подлинно??и" msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" -msgstr "Закладка уже существует" +msgstr "?акладка ?же ???е??в?е?" msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" -msgstr "Имя папки уже существует" +msgstr "?м? папки ?же ???е??в?е?" msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" -msgstr "Невозможно сохранить объект. Недостаточно пространства в кэше" +msgstr "?евозможно ?о??ани?? об?ек?. ?едо??а?о?но п?о???ан??ва в к??е" msgid "IDS_BR_HEADER_SELECT_ITEMS" -msgstr "Выберите элементы" +msgstr "??бе?и?е ?лемен??" msgid "IDS_BR_HEADER_CERTIFICATE_INFO" -msgstr "Информация о сертификате" +msgstr "?н?о?ма?и? о ?е??и?ика?е" msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" -msgstr "Отправить по электронной почте" +msgstr "??п?ави?? по ?лек??онной по??е" msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" -msgstr "Отправить с помощью сообщения" +msgstr "??п?ави?? ? помо??? ?ооб?ени?" msgid "IDS_BR_OPT_SHARE_VIA" -msgstr "Отправить через" +msgstr "??п?ави?? ?е?ез" msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" -msgstr "Не удается запустить браузер" +msgstr "?е ?дае??? зап???и?? б?а?зе?" msgid "IDS_BR_POP_NO_ADDRESS" -msgstr "Нет адреса" +msgstr "?е? ад?е?а" msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" -msgstr "Больше не показывать" +msgstr "?ол??е не показ?ва??" msgid "IDS_BR_POP_FILE_NAME_EMPTY" -msgstr "Не указано имя файла" +msgstr "?е ?казано им? ?айла" msgid "IDS_BR_SK3_CREATE_FOLDER" -msgstr "Создать папку" +msgstr "Созда?? папк?" msgid "IDS_BR_OPT_SELECTED" -msgstr "Выбранное" +msgstr "??б?анное" msgid "IDS_BR_OPT_SHARE" -msgstr "Отправить" +msgstr "??п?ави??" msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" -msgstr "Недавно посещенные страницы" +msgstr "?едавно по?е?енн?е ???ани??" msgid "IDS_BR_OPT_DISPLAY" -msgstr "Дисплей" +msgstr "?и?плей" msgid "IDS_BR_BODY_FIT_TO_WIDTH" -msgstr "По ширине" +msgstr "?о ?и?ине" msgid "IDS_BR_BODY_READABLE" -msgstr "Для чтения" +msgstr "?л? ??ени?" msgid "IDS_BR_BODY_PRIVACY" -msgstr "Конфиденциальность" +msgstr "?он?иден?иал?но???" msgid "IDS_BR_BODY_COOKIES" -msgstr "Файлы Cookie" +msgstr "Файл? Cookie" msgid "IDS_BR_BODY_COOKIESACCEPTALL" -msgstr "Принимать все" +msgstr "??инима?? в?е" msgid "IDS_BR_BODY_COOKIESPROMPT" -msgstr "Спрашивать" +msgstr "Сп?а?ива??" msgid "IDS_BR_HEADER_COOKIES" -msgstr "Файлы Cookie" +msgstr "Файл? Cookie" msgid "IDS_BR_BODY_ACCEPT_COOKIES" -msgstr "Разрешить cookies" +msgstr "?аз?е?и?? cookies" msgid "IDS_BR_OPT_ACCEPT_COOKIES" -msgstr "Разрешить cookies" +msgstr "?аз?е?и?? cookies" msgid "IDS_BR_BODY_ACCEPT_ALL" -msgstr "Принимать все" +msgstr "??инима?? в?е" msgid "IDS_BR_BODY_REJECT_ALL" -msgstr "Отклонять все" +msgstr "??клон??? в?е" msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" -msgstr "Автоматическое сохранение идентификатора и пароля" +msgstr "?в?ома?и?е?кое ?о??анение иден?и?ика?о?а и па?ол?" msgid "IDS_BR_BODY_ON" -msgstr "Включено" +msgstr "?кл??ено" msgid "IDS_BR_BODY_OFF" -msgstr "Выключено" +msgstr "??кл??ено" msgid "IDS_BR_BODY_DEFAULT_STORAGE" -msgstr "Хранилище по умолчанию" +msgstr "Ð¥?анили?е по ?мол?ани?" msgid "IDS_BR_BODY_SEARCH" -msgstr "Поиск" +msgstr "?ои?к" msgid "IDS_BR_BODY_SAVE_IMAGE" -msgstr "Сохранить картинку" +msgstr "Со??ани?? ка??инк?" msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" -msgstr "Аккумулятор разряжен. Невозможно запустить браузер" +msgstr "?кк?м?л??о? ?аз??жен. ?евозможно зап???и?? б?а?зе?" msgid "IDS_BR_BODY_FIND_WORD" -msgstr "Поиск слова" +msgstr "?ои?к ?лова" msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" -msgstr "Добавить на главный экран" +msgstr "?обави?? на главн?й ?к?ан" msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" -msgstr "Добавить на главный экран" +msgstr "?обави?? на главн?й ?к?ан" msgid "IDS_BR_BODY_MOST_VISITED_SITES" -msgstr "Часто посещаемые сайты" +msgstr "Ча??о по?е?аем?е ?ай??" msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" -msgstr "Отправить в Facebook" +msgstr "??п?ави?? в Facebook" msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" -msgstr "Отправить в Twitter" +msgstr "??п?ави?? в Twitter" msgid "IDS_BR_SK3_CHANGE_VIEW" -msgstr "Изменить вид" +msgstr "?змени?? вид" msgid "IDS_BR_HEADER_SELECT_URLS" -msgstr "Выберите URL-адреса" +msgstr "??бе?и?е URL-ад?е?а" msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" -msgstr "Этот сайт пытается открыть всплывающее окно" +msgstr "Э?о? ?ай? п??ае??? о?к???? в?пл?ва??ее окно" msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" -msgstr "Блокировать всплыв. окна" +msgstr "?локи?ова?? в?пл?в. окна" msgid "IDS_BR_BODY_TEXT_READER" -msgstr "Текст" +msgstr "Тек??" msgid "IDS_BR_OPT_COPY_IMAGE" -msgstr "Копировать изображение" +msgstr "?опи?ова?? изоб?ажение" msgid "IDS_BR_OPT_SAVE_IMAGE" -msgstr "Сохранить картинку" +msgstr "Со??ани?? ка??инк?" msgid "IDS_BR_BODY_PLAY" -msgstr "Воспроизвести" +msgstr "?о?п?оизве??и" msgid "IDS_BR_OPT_SELECT" -msgstr "Выбрать" +msgstr "??б?а??" msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" -msgstr "Назад" +msgstr "?азад" msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" -msgstr "Вперед" +msgstr "?пе?ед" msgid "IDS_BR_OPT_STOP" -msgstr "Стоп" +msgstr "С?оп" msgid "IDS_BR_OPT_RELOAD" -msgstr "Обновить" +msgstr "?бнови??" msgid "IDS_BR_OPT_PASTE" -msgstr "Вставить" +msgstr "???ави??" msgid "IDS_BR_BUTTON_MORE" -msgstr "Еще" +msgstr "??е" msgid "IDS_BR_POP_FAIL" msgstr "Сбой" msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" -msgstr "Открыть в новом окне" +msgstr "??к???? в новом окне" msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" -msgstr "Просмотр списка загрузок" +msgstr "??о?мо?? ?пи?ка заг??зок" msgid "IDS_BR_BODY_COPY_URL" -msgstr "Копировать URL" +msgstr "?опи?ова?? URL" msgid "IDS_BR_BODY_COPY_URL_TO" -msgstr "Копировать URL" +msgstr "?опи?ова?? URL" msgid "IDS_BR_BODY_VIEW_IMAGE" -msgstr "Просмотр картинки" +msgstr "??о?мо?? ка??инки" msgid "IDS_BR_BODY_PRIVACY_SETTINGS" -msgstr "Настройки конфиденциальности" +msgstr "?а???ойки кон?иден?иал?но??и" msgid "IDS_BR_BODY_CLEAR_CACHE" -msgstr "Очистить кэш" +msgstr "??и??и?? к??" msgid "IDS_BR_BODY_CLEAR_HISTORY" -msgstr "Очистить журнал" +msgstr "??и??и?? ж??нал" msgid "IDS_BR_BODY_ENABLE_PLUG_INS" -msgstr "Разрешить плагины" +msgstr "?аз?е?и?? плагин?" msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" -msgstr "Выбор поисковой системы" +msgstr "??бо? пои?ковой ?и??ем?" msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" -msgstr "Удалить логин/пароль" +msgstr "Удали?? логин/па?ол?" msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" -msgstr "Удалить cookies" +msgstr "Удали?? cookies" msgid "IDS_BR_BODY_UP" -msgstr "Вверх" +msgstr "?ве??" msgid "IDS_BR_BODY_FONT_SIZE" -msgstr "Размер шрифта" +msgstr "?азме? ??и??а" msgid "IDS_BR_POP_DELETED" msgstr "Удалено" msgid "IDS_BR_BODY_DEFAULT_VIEW" -msgstr "По умолчанию" +msgstr "?о ?мол?ани?" msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" -msgstr "Параметры содерж.страницы" +msgstr "?а?аме??? ?оде?ж.???ани??" msgid "IDS_BR_POP_CASE_SENSITIVE" -msgstr "С учетом регистра" +msgstr "С ??е?ом ?еги???а" msgid "IDS_BR_BODY_PLUG_IN" -msgstr "Дополнительный модуль" +msgstr "?ополни?ел?н?й мод?л?" msgid "IDS_BR_OPT_PLUGINS_LIST" -msgstr "Список подключаемых модулей" +msgstr "Спи?ок подкл??аем?? мод?лей" msgid "IDS_BR_HEADER_LOCAL_STORAGE" -msgstr "Локальное хранилище" +msgstr "?окал?ное ??анили?е" msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" -msgstr "Удалить данные браузера" +msgstr "Удали?? данн?е б?а?зе?а" msgid "IDS_BR_BODY_LOADING_ING" -msgstr "Загрузка..." +msgstr "?аг??зка..." msgid "IDS_BR_HEADER_LOADING_ING" -msgstr "Загрузка..." +msgstr "?аг??зка..." msgid "IDS_BR_HEADER_ENTERURL" -msgstr "Введите URL-адрес" +msgstr "?веди?е URL-ад?е?" msgid "IDS_BR_OPT_LOCK" -msgstr "Заблокировать" +msgstr "?аблоки?ова??" msgid "IDS_BR_OPT_UNLOCK" -msgstr "Разблокировать" +msgstr "?азблоки?ова??" msgid "IDS_BR_BODY_MODIFY" -msgstr "Изменить" +msgstr "?змени??" msgid "IDS_BR_SK_PAGE_UP" -msgstr "Вверх" +msgstr "?ве??" msgid "IDS_BR_SK_PAGE_DOWN" -msgstr "Вниз" +msgstr "?низ" msgid "IDS_BR_BODY_DEVELOPER_MODE" -msgstr "Режим разработчика" +msgstr "?ежим ?аз?або??ика" msgid "IDS_BR_BODY_EMPTY" -msgstr "Пусто" +msgstr "????о" msgid "IDS_BR_BODY_CERTIFICATES" -msgstr "Сертификаты" +msgstr "Се??и?ика??" msgid "IDS_BR_BODY_BOOKMARKS" -msgstr "Закладки" +msgstr "?акладки" msgid "IDS_BR_BODY_ENTER_NAME" -msgstr "Введите имя" +msgstr "?веди?е им?" msgid "IDS_BR_BODY_NAME" -msgstr "Имя" +msgstr "?м?" msgid "IDS_BR_OPT_SEND_VIA_EMAIL" -msgstr "Отправить по E-mail" +msgstr "??п?ави?? по E-mail" msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" -msgstr "Отправить в сообщении" +msgstr "??п?ави?? в ?ооб?ении" msgid "IDS_BR_BODY_SETTINGS" -msgstr "Настройки" +msgstr "?а???ойки" msgid "IDS_BR_BODY_AUTHUSERNAME" -msgstr "Имя пользователя" +msgstr "?м? пол?зова?ел?" msgid "IDS_BR_POP_ALREADY_EXISTS" -msgstr "Уже существует" +msgstr "Уже ???е??в?е?" msgid "IDS_BR_POP_SAVED" -msgstr "Соxранено" +msgstr "Соx?анено" msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" -msgstr "Недостаточно памяти" +msgstr "?едо??а?о?но пам??и" msgid "IDS_BR_POP_NETWORK_ERROR" -msgstr "Ошибка сети" +msgstr "??ибка ?е?и" msgid "IDS_BR_BODY_ALWAYS_ASK" -msgstr "Всегда спрашивать" +msgstr "??егда ?п?а?ива??" msgid "IDS_BR_BODY_MEMORY_CARD" -msgstr "Карта памяти" +msgstr "?а??а пам??и" msgid "IDS_BR_BODY_PHONE" -msgstr "Телефон" +msgstr "Теле?он" msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" -msgstr "Нет учетных записей" +msgstr "?е? ??е?н?? запи?ей" msgid "IDS_BR_HEADER_ERROR_PAGE" -msgstr "Страница ошибки" +msgstr "С??ани?а о?ибки" msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" -msgstr "Веб-страница временно недоступна" +msgstr "?еб-???ани?а в?еменно недо???пна" msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" -msgstr "Веб-страница недоступна" +msgstr "?еб-???ани?а недо???пна" msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" -msgstr "Сбой загрузки фреймов" +msgstr "Сбой заг??зки ??еймов" msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" -msgstr "При получении веб-страницы %s произошла следующая ошибка." +msgstr "??и пол??ении веб-???ани?? %s п?оизо?ла ?лед???а? о?ибка." msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" -msgstr "Невозможно получить веб-страницу. (Возможно, она временно не работает или перемещена на новый URL)" +msgstr "?евозможно пол??и?? веб-???ани??. (?озможно, она в?еменно не ?або?ае? или пе?еме?ена на нов?й URL)" msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" -msgstr "Ниже указана наиболее вероятная причина" +msgstr "?иже ?казана наиболее ве?о??на? п?и?ина" msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" -msgstr "Сетевое подключение установлено с ошибками" +msgstr "Се?евое подкл??ение ???ановлено ? о?ибками" msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" -msgstr "Проверьте URL веб-страницы" +msgstr "??ове???е URL веб-???ани??" msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" -msgstr "Перезагрузите веб-страницу позднее" +msgstr "?е?езаг??зи?е веб-???ани?? позднее" msgid "IDS_BR_OPT_BOOKMARK" -msgstr "Закладка" +msgstr "?акладка" msgid "IDS_BR_BODY_TITLE" -msgstr "Название" +msgstr "?азвание" msgid "IDS_BR_BODY_ENTER_TITLE" -msgstr "Введите название" +msgstr "?веди?е название" msgid "IDS_BR_OPT_FOLDERS" -msgstr "Папки" +msgstr "?апки" msgid "IDS_BR_OPT_ALLOW" -msgstr "Разрешить" +msgstr "?аз?е?и??" msgid "IDS_BR_POP_REFUSE" -msgstr "Отказать" +msgstr "??каза??" msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" -msgstr "Ошибка защиты: не имеющий доверия сертификат сервера" +msgstr "??ибка за?и??: не име??ий дове?и? ?е??и?ика? ?е?ве?а" msgid "IDS_BR_POP_PD_ITEMS_SELECTED" -msgstr "Выбрано элементов: %d" +msgstr "??б?ано ?лемен?ов: %d" msgid "IDS_BR_POP_1_ITEM_SELECTED" -msgstr "Выбран 1 элемент" +msgstr "??б?ан 1 ?лемен?" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "?обави?? как видже?" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Создана ???лка" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "??бе?и?е ?лово" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "?ай?и на ???ани?е" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "?ай?и на ???ани?е" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "?н?е?не?" + +msgid "IDS_BR_OPT_LIST" +msgstr "Спи?ок ?айлов" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "??б?а?? в?е" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Сооб?ение" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "??мена" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "?опи?ова?? URL ???лки" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "??о?мо?? ка??инки" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "??к???? в новом окне" + +msgid "IDS_BR_OPT_OPEN" +msgstr "??к????" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "??дели?? ?ек??" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "?акладки" + +msgid "IDS_BR_SK_EDIT" +msgstr "?змени??" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Удали??" + +msgid "IDS_BR_SK_DELETE" +msgstr "Удали??" + +msgid "IDS_BR_SK_CANCEL" +msgstr "??мена" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "?едак?и?ова?? закладк?" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Сооб?ени?" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "?змени??" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Удали??" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "?обави?? в ?акладки" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "?азме? ??и??а" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "?ол??ой" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "?ален?кий" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Ско?о???" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "?д?е? п?ок?и" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "?о?? п?ок?и" + +msgid "IDS_BR_SK_DONE" +msgstr "?о?ово" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "?е??и?" + +msgid "IDS_BR_SK_INSTALL" +msgstr "У??ан." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Тек??а? ???ани?а" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "?веди?е им? папки" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "?веди?е им? закладки" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "?ол??е не ?п?а?ива??" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL-ад?е? не найден" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s зап?а?ивае? ?ведени? о ва?ем ме??оположении" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "?апомни?? на???ойки" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "?оказа?? изоб?ажени?" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "??ед?п?ежда?? о безопа?но??и" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Со??ан??? па?оли" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "??и??и?? па?оли" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Удали?? в?е ?о??аненн?е па?оли?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "??е ?айл? cookie б?д?? ?дален?. ??одолжи???" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Со??ан??? данн?е ?о?м" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "?о???анови?? на???ойки по ?мол?ани?" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "??е па?аме??? б?д?? ?б?о?ен?. ??одолжи???" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "??и??и?? к???" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "??и??и?? ве?? ж??нал?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "???нал б?а?зе?а б?де? ?дален" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "??егда вкл." + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "?кл??и?? ме??оположение" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Удали?? данн?е о ме??оположении" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "?евозможно добави?? закладк?. ?о??игн??о мак?имал?ное ?и?ло закладок" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Удали?? ?ведени? о до???пе к веб-?ай???" + +msgid "IDS_BR_BODY_PRINT" +msgstr "?е?а??" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "??полни?е пои?к или введи?е URL-ад?е?" + +msgid "IDS_BR_BODY_AUTO" +msgstr "?в?о" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "????н??" + +msgid "IDS_BR_BODY_LOW" +msgstr "?изкий" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "С?едний" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "????а? ???ани?а" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Сбой ???ановки" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "?а???ойки веб-?ай?ов" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "???окий" diff --git a/po/sk.po b/po/sk.po new file mode 100755 index 00000000..027a6f5c --- /dev/null +++ b/po/sk.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Odosiela sa notifikácia..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Prebieha spracovanie..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Spracovanie je dokončené" + +msgid "IDS_BR_SK_RETRY" +msgstr "OpakovaÅ¥" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Správca sÅ¥ahovaní" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Chybný deskriptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Súbor sa nedá otvoriÅ¥" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "StiahnuÅ¥?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Vybrané" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "SÅ¥ahovanie zruÅ¡ené" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Pokr. z poslednej str." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Stránka" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Slovník" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "O prehliadači" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Typ" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Vydavateľ" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "ZobraziÅ¥ obrázky" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "StiahnuÅ¥" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Zadajte adresu URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Priečinok" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Domovská stránka" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Na šírku" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Žiadne záložky" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "NenaÅ¡li sa žiadne výsledky" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Voliteľné" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "SpustiÅ¥ Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "SpustiÅ¥ JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "VÅ¡eobecný názov:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizačná jednotka:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizácia:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Agent používateľa" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Predvoľby" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Chyba aktivácie" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Už je spustené" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Neimplementované" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Overenie sa nepodarilo" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "PrepísaÅ¥?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "História" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Zoznam stiahnutých" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Už nainÅ¡talované" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Oznamovanie..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nepodporovaný obsah" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Chyba: nedá sa zistiÅ¥ názov hostiteľa" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Nedá sa pripojiÅ¥ k serveru proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Žiadne certifikáty SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "VeľkosÅ¥ súboru prekračuje maximálny limit odosielania" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Zadajte meno:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Ďalej" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Nový priečinok" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "PridaÅ¥ medzi záložky" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Nové okno" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "Adresa URL nie je k dispozícii" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "Adresa URL %s nie je k dispozícii. Možno je dočasne mimo prevádzky alebo sa už nepoužíva" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Priečinok" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Názov priečinka" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Názov priečinka už existuje" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Žiadny názov" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Viacnás. okno" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Žiadne histórie" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "PridaÅ¥ do priečinka Záložky" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "UpraviÅ¥ záložku" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Názov priečinka:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "VybraÅ¥ vÅ¡etky" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Správca sÅ¥ahovaní" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "PridaÅ¥ informačný kanál RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "PridaÅ¥ informačné kanály RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Nastavenia" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Zadajte adresu URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Heslo" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Neplatná adresa" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Už existuje v zozname sÅ¥ahovaní" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Zadajte názov priečinka" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Žiadna stránka" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Žiadne stránky dozadu" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Žiadne stránky dopredu" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Žiadna stránka na opätovné načítanie" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Vyžaduje sa overenie" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Záložka už existuje" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Názov priečinka už existuje" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Objekt sa nedá uložiÅ¥. Nedostatok miesta vo vyrovnávacej pamäti" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "VybraÅ¥ položky" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informácie o certifikáte" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "ZdieľaÅ¥ cez e-mail" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "ZdieľaÅ¥ cez správy" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "ZdieľaÅ¥ cez" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Prehliadač sa nedá spustiÅ¥" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Žiadna adresa" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Už viac nezobrazovaÅ¥" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Názov súboru prázdny" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "VytvoriÅ¥ priečinok" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Vybrané" + +msgid "IDS_BR_OPT_SHARE" +msgstr "ZdieľaÅ¥" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Naposledy navÅ¡tívené stránky" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Displej" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "PrispôsobiÅ¥ na šírku" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Čitateľný" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Súkromie" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Súbory cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "PrijaÅ¥ vÅ¡etko" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "VyzvaÅ¥" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Súbory cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "PrijaÅ¥ súbory cookie" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "PrijaÅ¥ súbory cookie" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "PrijaÅ¥ vÅ¡etko" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "OdmietnuÅ¥ vÅ¡etko" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Automaticky uložiÅ¥ meno/heslo" + +msgid "IDS_BR_BODY_ON" +msgstr "Zap." + +msgid "IDS_BR_BODY_OFF" +msgstr "Vyp." + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Predvolené umiestnenie" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "HľadaÅ¥" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "UložiÅ¥ obrázok" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Batéria je takmer vybitá. Prehliadač sa nedá spustiÅ¥" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "HľadaÅ¥ slovo" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "PridaÅ¥ na úvodnú obrazovku" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "PridaÅ¥ na úvodnú obrazovku" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "NajnavÅ¡tevovanejÅ¡ie lokality" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "ZdieľaÅ¥ cez Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "ZdieľaÅ¥ cez Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "ZmeniÅ¥ zobraz." + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "VybraÅ¥ adresy URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Táto lokalita sa pokúša otvoriÅ¥ automaticky otvárané okno" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "BlokovaÅ¥ autom. otv. okná" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Textová čítačka" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "KopírovaÅ¥ obrázok" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "UložiÅ¥ obrázok" + +msgid "IDS_BR_BODY_PLAY" +msgstr "PrehraÅ¥" + +msgid "IDS_BR_OPT_SELECT" +msgstr "VybraÅ¥" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "PrejsÅ¥ dozadu" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "PrejsÅ¥ dopredu" + +msgid "IDS_BR_OPT_STOP" +msgstr "ZastaviÅ¥" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "NačítaÅ¥ znova" + +msgid "IDS_BR_OPT_PASTE" +msgstr "VložiÅ¥" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "ĎalÅ¡ie" + +msgid "IDS_BR_POP_FAIL" +msgstr "Nepodarilo sa" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "OtvoriÅ¥ v novom okne" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "ZobraziÅ¥ zoznam stiahnutých" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "KopírovaÅ¥ adresu URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "KopírovaÅ¥ adresu URL do" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Zobr. obrázok" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Nastavenia súkromia" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "VymazaÅ¥ vyrovnávaciu pamäť" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "VymazaÅ¥ históriu" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "PovoliÅ¥ doplnky" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Vyberte vyhľadávací nástroj" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "VymazaÅ¥ uložené ID/heslo" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "VymazaÅ¥ údaje vÅ¡etkých súborov cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Hore" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "VeľkosÅ¥ písma" + +msgid "IDS_BR_POP_DELETED" +msgstr "Odstránené" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Predvolené zobrazenie" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Nastavenia obsahu stránok" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "RozliÅ¡ovaÅ¥ veľké a malé písmená" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Modul Plug in" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Zoznam doplnkov" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokálne ukladanie" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "VymazaÅ¥ údaje o prehliadaní" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Načítava sa..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Načítava sa..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Zadajte adresu URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "BlokovaÅ¥" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Odomknúť" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "UpraviÅ¥" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Str. nahor" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Str. nadol" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Vývojársky režim" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Prázdny" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certifikáty" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Záložky" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "ZadaÅ¥ meno" + +msgid "IDS_BR_BODY_NAME" +msgstr "Meno" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "OdoslaÅ¥ cez e-mail" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "OdoslaÅ¥ cez správu" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Nastavenia" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Užívateľské meno" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Už existuje" + +msgid "IDS_BR_POP_SAVED" +msgstr "Uložené" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Nedostatok pamäte" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Chyba siete" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Vždy sa pýtaÅ¥" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Pamäťová karta" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefón" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Žiadne kontá" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Chybová stránka" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Webová stránka dočasne nie je k dispozícii" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Webová stránka nie je k dispozícii" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Nepodarilo sa načítaÅ¥ rámy" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Počas načítania webovej stránky %s sa vyskytla nasledujúca chyba." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Nedá sa načítaÅ¥ webová stránka. (Webová stránka môže byÅ¥ dočasne odstavená alebo premiestnená na novú adresu URL.)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "NajpravdepodobnejÅ¡ia príčina je uvedená nižšie" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "SieÅ¥ové pripojenie sa nenadviazalo normálne" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Skontrolujte adresu URL webovej stránky" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Znova načítajte webovú stránku neskôr" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Záložka" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Názov" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "ZadaÅ¥ názov" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Priečinky" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "PovoliÅ¥" + +msgid "IDS_BR_POP_REFUSE" +msgstr "OdmietnuÅ¥" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Chyba zabezpečenia: Nedôveryhodný certifikát servera" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Vybraté položky: %d" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 vybratá položka" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "PridaÅ¥ do webového klipu" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Odkaz bol vytvorený" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "VybraÅ¥ slovo" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "HľadaÅ¥ na str." + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "HľadaÅ¥ na str." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Zoznam" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "VybraÅ¥ vÅ¡etky" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Správa" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "ZruÅ¡iÅ¥" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kop. adr. odk." + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Zobr. obrázok" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Otv. na novej str." + +msgid "IDS_BR_OPT_OPEN" +msgstr "OtvoriÅ¥" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Zapnúť výber textu" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Záložky" + +msgid "IDS_BR_SK_EDIT" +msgstr "UpraviÅ¥" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "OdstrániÅ¥" + +msgid "IDS_BR_SK_DELETE" +msgstr "OdstrániÅ¥" + +msgid "IDS_BR_SK_CANCEL" +msgstr "ZruÅ¡iÅ¥" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "UpraviÅ¥ záložku" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Správy" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "UpraviÅ¥" + +msgid "IDS_BR_SK3_DELETE" +msgstr "OdstrániÅ¥" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "PridaÅ¥ do priečinka Záložky" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "VeľkosÅ¥ písma" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Veľké" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Malé" + +msgid "IDS_BR_BODY_SPEED" +msgstr "RýchlosÅ¥" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adresa proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port proxy servera" + +msgid "IDS_BR_SK_DONE" +msgstr "Hotovo" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Verzia" + +msgid "IDS_BR_SK_INSTALL" +msgstr "InÅ¡tal." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Aktuálna stránka" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Zadajte názov priečinka" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Zadajte názov záložky" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Už sa nepýtaÅ¥" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Adresa sa nenaÅ¡la" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s žiada o vaÅ¡e umiestnenie" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "ZapamätaÅ¥ predvoľbu" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "ZobraziÅ¥ obrázky" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "ZobraziÅ¥ bezpečnostné upozornenia" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "ZapamätaÅ¥ heslá" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "VymazaÅ¥ heslá" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "VymazaÅ¥ vÅ¡etky uložené heslá?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Vymažte vÅ¡etky súbory cookie. PokračovaÅ¥?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "ZapamätaÅ¥ údaje formulára" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "ObnoviÅ¥ predvolené" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "VÅ¡etky nastavenia na predvolené. PokračovaÅ¥?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "VymazaÅ¥ vyrovnávaciu pamäť?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "VymazaÅ¥ celú históriu?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Navigačná história prehľadávača bude vymazaná" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Vždy zapnuté" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "PovoliÅ¥ umiestnenie" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "VymazaÅ¥ prístup k umiestneniu" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Záložka sa nedá pridaÅ¥. Dosiahol sa maximálny počet záložiek" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "OdstrániÅ¥ informácie o prístupe k umiestneniu webovej lokality?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Tlač" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Hľadajte alebo zadajte adresu URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automaticky" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ručne" + +msgid "IDS_BR_BODY_LOW" +msgstr "Nízka" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Stredná" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Prázdna strana" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "InÅ¡talácia zlyhala" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Nastavenia webovej lokality" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Vysoká" + diff --git a/po/sl.po b/po/sl.po new file mode 100755 index 00000000..21a42699 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Obveščam ..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Obdelujem..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Obdelava je končana" + +msgid "IDS_BR_SK_RETRY" +msgstr "Pos.znova" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Upravitelj prenosov" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Neveljaven deskriptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Datoteke ni mogoče odpreti" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Prenesem?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Izbrano" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Nalaganje preklicano" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Nad.od zad.str." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Stran" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Slovar" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "O brskalniku" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Vrsta" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Izdajatelj" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Prikaži slike" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Naložim" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Vnesite URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mapa" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Domača stran" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Ležeče" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Ni zaznamkov" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Ni najdenih rezultatov" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Neobvezno" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Zaženi Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Zaženi JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Skupno ime:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizacijska enota:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizacija:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "UporabniÅ¡ki agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Nastavitve" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Napaka vklopa" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Se že izvaja" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Ni izvedeno" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Preverjanje pristnosti ni uspelo" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Zamenjam?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Zgodovina" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Prenesi seznam" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Že nameščeno" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Obveščam..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nepodprta vsebina" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Napaka: imena gostitelja ni bilo mogoče razreÅ¡iti" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Proxy strežnik ni dosegljiv" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Ni certifikatov SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Velikost datoteke presega omejitev za prenos" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Vnesite ime:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Naprej" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Nova mapa" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Dodaj med Zaznamke" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Novo okno" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL ni na voljo" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s ni na voljo. Strežnik je morda začasno ugasnjen ali pa ni več v uporabi" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mapa" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Ime mape" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Ime mape se že uporablja" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Ni naslova" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Več oken" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Ni zgodovin" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Dodaj med zaznamke" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Uredi zaznamek" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Ime mape:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Izberi vse" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Upravitelj prenosov" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Dodaj vir RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Dodaj vire RSS" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Nastavitve" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Vnesite URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Geslo" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Neveljaven naslov" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Že obstaja na seznamu prenosov" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Vnesite ime mape" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Ni strani" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Ni prejÅ¡njih strani" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Ni naslednjih strani" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Ni strani za ponovni prenos" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Potrebno je overjanje" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Zaznamek že obstaja" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Ime mape že obstaja" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Predmeta ni mogoče shraniti. V začasnem pomnilniku ni dovolj prostora" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Izberi elemente" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informacije o certifikatu" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Souporaba preko e-poÅ¡te" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Souporaba preko sporočil" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Souporaba preko" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Ni mogoče zagnati brskalnika" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Ni naslova" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Nikoli več ne prikaži" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Ime datoteke je prazno" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Ustvari mapo" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Izbrano" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Deli" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Nedavno obiskane strani" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Zaslon" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Prilagodi Å¡irini" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Čitljivo" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Zasebnost" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "PiÅ¡kotki" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Sprejmi vse" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "VpraÅ¡aj" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "PiÅ¡kotki" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Sprejmi piÅ¡kotke" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Sprejmi piÅ¡kotke" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Sprejmi vse" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Zavrni vse" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Samodejno shrani ID/geslo" + +msgid "IDS_BR_BODY_ON" +msgstr "Vključeno" + +msgid "IDS_BR_BODY_OFF" +msgstr "Izključeno" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Privzeti pomnilnik" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Iskanje" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Shrani sliko" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Baterija je skoraj prazna. Brskalnika ni mogoče zagnati" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Najdi besedo" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Dodaj na domači zaslon" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Dodaj na domači zaslon" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Največkrat obiskane strani" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Skupna raba prek storitve Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Skupna raba prek storitve Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Spremeni pogled" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Izberite URL-je" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Ta stran poskuÅ¡a odpreti pojavno okno" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokiraj pojavna okna" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Bralnik besedila" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopiraj sliko" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Shrani sliko" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Predvajaj" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Izberi" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Pojdi nazaj" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Pojdi naprej" + +msgid "IDS_BR_OPT_STOP" +msgstr "Ustavi" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Ponovno naloži" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Prilepi" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Več" + +msgid "IDS_BR_POP_FAIL" +msgstr "Ni uspelo" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Odpri v novem oknu" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Prikaži seznam prenosov" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopiraj URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopiraj URL na" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Prikaži sliko" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Nastavitve za varovanje zasebnosti" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Izprazni medpomnilnik" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Počisti zgodovino" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Omogoči vtičnike" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Izberite iskalnik" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "IzbriÅ¡i shranjen ID/geslo" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Počisti vse podatke piÅ¡kotkov" + +msgid "IDS_BR_BODY_UP" +msgstr "Gor" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Velikost pisave" + +msgid "IDS_BR_POP_DELETED" +msgstr "Izbrisano" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Privzeti pogled" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Nastavitve vsebine strani" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Razlikovanje velikih/malih črk" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Dodatek" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Seznam vtičnikov" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Krajevni pomnilnik" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "IzbriÅ¡i iskane podatke" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Nalaganje..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Nalaganje..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Vnesite URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Zakleni" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Odkleni" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Spremeni" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Ena str. gor" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Ena str. dol" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Način za razvijalce" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Prazno" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certifikati" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Zaznamki" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Vnesite ime" + +msgid "IDS_BR_BODY_NAME" +msgstr "Ime" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "PoÅ¡lji preko e-poÅ¡te" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "PoÅ¡lji v sporočilu" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Nastavitve" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "UporabniÅ¡ko ime" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Že obstaja" + +msgid "IDS_BR_POP_SAVED" +msgstr "Shranjeno" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Ni dovolj pomnilnika" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Napaka omrežja" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Vedno vpraÅ¡aj" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "PomnilniÅ¡ka kartica" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Ni računov" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Napaka na strani" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Spletna stran trenutno ni na voljo" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Spletna stran ni na voljo" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Okvirjev ni mogoče naložiti" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Med prikazovanjem spletne strani %s je priÅ¡lo do te napake." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Spleten strani ni mogoče prikazati. (Lahko je začasno onemogočena ali premaknjena na drug URL)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "NajverjetnejÅ¡i vzrok je podan spodaj" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Omrežna povezava ni vzpostavljena pravilno" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Preverite URL spletne strani" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Spletno stran znova naložite pozneje" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Zaznamek" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Naslov" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Vnesite naslov" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mape" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Dovoli" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Zavrni" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Varnostna napaka: Nepodprt certifikat strežnika" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d predmetov izbranih" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 predmet je izbran" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Dodaj v spletni posnetek" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Bližnjica je ustvarjena" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Izberi besedo" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Najdi na strani" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Najdi na strani" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Seznam" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Izberi vse" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Sporočilo" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-poÅ¡ta" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Prekliči" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopiraj URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Prikaži sliko" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Odpri na novi str." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Odpri" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Izbira besedila vključena" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Zaznamki" + +msgid "IDS_BR_SK_EDIT" +msgstr "Uredi" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "IzbriÅ¡i" + +msgid "IDS_BR_SK_DELETE" +msgstr "IzbriÅ¡i" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Prekliči" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Uredi zaznamek" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Sporočila" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-poÅ¡ta" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Uredi" + +msgid "IDS_BR_SK3_DELETE" +msgstr "IzbriÅ¡i" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Dodaj med zaznamke" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Velikost pisave" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Velika" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Majhna" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Hitrost" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Naslov strežnika proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Vrata strežnika proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "Končano" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Različica" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Namesti" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Trenutna stran" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Vnesite ime mape" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Vnesite ime zaznamka" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Ne vpraÅ¡aj znova" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Ne najdem naslova URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s zahteva vaÅ¡o lokacijo" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Zapomni si prednostne nastavitve" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Prikaži slike" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Prikaži varnostna opozorila" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Zapomni si gesla" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "IzbriÅ¡i gesla" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "ZbriÅ¡em vsa shranjena gesla?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "IzbriÅ¡e vse piÅ¡kotke. Nadaljujem?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Zapomni si podatke obrazcev" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Ponastavi na privzeto" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Vse nastavitve so nastavljene na privzeto. Nadaljujem?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Izprazni medpomnilnik?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Počistim vso zgodovino?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Zgodovina navigacije brskalnika bo počiščena" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Vedno vključeno" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Omogoči položaj" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Počisti dostop do položaja" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Ni mogoče dodati zaznamka. Doseženo je največje dovoljeno Å¡tevilo zaznamkov" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Želite izbrisati podatke za dostop do lokacije spletnega mesta?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Tiskanje" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Poiščite ali vnesite URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Samodejno" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ročno" + +msgid "IDS_BR_BODY_LOW" +msgstr "Nizko" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Srednja" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Prazna stran" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Namestitev ni uspela" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Nastavitve spletnega mesta" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Visoka" + diff --git a/po/sr.po b/po/sr.po new file mode 100755 index 00000000..d76ba585 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "ObaveÅ¡tavanje..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Obrada..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Obrada zavrÅ¡ena" + +msgid "IDS_BR_SK_RETRY" +msgstr "PokuÅ¡aj ponovo" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Menadžer preuzimanja" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Neispravan deskriptor" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Nemoguće otvoriti fajl" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Preuzmi?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Označeno" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Preuzimanje prekinuto" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Nastavi od zad. str." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Strana" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Rečnik" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "O pretraživaču" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Tip" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Izdavač" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Prikaži slike" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Preuzmi" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Unesi URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Početna strana" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Pejzaž" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Nema obeleživača" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Nema rezultata" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Opciono" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Koristi flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Pokreni JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Zajedničko ime:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organizaciona jedinica:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organizacija:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Korisnički agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Postavke" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "GreÅ¡ka pri uključivanju" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Već pokrenuto" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Nije implementirano" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Autentifikacija neuspeÅ¡na" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "PrebriÅ¡i?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Istorija" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Lista preuzimanja" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Već instalirano" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "ObaveÅ¡tavanje..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nepodržan sadržaj" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "GreÅ¡ka: Ne može se odrediti naziv računara domaćina" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Nemoguće kontaktirati proksi" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Nema SSL certifikata" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Fajl veći od ograničenja za slanje" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Unesi ime:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Naredna" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Novi folder" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Dodaj u obeleživače" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Novi prozor" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL nije dostupan" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s nije dostupan. Možda je privremeno uklonjen ili se viÅ¡e ne koristi" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Naziv foldera" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Naziv foldera već u upotrebi" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Nema naslova" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "ViÅ¡e prozora" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Nema istorija" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Dodaj u obeleživače" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Izmeni obeleživač" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Naziv foldera:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Izaberi sve" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Menadžer preuzimanja" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Dodaj RSS kanal" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Dodaj RSS kanale" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "PodeÅ¡avanja" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Unesi URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Å ifra" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Neispravna adresa" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Već postoji u listi preuzimanja" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Unesite ime foldera" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Nema strane" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Nema prethodnih strana" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Nema narednih strana" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Nema strane za ponovno učitavanje" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Potrebna je autentikacija" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Obeleživač već postoji" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Ime foldera već postoji" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Nemoguće sačuvati objekat. Nedovoljno prostora u keÅ¡ memoriji" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Izaberi stavke" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Informacije o certifikatu" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Podeli putem e-poÅ¡te" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Podeli putem poruke" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Podeli putem" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Nemoguće pokrenuti pretraživač" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Nema adrese" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Nikad viÅ¡e ne prikazuj" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Ime fajla prazno" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Kreiraj folder" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Označeno" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Podeli" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Nedavno posećene stranice" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Ekran" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Podesi prema Å¡irini" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Čitljivo" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Privatnost" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Kolačići" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Prihvati sve" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Pitaj" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Kolačići" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Prihvataj kolačiće" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Prihvataj kolačiće" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Prihvati sve" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Odbaci sve" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Automatsko memorisanje korisničkog imena/Å¡ifre" + +msgid "IDS_BR_BODY_ON" +msgstr "Uključeno" + +msgid "IDS_BR_BODY_OFF" +msgstr "Isključeno" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Podrazumevana skladiÅ¡na lokacija" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Pretraži" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Sačuvaj sliku" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Baterija prazna. Nemoguće pokrenuti pretraživač" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Nađi reč" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Dodaj na početni ekran" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Dodaj na početni ekran" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Najposećeniji sajtovi" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Podeli putem Facebook-a" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Podeli putem Twitter-a" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Promeni prikaz" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Izaberi URL adrese" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Ovaj sajt pokuÅ¡ava da otvori iskačući prozor" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blokiraj iskočne prozore" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Čitač teksta" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopiraj sliku" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Sačuvaj sliku" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Reprodukcija" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Izaberi" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Vrati se" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Idi dalje" + +msgid "IDS_BR_OPT_STOP" +msgstr "Prekini" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Ponovo učitaj" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Zalepi" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "JoÅ¡" + +msgid "IDS_BR_POP_FAIL" +msgstr "NeuspeÅ¡no" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Otvori u novom proz." + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Prikaži listu preuzimanja" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopiraj URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopiraj URL u" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Prikaži sliku" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "PodeÅ¡avanja privatnosti" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "ObriÅ¡i keÅ¡ memoriju" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "ObriÅ¡i istoriju" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Omogući dodatke" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Izaberi web pretraživač" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "ObriÅ¡i korisničko ime i lozinku" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "ObriÅ¡i sve kolačiće" + +msgid "IDS_BR_BODY_UP" +msgstr "Gore" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Veličina fonta" + +msgid "IDS_BR_POP_DELETED" +msgstr "Obrisano" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Podrazumevani prikaz" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "PodeÅ¡av. sadržaja strane" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Razlikuj veličinu slova" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Dodatak" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Lista dodataka" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokalno skladiÅ¡tenje" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "ObriÅ¡i podatke o pregledanjima" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Učitavanje..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Učitavanje..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Unesi URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Zaključavanje" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Otključaj" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Izmeni" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Strana gore" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Strana dole" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Režim za razvoj" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Prazno" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Sertifikati" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Obeleživači" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Unesi ime" + +msgid "IDS_BR_BODY_NAME" +msgstr "Ime" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Slanje putem e-poruke" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "PoÅ¡alji u poruci" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "PodeÅ¡avanja" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Korisničko ime" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Već postoji" + +msgid "IDS_BR_POP_SAVED" +msgstr "Sačuvano" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Nedovoljna memorija" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "GreÅ¡ka mreže" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Uvek pitaj" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Memorijska kartica" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Nema naloga" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Stranica sa greÅ¡kom" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Web stranica privremeno nije dostupna" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Web stranica nije dostupna" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "NeuspeÅ¡no učitavanje okvira" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Tokom učitavanja web stranice %s, doÅ¡lo je do sledeće greÅ¡ke." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Nije moguće vratiti web stranicu. (Web stranica je možda privremeno ukinuta ili premeÅ¡tena na novu URL adresu)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Najverovatniji uzrok je dat ispod" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Mrežna veza nije normalno uspostavljena" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Proveri URL adresu Web stranice" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Ponovo učitaj web stranicu kasnije" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Obeleživač" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Naslov" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Unesi naslov" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Folderi" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Dozvoli" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Odbij" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Bezbednosna greÅ¡ka: Nepouzdan certifikat servera" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d stavke/i označene/o" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 stavka izabrana" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Dodaj u Web zapis" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Prečica kreirana" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Izaberi reč" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Nađi na strani" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Nađi na strani" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Izaberi sve" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Poruka" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-mail" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Otkaži" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopir. URL veze" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Prikaži sliku" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Otvori novu stranu" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Otvori" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Selektovanje teksta uključeno" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bookmark-ovi" + +msgid "IDS_BR_SK_EDIT" +msgstr "Izmeni" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "ObriÅ¡i" + +msgid "IDS_BR_SK_DELETE" +msgstr "ObriÅ¡i" + +msgid "IDS_BR_SK_CANCEL" +msgstr "PoniÅ¡ti" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Izmeni obeleživač" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Poruke" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-mail" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Izmeni" + +msgid "IDS_BR_SK3_DELETE" +msgstr "ObriÅ¡i" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Dodaj u obeleživače" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Veličina fonta" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Velika" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Mala" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Brzina" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Adresa proksija" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Port proksija" + +msgid "IDS_BR_SK_DONE" +msgstr "Gotovo" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Verzija" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Instaliraj" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Trenutna strana" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Unesite ime foldera" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Unesi naziv obeleživača" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Ne pitaj ponovo" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL nije nađen" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s traži tvoju lokaciju" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Zapamti željenu vrednost" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Prikaži slike" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Prikazuj bezbednosna upozorenja" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Zapamti Å¡ifre" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "ObriÅ¡i Å¡ifre" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "ObriÅ¡i sve sačuvane Å¡ifre?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "ObriÅ¡i sve kolačiće. Nastavak?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Zapamti podatke obrazaca" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Resetuj na podrazumevano" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Sva podeÅ¡avanja se vraćaju na podrazumevano. Nastavak?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Brisanje keÅ¡ memorije?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "ObriÅ¡i svu istoriju" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Biće obrisana istorija poseta pretraživača" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Uvek uključeno" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Omogući lociranje" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "ObriÅ¡i pristup lokaciji" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Nemoguće dodati obeleživač. Dostignut maks. broj obeležavača" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Obrisati informacije za pristup lokaciji sajta?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Å tampaj" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Traži ili unesi URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Automatski" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Ručno" + +msgid "IDS_BR_BODY_LOW" +msgstr "Nizak" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Srednja" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Prazna strana" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Instalacija neuspeÅ¡na" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "PodeÅ¡avanja sajta" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Visok" + diff --git a/po/sv.po b/po/sv.po new file mode 100755 index 00000000..3c7e92a1 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Meddelar..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Bearbetar..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Bearbetning slutförd" + +msgid "IDS_BR_SK_RETRY" +msgstr "Försök" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Hämtningshanterare" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Ogiltig beskrivning" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Det gÃ¥r inte att öppna filen" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Hämta?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Markerade" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Nedladdning avbruten" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "FrÃ¥n sista sidan" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Sida" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Ordbok" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Om webbläsaren" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Typ" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Utfärdare" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Visa bilder" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Hämta" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Ange URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Mapp" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Startsida" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Landskapsvy" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Inga bokmärken" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Inga resultat hittades" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Valfri" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Kör Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Kör JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Allmänt namn:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Organisationsenhet:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Organisation:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "User agent" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Inställningar" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Aktiveringsfel" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Körs redan" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Inte implementerat" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Verifieringsfel" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Skriva över?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Tidigare" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Hämta lista" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Redan installerat" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Meddelar..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "InnehÃ¥llet stöds inte" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Fel: kan inte analysera värdnamn" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Kan inte fÃ¥ Ã¥tkomst till proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Inga SSL-certifikat" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Filstorleken överskrider maximal överföringsgräns" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Ange namn:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Nästa" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Ny mapp" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Lägg till bokmärke" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Nytt fönster" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL inte tillgänglig" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL:en %s är inte tillgänglig. Den fungerar kanske inte för tillfället eller sÃ¥ används den inte längre" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Mapp" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Mappnamn" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Mappnamnet används redan" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Ingen rubrik" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Flera fönster" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Inga berättelser" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Lägg till i Bokmärken" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Redigera bokmärke" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Mappnamn:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Välj alla" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Hämtningshanterare" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Lägg till RSS-feed" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Lägg till RSS-feeds" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Inställningar" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Ange URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Lösenord" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Ogiltig adress" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Finns redan i hämtningslistan" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Ange mappnamn" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Sida saknas" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Inga sidor bakÃ¥t" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Inga sidor framÃ¥t" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Ingen sida att uppdatera" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Verifiering krävs" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Bokmärket finns redan" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Mappnamnet finns redan" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Objektet kan inte sparas. Inte tillräckligt utrymme i cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Välj objekt" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Certifikatsinformation" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Dela via e-post" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Dela via meddelanden" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Dela via" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Det gÃ¥r inte att starta webbläsaren" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Ingen adress" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Visa aldrig igen" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Filnamnet tomt" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Skapa mapp" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Markerade" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Dela" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Nyligen besökta sidor" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Display" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Anpassa till bredd" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Läsbart" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Privat" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Acceptera alla" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "FrÃ¥ga" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Acceptera cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Acceptera cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Acceptera alla" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Avvisa alla" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Spara ID/lösenord automatiskt" + +msgid "IDS_BR_BODY_ON" +msgstr "PÃ¥" + +msgid "IDS_BR_BODY_OFF" +msgstr "Av" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Standardlagring" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Sök" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Spara bild" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "LÃ¥g batterinivÃ¥. Det gÃ¥r inte att köra webbläsaren" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Sök ord" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Lägg till pÃ¥ hemskärmen" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Lägg till pÃ¥ hemskärmen" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Mest besökta webbplatser" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Dela via Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Dela via Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Ändra vy" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Välj URL:er" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Sidan försöker att öppna ett popup-fönster" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Blockera popup-fönster" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Textläsare" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Kopiera bild" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Spara bild" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Spela" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Välj" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "GÃ¥ bakÃ¥t" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "GÃ¥ framÃ¥t" + +msgid "IDS_BR_OPT_STOP" +msgstr "Stopp" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Uppdatera" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Klistra in" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Mer" + +msgid "IDS_BR_POP_FAIL" +msgstr "Misslyckades" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Öppna i nytt fönster" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Visa hämtningslista" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Kopiera URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Kopiera URL till" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Visa bild" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Sekretessinställningar" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Töm cache" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Rensa historik" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Aktivera plug-in" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Välj sökmotor" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Radera sparat ID/lösenord" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Rensa all cookie-data" + +msgid "IDS_BR_BODY_UP" +msgstr "Upp" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Teckenstorlek" + +msgid "IDS_BR_POP_DELETED" +msgstr "Raderad" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Standardvy" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "SidinnehÃ¥llsinställningar" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Skiftkänsligt" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Tilläggsprogram" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Plugin-lista" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Lokalt minne" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Radera granskningsdata" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Laddar..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Laddar..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Ange URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "LÃ¥s" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "LÃ¥s upp" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Ändra" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Föreg. sida" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Nästa sida" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Utvecklarläge" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Tom" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Certifikat" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Bokmärken" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Ange namn" + +msgid "IDS_BR_BODY_NAME" +msgstr "Namn" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Skicka via e-post" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Skicka i meddelande" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Inställningar" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Användarnamn" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Finns redan" + +msgid "IDS_BR_POP_SAVED" +msgstr "Sparad" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Minnet fullt" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Nätverksfel" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "FrÃ¥ga alltid" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Minneskort" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Telefon" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Inga konton" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Felsida" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Webbsidan är för tillfället ej tillgänglig" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Webbsidan är ej tillgänglig" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Det gick inte att läsa in ramar" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "När webbsidan %s hämtades inträffade följande fel." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Det gÃ¥r inte att hämta webbsidan. (Det gÃ¥r kanske inte att nÃ¥ webbsidan för tillfället eller sÃ¥ har URL:en ändrats)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Se nedan för den troligaste orsaken" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Nätverksanslutningen upprättades inte korrekt" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Kontrollera URL:en för webbsidan" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Läs in webbsidan senare" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Bokmärke" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Rubrik" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Ange rubrik" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Mappar" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "TillÃ¥t" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Neka" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Säkerhetsfel: Servercertifikatet är inte pÃ¥litligt" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d objekt valda" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 valt objekt" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Lägg till till webbklipp" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Genväg skapades" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Välj ord" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Sök pÃ¥ sidan" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Sök pÃ¥ sidan" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Lista" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Välj alla" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Meddelande" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-post" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Avbryt" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Kopiera URL-länk" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Visa bild" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Öppna pÃ¥ ny sida" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Öppna" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Textmarkering pÃ¥" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Bokmärken" + +msgid "IDS_BR_SK_EDIT" +msgstr "Redigera" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Radera" + +msgid "IDS_BR_SK_DELETE" +msgstr "Radera" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Avbryt" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Redigera bokmärke" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Meddelanden" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-post" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Redigera" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Radera" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Lägg till i Bokmärken" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Teckenstorlek" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Stor" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Liten" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Hastighet" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy-adress" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxyport" + +msgid "IDS_BR_SK_DONE" +msgstr "Klar" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Version" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Installera" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Denna sida" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Ange mappnamn" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Ange bokmärkesnamn" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "FrÃ¥ga inte igen" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL hittades inte" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s begär uppgifter om din plats" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Kom ihÃ¥g preferens" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Visa bilder" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Visa säkerhetsvarningar" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Kom ihÃ¥g lösenord" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Rensa lösenord" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Radera alla sparade lösenord?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Radera alla cookies. Fortsätta?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Kom ihÃ¥g data" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Återställ till standard" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Alla inställningar till standardinställningar. Fortsätta?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Tömma cache?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Vill du radera all historik?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Webbläsarens navigeringshistorik kommer att rensas" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Alltid pÃ¥" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Aktivera plats" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Rensa platsÃ¥tkomst" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Kan inte lägga till bokmärke. Maximala antalet bokmärken uppnÃ¥tt" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Ta bort Ã¥tkomstinformation för webbplatsen?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Skriv ut" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Sök eller ange URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Auto" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuellt" + +msgid "IDS_BR_BODY_LOW" +msgstr "LÃ¥g" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Medel" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Tom sida" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Installationen misslyckades" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Webbplatsinställningar" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Hög" + diff --git a/po/th.po b/po/th.po new file mode 100755 index 00000000..56653090 --- /dev/null +++ b/po/th.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "กำลัง​แจ้ง​ข้อมูล..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "ดำเนิน​การ..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "ดำเนิน​การ​เสร็จ​สมบูรณ์" + +msgid "IDS_BR_SK_RETRY" +msgstr "ลอง​ใหม่" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "การจัดการการ​ดาวน์​โหลด" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "ตัว​อธิบาย​ไม่​ถูก​ต้อง" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "เปิด​ไฟล์​ไม่​ได้​เข้า​กัน​ไม่​ได้" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "ดาวน์​โหลด?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "ที่​เลือก" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "ยก​เลิก​ดาวน์​โหลด" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "ต่อจากหน้าสุดท้าย" + +msgid "IDS_BR_BODY_PAGE" +msgstr "หน้า" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "พจนานุกรม" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "เกี่ยว​กับ​บ​ราว​เซอร์" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "ชนิด" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "ผู้​จำหน่าย" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "แสดง​รูป​ภาพ" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "ดาวน์​โหลด" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "ใส่ URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "แฟ้ม" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "โฮ​มเพ​จ" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "แสดง​ใน​แนว​นอน" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "ไม่​มี​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "ไม่​พบ​ผลลัพธ์" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "เลือก​ได้" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "ใช้​โปรแกรม​แฟลช" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "รัน JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "ชื่อ​ทั่ว​ไป:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "หน่วย​ของ​หน่วย​งาน:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "หน่วย​งาน:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "เอ​เจนต์​ผู้​ใช้" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "รายการ​ที่​เตรียม​ไว้" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "การ​ใช้​งาน​ผิด​พลาด" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "กำลัง​ทำ​งานอยู่..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "ไม่​ได้​ผล" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "การ​รับรอง​ผิด​พลาด" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "เขียน​ทับ?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "ประวัติ" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "ดาวน์​โหลด​รายการ" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "ติด​ตั้ง​แล้ว" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "กำลัง​แจ้ง​ข้อมูล..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "ไม่​รอง​รับ\n​คอน​เทนท์" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "ข้อ​ผิด​พลาด: ​ไม่​สามารถ​ระ​บุ​ชื่อ​โฮสต์" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "ไม่​สามารถ​เข้า​ถึง​พ​ร็อก​ซี" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "ไม่​มี​ใบ​รับรอง SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "ขนาด​ของ​ไฟล์​มี​ค่า​เกิน​ค่า​สูง​สูด​ของ​ข้อ​จำกัด​ใน​การอัพ​โหลด" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "ใส่​ชื่อ:" + +msgid "IDS_BR_SK_NEXT" +msgstr "ถัด​ไป" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "แฟ้ม​ใหม่" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "เพิ่ม​ใน​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "หน้าต่าง​ใหม่" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL ​ใช้​ไม่​ได้" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL %s ​ใช้​ไม่​ได้ ระบบ​ขัด​ข้อง​ชั่ว​คราว​หรือ​ใช้​ไม่​ได้​อีก​ต่อ​ไป" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "แฟ้ม" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "ชื่อ​แฟ้ม" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "ชื่อ​แฟ้ม\n​ใช้​แล้ว" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "ไม่​มี​ชื่อ" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "หลายหน้าต่าง" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "ไม่​มี​ประวัติ" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "เพิ่ม​ใน​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "แก้​ไข​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "ชื่อ​โฟลเดอร์:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "เลือก​ทั้ง​หมด" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "การจัดการการ​ดาวน์​โหลด" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "เพิ่ม​ RSS feed" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "เพิ่ม ​RSS feeds" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "การตั้งค่า" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "ใส่ URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "รหัสผ่าน" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "ที่​อยู่​ไม่​ถูก​ต้อง" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "มี​อยู่​แล้ว​ใน​รายการ​ดาวน์​โหลด" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "ใส่​ชื่อ​แฟ้ม" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "ไม่​มี​หน้า" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "ไม่​มี​หน้า​ย้อน​กลับ" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "ไม่​มี​เพ​จ​ต่อไป" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "ไม่​มี​หน้าที่​จะ​โหลด​ใหม่" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "ต้อง​การ​การ​รับรอง" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "มี​บุ๊ค​มา​ร์​คอ​ยู่​แล้ว" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "ชื่อ​แฟ้มมี​อยู่​แล้ว" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "ไม่​สามารถ​บันทึก​วัตถุ พื้นที่​ว่าง​ใน​แค​ช​ไม่​เพียง​พอ" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "เลือก​รายการ" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "ข้อมูล​ใบ​รับรอง​การ​ใช้​งาน" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "แชร์​ผ่าน​อี​เมล์" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "แชร์​ผ่าน​ข้อ​ความ" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "แชร์​ผ่าน" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "ไม่​สา​มา​รถ​เริ่ม​บ​ราว​เซอร์" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "ไม่​มี​ที่​อยู่" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "ไม่​แสดง​อีก​ต่อ​ไป" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "ชื่อ​ไฟล์​ว่าง" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "สร้างแฟ้ม" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "ที่​เลือก" + +msgid "IDS_BR_OPT_SHARE" +msgstr "แชร์" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "หน้าที่​เพิ่ง​เข้า​ชม" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "จอภาพ" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "พอ​ดี​กับ​ความ​กว้าง" + +msgid "IDS_BR_BODY_READABLE" +msgstr "อ่าน​ได้" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "รายการ​ส่วน​ตัว" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "คุกกี้" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "ยอม​รับ​ทั้ง​หมด" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "เตือน​ก่อน" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "คุกกี้" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "ยอม​รับ​คุกกี้" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "ยอม​รับ​คุกกี้" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "ยอม​รับ​ทั้ง​หมด" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "ปฏิเสธ​ทั้ง​หมด" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "บันทึก ID/​รหัส​ผ่าน​อัตโนมัติ" + +msgid "IDS_BR_BODY_ON" +msgstr "เปิด" + +msgid "IDS_BR_BODY_OFF" +msgstr "ปิด" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "ที่​เก็บ​พื้น​ฐาน" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "ค้น​หา" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "บันทึก​รูป​ภาพ" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "แบตเตอรี่​อ่อน ไม่​สา​มา​รถ​เปิด​บ​ราว​เซอร์" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "ค้นหาคำ" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "เพิ่มในห​น้า​จอ​หน้า​หลัก" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "เพิ่มในห​น้า​จอ​หลัก" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "ไซต์​ที่​เข้า​ชม​บ่อย​ที่​สุด" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "แชร์​ผ่าน Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "แชร์​ผ่าน Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "เปลี่ยน​มุม​มอง" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "เลือก URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "ไซต์​นี้​กำลัง​พยายาม​เปิด​หน้า​จอ​ป๊อป​อัพ" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "บล็อก​หน้า​จอ​ป็อปอัพ" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "ตัว​อ่าน​ข้อ​ความ" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "คัด​ลอก​ภาพ" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "บันทึก​รูป​ภาพ" + +msgid "IDS_BR_BODY_PLAY" +msgstr "แสดง" + +msgid "IDS_BR_OPT_SELECT" +msgstr "เลือก" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "ย้อน​กลับ" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "ไป​ข้าง​หน้า" + +msgid "IDS_BR_OPT_STOP" +msgstr "หยุด" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "โหลด​ใหม่" + +msgid "IDS_BR_OPT_PASTE" +msgstr "วาง" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "เพิ่ม​เติม" + +msgid "IDS_BR_POP_FAIL" +msgstr "ผิด​พลาด" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "เปิด​ใน​หน้าต่าง​ใหม่" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "ดู​รายการ​ดาวน์​โหลด" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "คัด​ลอก URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "คัด​ลอก URL ​ไป​ยัง" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "ดู​รูป​ภาพ" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "การ​ตั้ง​ค่า​ความ​เป็น​ส่วน​ตัว" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "ลบแค​ช" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "ลบ​ประวัติ" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "เปิด​ใช้​ปลั๊ก​อิน" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "เลือก​เครื่อง​มือ​ค้น​หา" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "ลบ ID/​รหัส​ผ่าน​ที่​บันทึก" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "ลบ​คุกกี้​ทั้ง​หมด" + +msgid "IDS_BR_BODY_UP" +msgstr "บน" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "ขนาด​อักษร" + +msgid "IDS_BR_POP_DELETED" +msgstr "ลบ​แล้ว" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "แสดง​พื้น​ฐาน" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "การ​ตั้ง​ค่า​คอน​เทนท์​ของ​หน้า" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "ใช้​ตัว​พิมพ์​ให้​ถูก​ต้อง" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "ปลั๊ก​อิน" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "รายการ​ปลั๊ก​อิน" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "พื้นที่​จัด​เก็บ​โทรศัพท์" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "ลบ​ข้อมูล​การ​เรียก​ดู" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "โหลด..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "โหลด..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "ใส่ URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "ล็อก" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "ปลด​ล็อก" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "แก้ไข" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "หน้า​ขึ้น" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "หน้า​ลง" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "โหมด​ผู้​พัฒนา" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "ว่าง" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "ใบ​รับรอง" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "ใส่​ชื่อ" + +msgid "IDS_BR_BODY_NAME" +msgstr "ชื่อ" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "ส่ง​ผ่าน​อี​เมล์" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "ส่ง​ผ่าน​ข้อ​ความ" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "การตั้งค่า" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "ชื่อ​ผู้​ใช้" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "มี​อยู่​แล้ว" + +msgid "IDS_BR_POP_SAVED" +msgstr "บันทึก\nเรียบร้อย" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "หน่ยวยความจำไม่​พอ" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "เครือข่ายผิดพลาด" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "ถาม​ทุก​ครั้ง" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "การ์ด​\nความ​จำ" + +msgid "IDS_BR_BODY_PHONE" +msgstr "โทรศัพท์" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "ไม่​มี​บัญชี​ผู้​ใช้" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "เพ​จ​ผิด​พลาด" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "เว็บ​เพ​จ​ใช้​ไม่​ได้​ชั่ว​คราว" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "เว็บ​เพ​จ​ใช้​ไม่​ได้" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "โหลด​เฟรม​ไม่​ได้" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "ใน​ขณะ​เรียก​เว็บ​เพ​จ​ %s ​เกิด​ข้อ​ผิด​พลาด​ต่อ​ไป​นี้" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "ไม่​สา​มา​รถ​เรียก​เว็บ​เพ​จ​ได้ (​เว็บ​เพ​จ​อาจ​ขัด​ข้อง​ชั่ว​คราว​หรือ​ย้าย​ไป​ยัง URL ​ใหม่)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "สาเหตุ​ใกล้​เคียง​มาก​ที่​สุด​แสดงอยู่​ด้าน​ล่าง" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "ไม่​สามารถ​เชื่อม​ต่อ​เครือ​ข่าย​ได้​ตาม​ปกติ" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "ตรวจ​สอบ URL ​เว็บ​เพ​จ" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "โหลด​เว็บ​เพ​จ​ใหม่​ภาย​หลัง" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_BODY_TITLE" +msgstr "ชื่อ" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "ใส่​เรื่อง" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "แฟ้ม​" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "อนุญาต" + +msgid "IDS_BR_POP_REFUSE" +msgstr "ปฏิเสธ" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "ข้อ​ผิด​พลาด​ของ​ระบบ​ป้องกัน: ​ใบ​รับ​รอง​เซิร์ฟเวอร์​ไม่​น่า​เชื่อ​ถือ" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "เลือก %d ​รายการแล้ว" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "เลือก 1 ​รายการ" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "เพิ่ม​ใน​เว็บคลิ​ป" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "ปุ่ม​ทาง​ลัด​ที่​สร้าง​ไว้" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "เลือก​คำ​ศัพท์" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "ค้น​หา​ใน​เพ​จ" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "ค้น​หา​ใน​เพ​จ" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "อินเตอร์​เน็ต" + +msgid "IDS_BR_OPT_LIST" +msgstr "รายการ" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "เลือก​ทั้ง​หมด" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "ข้อ​ความ" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "อี​เมล์" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "ยก​เลิก" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "คัด​ลอก​ลิงค์ URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "ดู​รูป​ภาพ" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "เปิด​ใน​หน้า​ใหม่" + +msgid "IDS_BR_OPT_OPEN" +msgstr "เปิด​" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "เปิด​การ​เลือก​ข้อ​ความ" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_SK_EDIT" +msgstr "แก้ไข" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "ลบ" + +msgid "IDS_BR_SK_DELETE" +msgstr "ลบ" + +msgid "IDS_BR_SK_CANCEL" +msgstr "ยก​เลิก" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "แก้​ไข​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "ข้อ​ความ" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "อี​เมล์" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "แก้ไข" + +msgid "IDS_BR_SK3_DELETE" +msgstr "ลบ" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "เพิ่ม​ใน​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "ขนาด​อักษร" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "ใหญ่" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "เล็ก" + +msgid "IDS_BR_BODY_SPEED" +msgstr "ความ​เร็ว" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy ​แอด​เด​รส" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "พอร์ตพ​ร็อก​ซี" + +msgid "IDS_BR_SK_DONE" +msgstr "เรียบร้อย" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "เวอร์ชั่น" + +msgid "IDS_BR_SK_INSTALL" +msgstr "ติด​ตั้ง" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "หน้าปัจจุบัน" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "ใส่​ชื่อ​แฟ้ม" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "ป้อน​ชื่อ​บุ๊ค​มา​ร์ค" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "ไม่​ต้อง​ถาม​อีก" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "ไม่​พบ URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s ร้องขอตำแหน่งของคุณ" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "จดจำค่าที่เตรียมไว้" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "แสดง​รูป​ภาพ" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "แสดง​คำ​เตือน​เกี่ยว​กับ​ระบบ​ป้องกัน" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "จำรหัสผ่าน" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "ลบรหัสผ่าน" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "ลบรหัสผ่านที่บันทึกไว้ทั้งหมด?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "ลบ​คุกกี้​ทั้ง​หมด ทำ​ต่อ?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "จำ​ข้อมูล​ฟอร์ม" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "รี​เซ็ท​เป็น​ค่า​พื้น​ฐาน" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "การ​ตั้ง​ค่า​ทั้ง​หมด​เป็น​ค่า​พื้น​ฐาน ทำ​ต่อ?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "ลบแค​ช?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "ลบ​ประวัติ​ทั้ง​หมด?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "ประ​วัติ​เน​วิ​เก​ชั่น​ขอ​งบ​ราว​เซอร์​จะ​ถูก​ล้าง" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "เปิด​ตลอด​" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "เปิด​ใช้​งาน​ตำแหน่ง" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "ลบการ​เข้า​ถึง​ตำแหน่ง" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "ไม่​สามารถ​เพิ่ม​บุ๊ค​มาร์​ค​ มี​จำนวน​บุ๊ค​มาร์​ค​สูง​สุด​แล้ว" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "ลบ​ข้อมูล​การ​เข้า​ถึง​ตำแหน่ง​ของ​เว็บ​ไซ​ต์?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "พิมพ์" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "ค้น​หา​หรือ​ใส่ URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "อัตโนมัติ" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "เลือก​เอง" + +msgid "IDS_BR_BODY_LOW" +msgstr "ต่ำ" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "กลาง" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "หน้า​ว่าง" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "การ​ติด​ตั้ง​ไม่​สำเร็จ" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "การ​ตั้ง​ค่า​เว็บ​ไซ​ต์" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "สูง" + diff --git a/po/tk.po b/po/tk.po new file mode 100755 index 00000000..6626d783 --- /dev/null +++ b/po/tk.po @@ -0,0 +1,18 @@ +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Yer imleri" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "İndir" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_HEADER_ADD_TO_BOOKMARKS" +msgstr "Yer imlerine ekle" + +msgid "IDS_BR_OPT_CANCEL" +msgstr "İptal" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Histórico" + diff --git a/po/tr_TR.po b/po/tr_TR.po index 892eb885..b4198051 100755 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "Yükleme başarısız" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "Bildiriliyor..." @@ -619,3 +616,216 @@ msgstr "%d öğe seçildi" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "1 öğe seçildi" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Web klibine ekle" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Kısayol oluşturuldu" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Kelime seç" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Sayfada bul" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Sayfada bul" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "İnternet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Listele" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Hepsini seç" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Mesaj" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "E-posta" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "İptal" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "URL'yi kopyala" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Resmi görüntüle" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Yeni sayfada aç" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Aç" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Metin seçimi açık" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Yer imleri" + +msgid "IDS_BR_SK_EDIT" +msgstr "Düzenle" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Sil" + +msgid "IDS_BR_SK_DELETE" +msgstr "Sil" + +msgid "IDS_BR_SK_CANCEL" +msgstr "İptal" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Yer imini düzelt" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Mesajlar" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "E-posta" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Düzenle" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Sil" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Yer imlerine ekle" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Yazı tipi boyutu" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Büyük" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Küçük" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Hız" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Proxy adresi" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Proxy portu" + +msgid "IDS_BR_SK_DONE" +msgstr "Kaydet" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Sürüm" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Yükle" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Geçerli sayfa" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Klasör adını girin" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Yer imi adı girin" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Tekrar sorma" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL bulunamadı" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s konumunuzu istiyor" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Tercihi hatırla" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Resimleri göster" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Güvenlik uyarılarını göster" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Şifreleri hatırlayın" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Şifreleri sil" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Tüm kayıtlı şifreler silinsin mi?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Tüm çerezleri sil. Devam edilsin mi?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Veriden hatırla" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Varsayılan olarak sıfırla" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Tüm ayarları varsayılana dönüştür. Devam edilsin mi?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Önbellek temizlensin mi?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Tüm geçmişi temizle?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "İnternet dolaşma geçmişi silinecek" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Her zaman açık" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Konumu etkinleştir" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Konum erişimini sil" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Yer imi eklenemedi. Maksimum URL sayısına erişildi" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Web sitesi yeri erişim bilgileri silinsin mi?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Yazdır" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Ara veya URL gir" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Otomatik" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Manuel" + +msgid "IDS_BR_BODY_LOW" +msgstr "Düşük" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Orta" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Boş sayfa" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Yükleme başarısız" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Websitesi ayarları" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Yüksek" + diff --git a/po/uk.po b/po/uk.po new file mode 100755 index 00000000..241a8bc6 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Сповіщення..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Обробка..." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Обробку завершено" + +msgid "IDS_BR_SK_RETRY" +msgstr "Повтор." + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Диспетчер завантажень" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Хибний JAD" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Неможливо відкрити файл" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Завантажити?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Вибране" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Завантаження скасовано" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Продовж. з ост. стор." + +msgid "IDS_BR_BODY_PAGE" +msgstr "Сторінка" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Словник" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Про браузер" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Тип" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Видано" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Показати зображення" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Завантажити" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Введіть URL" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Папка" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Домашня сторінка" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Альбомна" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Немає закладок" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Результатів не знайдено" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Додатково" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Запустити Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Запуск JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Загальне ім’я:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Підрозділ організації:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Організація:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Агент користувача" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Додаткові установки" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Помилка активації" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Вже виконується" + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Не реалізовано" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Збій аутентифікації" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Перезаписати?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Історія" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Список завантажень" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Вже установлено" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Сповіщення..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Вміст не підтримується" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Помилка: неможливо визначити назву хосту" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Неможливо з'єднатися із проксі-сервером" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Немає SSL сертифіката" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Розмір файла перевищує максимально допустимий розмір для завантаження" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Ввести ім’я:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Далі" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Ручний" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Додати до закладок" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Нове вікно" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "URL-адреса недоступна" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "URL-адреса %s недоступна. Вона може бути тимчасово недоступна або більше не використовуватися" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Папка" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Ім'я папки" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Ім’я папки вже використовується" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Немає назви" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Декілька вікон" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Немає історій" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Додати до закладок" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Редагувати закладку" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Ім’я папки:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Вибрати всі" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Диспетчер завантажень" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Додати RSS-канал" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Додати RSS-канали" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Установки" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Введіть URL" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Пароль" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Хибна адреса" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Вже існує у списку завантажень" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Ввести ім’я папки" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Немає сторінки" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Немає попередніх сторінок" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Немає наступної сторінки" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Немає сторінки для перезавантаження" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Потрібна аутентифікація" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Закладка вже існує" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Ім’я папки вже існує" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Не вдалося зберегти об’єкт. Недостатньо місця у кеші" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Виберіть об’єкти" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Інформація про сертифікат" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Спільний доступ через Email" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Спільний доступ через повідомлення" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Відкрити доступ через" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Неможливо запустити браузер" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Без адреси" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Більше ніколи не показувати" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Ім’я файла відсутнє" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Створити папку" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Вибране" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Надіслати" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Нещодавно відвідані сторінки" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Дисплей" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "За шириною" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Чітко" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Конфіденційність" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Файли cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Приймати всі" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Підказка" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Файли cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Приймати файли cookies" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Приймати файли cookies" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Приймати всі" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Відхилити всі" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Автозбереження імені користувача/пароля" + +msgid "IDS_BR_BODY_ON" +msgstr "Увімкнено" + +msgid "IDS_BR_BODY_OFF" +msgstr "Вимкнено" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Стандартне місце збереження" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Пошук" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Зберегти зображення" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Батарея розряджена. Неможливо запустити браузер" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Пошук слова" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Додавання на екран оформлення" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Додати на екран оформлення" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Найбільш відвідувані сайти" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Спільний доступ через Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Спільний доступ через Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Змінити перегляд" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Виберіть URL-адреси" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Цей сайт намагається відкрити спливаюче вікно" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Блокувати спливаючі вікна" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Пристрій для читання тексту" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Копіювати зображення" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Зберегти зображення" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Відтворити" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Вибрати" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Перейти назад" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Перейти вперед" + +msgid "IDS_BR_OPT_STOP" +msgstr "Стоп" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Перезавантажити" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Вставити" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "Додатково" + +msgid "IDS_BR_POP_FAIL" +msgstr "Збій" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Відк. в новому вікні" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Переглянути список завантажень" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Копіювати URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Копіювати URL до" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Перегл. зображ." + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Установки конфіденційності" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Очистити кеш" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Очистити журнал" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Увімкнути підключаємі програми" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Вибір системи веб-пошуку" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Видалити збережений ID/пароль" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Очистити всі дані файлів cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Вгору" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Розмір шрифту" + +msgid "IDS_BR_POP_DELETED" +msgstr "Видалено" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Стандартний режим перегляду" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Установки вмісту сторінки" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "З урахуванням регістру" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Plug-in" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Список модулів" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Локальне місце збереження" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Видалити дані браузера" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Завантаження..." + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Завантаження..." + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Введіть URL" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Блокування" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Розблокувати" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Змінити" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Вгору" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Вниз" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Режим розробки" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Пусто" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Сертифікати" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Закладки" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Введіть назву" + +msgid "IDS_BR_BODY_NAME" +msgstr "Назва" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Надіслати в Email" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Надіслати повідомленням" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Установки" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Ім'я користувача" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Вже існує" + +msgid "IDS_BR_POP_SAVED" +msgstr "Збережено" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Недостатньо пам'яті" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Помилка мережі" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Завжди запитувати" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Карта пам’яті" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Телефон" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Немає облікових записів" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Сторінка з помилкою" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Веб-сторінка тимчасово недоступна" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Веб-сторінка недоступна" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Не вдалося завантажити рамки" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Під час завантаження веб-сторінки %s сталася така помилка." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Неможливо завантажити веб-сторінку. (Веб-сторінка може тимчасово не працювати або її було переміщено на іншу URL-адресу)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Наймовірнішу причину наведено нижче" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Не вдалося встановити стандартне підключення до мережі" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Перевірте URL-адресу веб-сторінки" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Перезавантажте веб-сторінку пізніше" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Закладка" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Назва" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Введіть заголовок" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Папки" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Дозволити" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Відмова" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Помилка безпеки: ненадійний сертифікат сервера" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "Вибрано %d об’єктів" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "Вибрано 1 об’єкт" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Додати до веб-посилання" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Створено клавішу швидкого доступу" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Виберіть слово" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Знайти на стор." + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Знайти на стор." + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Браузер" + +msgid "IDS_BR_OPT_LIST" +msgstr "Список" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Вибрати всі" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Повідомлення" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Скасувати" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Скопіювати URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Перегл. зображ." + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Відкр.на нов.стор." + +msgid "IDS_BR_OPT_OPEN" +msgstr "Відкрити" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Увімкнути вибір тексту" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Закладки" + +msgid "IDS_BR_SK_EDIT" +msgstr "Редагув." + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Вида-\nлити" + +msgid "IDS_BR_SK_DELETE" +msgstr "Видалити" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Скасувати" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Редагувати закладку" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Повідомлення" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Редагувати" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Видал." + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Додати до закладок" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Розмір шрифту" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Великий" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Малий" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Швидкість" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Адреса проксі" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Порт проксі" + +msgid "IDS_BR_SK_DONE" +msgstr "Готово" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Версія" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Встанов." + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Поточна сторінка" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Ввести ім’я папки" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Введіть ім’я закладки" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Надалі не запитувати" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "URL не знайдено" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s запитує ваше розташування" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Запам’ятати параметр" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Показати зображення" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Показувати попередження системи безпеки" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Запам’ятати паролі" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Очистити паролі" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Видалити всі збережені паролі?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Буде видалено всі файли cookie. Продовжити?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Запам’ятати дані форми" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Скинути на стандартні" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Буде відновлено стандартні установки. Продовжити?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Очистити кеш?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Очистити весь журнал?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Історію навігації браузера буде очищено" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Завжди увімк." + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Увімкнути розташування" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Очистити доступ до розташування" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Неможливо додати закладку. Досягнуто максимальної кількості закладок" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Видалити відомості про доступ до розташування веб-сайту?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "Друк" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Знайдіть або введіть URL-адресу" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Авто" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Вручну" + +msgid "IDS_BR_BODY_LOW" +msgstr "Низька" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Cередня" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Пуста сторінка" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Збій інсталяції" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Установки веб-сайта" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Високий" + diff --git a/po/vi.po b/po/vi.po new file mode 100755 index 00000000..ac5d9b0a --- /dev/null +++ b/po/vi.po @@ -0,0 +1,831 @@ +msgid "IDS_BR_BODY_NOTIFYING_ING" +msgstr "Đang báo tin..." + +msgid "IDS_BR_BODY_PROCESSING_ING" +msgstr "Đang xá»­ lý.." + +msgid "IDS_BR_BODY_PROCESSING_COMPLETED" +msgstr "Việc xá»­ lý đã hoàn tất" + +msgid "IDS_BR_SK_RETRY" +msgstr "Thá»­ lại" + +msgid "IDS_BR_HEADER_DOWNLOAD_MANAGER" +msgstr "Quản lý tải về" + +msgid "IDS_BR_POP_INVALIDDESCRIPTOR" +msgstr "Miêu tả không hợp lệ" + +msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE" +msgstr "Không thể mở file" + +msgid "IDS_BR_POP_DOWNLOAD_Q" +msgstr "Tải xuống?" + +msgid "IDS_BR_OPT_DELETE_SELECTED" +msgstr "Đã chọn" + +msgid "IDS_BR_POP_DOWNLOAD_CANCELLED" +msgstr "Hủy bỏ tải" + +msgid "IDS_BR_BODY_CONTINUE_FROM_LAST_PAGE" +msgstr "Tiếp tục từ trang cuối" + +msgid "IDS_BR_BODY_PAGE" +msgstr "Trang" + +msgid "IDS_BR_OPT_DICTIONARY" +msgstr "Từ điển" + +msgid "IDS_BR_BODY_ABOUT_BROWSER" +msgstr "Thông tin" + +msgid "IDS_BR_BODY_BROWSER_TYPE" +msgstr "Loại" + +msgid "IDS_BR_BODY_CERTIFICATE_ISSUER" +msgstr "Nhà phát hành" + +msgid "IDS_BR_BODY_DISPLAY_IMAGES" +msgstr "Hiển thị hình ảnh" + +msgid "IDS_BR_BODY_DOWNLOAD" +msgstr "Tải xuống" + +msgid "IDS_BR_BODY_ENTER_URL" +msgstr "Nhập địa chỉ Web" + +msgid "IDS_BR_BODY_FOLDER" +msgstr "Thư mục" + +msgid "IDS_BR_BODY_HOMEPAGE" +msgstr "Trang chá»§" + +msgid "IDS_BR_BODY_LANDSCAPE_VIEW" +msgstr "Xem dạng ngang" + +msgid "IDS_BR_BODY_NO_BOOKMARKS" +msgstr "Không có trang hay dùng" + +msgid "IDS_BR_BODY_NO_RESULTS_FOUND" +msgstr "Không tìm thấy kết quả nào" + +msgid "IDS_BR_BODY_OPTIONAL" +msgstr "Tùy ý" + +msgid "IDS_BR_BODY_RSS" +msgstr "RSS" + +msgid "IDS_BR_BODY_RUN_FLASH" +msgstr "Chạy Flash" + +msgid "IDS_BR_BODY_RUN_JAVASCRIPT" +msgstr "Chạy JavaScript" + +msgid "IDS_BR_HEADER_COMMON_NAME_C" +msgstr "Tên chung:" + +msgid "IDS_BR_HEADER_ORGANIZATIONAL_UNIT_C" +msgstr "Đơn vị tổ chức:" + +msgid "IDS_BR_HEADER_ORGANIZATION_C" +msgstr "Tổ chức:" + +msgid "IDS_BR_HEADER_USER_AGENT" +msgstr "Tác nhân người dùng" + +msgid "IDS_BR_OPT_LAST_VIEWED_PAGE_ATNT" +msgstr "Last Viewed Page" + +msgid "IDS_BR_OPT_PREFERENCES" +msgstr "Ưu tiên" + +msgid "IDS_BR_POP_ACTICATION_ERR" +msgstr "Lỗi khi bật" + +msgid "IDS_BR_POP_ALREADY_RUNNING" +msgstr "Đang chạy..." + +msgid "IDS_BR_POP_ERRORIMPLEMENTED" +msgstr "Không thá»±c hiện" + +msgid "IDS_BR_POP_HTTPERRAUTHFAILED" +msgstr "Lỗi xác thá»±c" + +msgid "IDS_BR_POP_OVERWRITE_Q" +msgstr "Viết đè?" + +msgid "IDS_BR_POP_URL" +msgstr "URL" + +msgid "IDS_BR_TAB_HISTORY" +msgstr "Lịch sá»­" + +msgid "IDS_BR_HEADER_DOWNLOAD_LIST" +msgstr "Danh sách tải xuống" + +msgid "IDS_BR_POP_ALREADYINSTALLED" +msgstr "Đã cài rồi" + +msgid "IDS_BR_POP_NOTIFYING" +msgstr "Đang báo tin..." + +msgid "IDS_BR_POP_NOTSUPPORT" +msgstr "Nội dung không hỗ trợ" + +msgid "IDS_BR_POP_ERROR_C_UNABLE_TO_RESOLVE_HOST_NAME" +msgstr "Lỗi: không thể giải quyết tên máy chá»§" + +msgid "IDS_BR_POP_UNABLE_TO_REACH_PROXY" +msgstr "Không thể kết nối proxy" + +msgid "IDS_BR_POP_NOSSLCERTI" +msgstr "Không có chứng nhận SSL" + +msgid "IDS_BR_BODY_FILE_SIZE_EXCEEDS_MAXIMUM_UPLOAD_LIMIT" +msgstr "Quá kích thước file tối đa" + +msgid "IDS_BR_BODY_ENTER_NAME_C" +msgstr "Nhập tên:" + +msgid "IDS_BR_SK_NEXT" +msgstr "Tiếp" + +msgid "IDS_BR_OPT_NEW_FOLDER" +msgstr "Thư mục mới" + +msgid "IDS_BR_SK3_ADD_TO_BOOKMARKS" +msgstr "Thêm vào Đánhdấu" + +msgid "IDS_BR_SK1_NEW_WINDOW" +msgstr "Cá»­a sổ mới" + +msgid "IDS_BR_BODY_URL" +msgstr "URL" + +msgid "IDS_BR_BODY_URL_C" +msgstr "URL:" + +msgid "IDS_BR_BODY_URL_NOT_AVAILABLE" +msgstr "Không có URL" + +msgid "IDS_BR_BODY_URL_PS_NOT_AVAILABLE_IT_MIGHT_BE_DOWN_TEMPORARILY_OR_NO_LONGER_IN_USE" +msgstr "Không có URL %s. Có thể nó bị ngừng tạm thời hoặc không còn sá»­ dụng nữa" + +msgid "IDS_BR_HEADER_FOLDER" +msgstr "Thư mục" + +msgid "IDS_BR_BODY_FOLDER_NAME" +msgstr "Tên thư mục" + +msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE" +msgstr "Tên thư mục đã dùng" + +msgid "IDS_BR_BODY_NO_TITLE" +msgstr "Không có tiêu đề" + +msgid "IDS_BR_HEADER_MULTI_WINDOW" +msgstr "Nhiều cá»­a sổ" + +msgid "IDS_BR_BODY_NO_HISTORIES" +msgstr "Không có lịch sá»­" + +msgid "IDS_BR_BODY_ADD_TO_BOOKMARKS" +msgstr "Thêm trang hay dùng" + +msgid "IDS_BR_BODY_EDIT_BOOKMARK" +msgstr "Sá»­a trang hay dùng" + +msgid "IDS_BR_BODY_FOLDER_NAME_C" +msgstr "Tên thư mục:" + +msgid "IDS_BR_OPT_SELECT_ALL" +msgstr "Chọn tất cả" + +msgid "IDS_BR_OPT_DOWNLOAD_MANAGER" +msgstr "Quản lý tải về" + +msgid "IDS_BR_OPT_ADD_RSS_FEED" +msgstr "Thêm địa chỉ RSS" + +msgid "IDS_BR_OPT_ADD_RSS_FEEDS" +msgstr "Thêm RSS feed" + +msgid "IDS_BR_OPT_SETTINGS" +msgstr "Cài đặt" + +msgid "IDS_BR_POP_ENTER_URL" +msgstr "Nhập địa chỉ Web" + +msgid "IDS_BR_BODY_AUTHPASSWORD" +msgstr "Mật mã" + +msgid "IDS_BR_POP_INVALIDADDRESS" +msgstr "Địa chỉ không hợp lệ" + +msgid "IDS_BR_POP_ALREADY_EXISTS_IN_DOWNLOAD_LIST" +msgstr "Đã có trong Danh sách tải về" + +msgid "IDS_BR_POP_ENTER_FOLDER_NAME" +msgstr "Nhập tên thư mục" + +msgid "IDS_BR_POP_NO_PAGE" +msgstr "Không có trang" + +msgid "IDS_BR_POP_NO_PAGES_BACKWARD" +msgstr "Không có trang trước" + +msgid "IDS_BR_POP_NO_PAGES_FORWARD" +msgstr "Không có trang sau" + +msgid "IDS_BR_POP_NO_PAGE_TO_RELOAD" +msgstr "Không có trang để nạp lại" + +msgid "IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED" +msgstr "Yêu cầu xác thá»±c" + +msgid "IDS_BR_POP_BOOKMARK_ALREADY_EXISTS" +msgstr "Đã tồn tại" + +msgid "IDS_BR_POP_FOLDER_NAME_ALREADY_EXISTS" +msgstr "Tên thư mục đã có" + +msgid "IDS_BR_POP_UNABLE_TO_SAVE_OBJECT_NOT_ENOUGH_SPACE_IN_CACHE" +msgstr "Không thể lưu đối tượng. Không đủ bộ nhớ cache" + +msgid "IDS_BR_HEADER_SELECT_ITEMS" +msgstr "Chọn mục" + +msgid "IDS_BR_HEADER_CERTIFICATE_INFO" +msgstr "Thông tin chứng nhận" + +msgid "IDS_BR_OPT_SHARE_VIA_EMAIL" +msgstr "Chia sẻ qua email" + +msgid "IDS_BR_OPT_SHARE_VIA_MESSAGES" +msgstr "Chia sẻ qua Tin nhắn" + +msgid "IDS_BR_OPT_SHARE_VIA" +msgstr "Chia sẻ qua" + +msgid "IDS_BR_POP_UNABLE_TO_START_BROWSER" +msgstr "Không thể chạy Trình duyệt" + +msgid "IDS_BR_POP_NO_ADDRESS" +msgstr "Không địa chỉ" + +msgid "IDS_BR_POP_NEVER_SHOW_AGAIN" +msgstr "Không hiển thị lại nữa" + +msgid "IDS_BR_POP_FILE_NAME_EMPTY" +msgstr "Tên file trống" + +msgid "IDS_BR_SK3_CREATE_FOLDER" +msgstr "Tạo thư mục" + +msgid "IDS_BR_OPT_SELECTED" +msgstr "Đã chọn" + +msgid "IDS_BR_OPT_SHARE" +msgstr "Chia sẻ" + +msgid "IDS_BR_HEADER_RECENTLY_VISITED_PAGES" +msgstr "Trang ghé thăm gần đây" + +msgid "IDS_BR_OPT_DISPLAY" +msgstr "Hiển thị" + +msgid "IDS_BR_BODY_FIT_TO_WIDTH" +msgstr "Vừa độ rộng" + +msgid "IDS_BR_BODY_READABLE" +msgstr "Có thể đọc" + +msgid "IDS_BR_BODY_PRIVACY" +msgstr "Riêng tư" + +msgid "IDS_BR_BODY_COOKIES" +msgstr "Cookie" + +msgid "IDS_BR_BODY_COOKIESACCEPTALL" +msgstr "Chấp nhận tất cả" + +msgid "IDS_BR_BODY_COOKIESPROMPT" +msgstr "Hỏi trước" + +msgid "IDS_BR_HEADER_COOKIES" +msgstr "Cookie" + +msgid "IDS_BR_BODY_ACCEPT_COOKIES" +msgstr "Chấp nhận các cookie" + +msgid "IDS_BR_OPT_ACCEPT_COOKIES" +msgstr "Chấp nhận các cookie" + +msgid "IDS_BR_BODY_ACCEPT_ALL" +msgstr "Chấp nhận tất cả" + +msgid "IDS_BR_BODY_REJECT_ALL" +msgstr "Từ chối tất cả" + +msgid "IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD" +msgstr "Tá»± động lưu ID/mật khẩu" + +msgid "IDS_BR_BODY_ON" +msgstr "Bật" + +msgid "IDS_BR_BODY_OFF" +msgstr "Tắt" + +msgid "IDS_BR_BODY_DEFAULT_STORAGE" +msgstr "Lưu mặc định" + +msgid "IDS_BR_BODY_SEARCH" +msgstr "Tìm" + +msgid "IDS_BR_BODY_SAVE_IMAGE" +msgstr "Lưu ảnh" + +msgid "IDS_BR_POP_LOW_BATTERY_UNABLE_TO_RUN_BROWSER" +msgstr "Pin yếu. Không thể chạy trình duyệt" + +msgid "IDS_BR_BODY_FIND_WORD" +msgstr "Tìm từ" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN" +msgstr "Thêm vào màn hình chờ" + +msgid "IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB" +msgstr "Thêm vào Màn hình nền" + +msgid "IDS_BR_BODY_MOST_VISITED_SITES" +msgstr "Trang web được ghé thăm nhiều nhất" + +msgid "IDS_BR_OPT_SHARE_VIA_FACEBOOK" +msgstr "Chia sẻ qua Facebook" + +msgid "IDS_BR_OPT_SHARE_VIA_TWITTER" +msgstr "Chia sẻ qua Twitter" + +msgid "IDS_BR_SK3_CHANGE_VIEW" +msgstr "Đổi dạng xem" + +msgid "IDS_BR_HEADER_SELECT_URLS" +msgstr "Chọn URL" + +msgid "IDS_BR_POP_THIS_SITE_IS_ATTEMPTING_TO_OPEN_POP_UP_WINDOW" +msgstr "Trang web này đang cố gắng mở cá»­a sổ khác bật lên" + +msgid "IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS" +msgstr "Chặn các cá»­a sổ pop-up" + +msgid "IDS_BR_BODY_TEXT_READER" +msgstr "Trình đọc văn bản" + +msgid "IDS_BR_OPT_COPY_IMAGE" +msgstr "Chép ảnh" + +msgid "IDS_BR_OPT_SAVE_IMAGE" +msgstr "Lưu ảnh" + +msgid "IDS_BR_BODY_PLAY" +msgstr "Phát" + +msgid "IDS_BR_OPT_SELECT" +msgstr "Chọn" + +msgid "IDS_BR_OPT_NAVIGATE_GO_BACKWARD" +msgstr "Trang trước" + +msgid "IDS_BR_OPT_NAVIGATE_GO_FORWARD" +msgstr "Trang sau" + +msgid "IDS_BR_OPT_STOP" +msgstr "Dừng" + +msgid "IDS_BR_OPT_RELOAD" +msgstr "Tải lại" + +msgid "IDS_BR_OPT_PASTE" +msgstr "Dán" + +msgid "IDS_BR_BUTTON_MORE" +msgstr "L.chọn" + +msgid "IDS_BR_POP_FAIL" +msgstr "Lỗi" + +msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW" +msgstr "Mở trong cá»­a sổ mới" + +msgid "IDS_BR_OPT_VIEW_DOWNLOAD_LIST" +msgstr "Xem danh sách Tải xuống" + +msgid "IDS_BR_BODY_COPY_URL" +msgstr "Sao URL" + +msgid "IDS_BR_BODY_COPY_URL_TO" +msgstr "Chép địa chỉ vào" + +msgid "IDS_BR_BODY_VIEW_IMAGE" +msgstr "Xem ảnh" + +msgid "IDS_BR_BODY_PRIVACY_SETTINGS" +msgstr "Cài đặt riêng tư" + +msgid "IDS_BR_BODY_CLEAR_CACHE" +msgstr "Xóa bộ nhớ đệm" + +msgid "IDS_BR_BODY_CLEAR_HISTORY" +msgstr "Xóa lịch sá»­" + +msgid "IDS_BR_BODY_ENABLE_PLUG_INS" +msgstr "Cho phép các plug-in" + +msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE" +msgstr "Chọn dịch vụ tìm kiếm" + +msgid "IDS_BR_BODY_DELETE_SAVED_ID_PASSWORD" +msgstr "Xóa ID/mật mã đã lưu" + +msgid "IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA" +msgstr "Xóa tất cả dữ liệu cookie" + +msgid "IDS_BR_BODY_UP" +msgstr "Lên" + +msgid "IDS_BR_BODY_FONT_SIZE" +msgstr "Cỡ chữ" + +msgid "IDS_BR_POP_DELETED" +msgstr "Đã xóa" + +msgid "IDS_BR_BODY_DEFAULT_VIEW" +msgstr "Xem mặc định" + +msgid "IDS_BR_MBODY_PAGE_CONTENT_SETTINGS" +msgstr "Cài đặt nội dung trang" + +msgid "IDS_BR_POP_CASE_SENSITIVE" +msgstr "Phân biệt hoa/thường" + +msgid "IDS_BR_BODY_PLUG_IN" +msgstr "Cắm" + +msgid "IDS_BR_OPT_PLUGINS_LIST" +msgstr "Danh sách phần bổ sung" + +msgid "IDS_BR_HEADER_LOCAL_STORAGE" +msgstr "Bộ nhớ nội bộ" + +msgid "IDS_BR_BODY_DELETE_BROWSING_DATA" +msgstr "Xóa dữ liệu trình duyệt" + +msgid "IDS_BR_BODY_LOADING_ING" +msgstr "Đang tải…" + +msgid "IDS_BR_HEADER_LOADING_ING" +msgstr "Đang tải…" + +msgid "IDS_BR_HEADER_ENTERURL" +msgstr "Nhập địa chỉ Web" + +msgid "IDS_BR_OPT_LOCK" +msgstr "Khóa" + +msgid "IDS_BR_OPT_UNLOCK" +msgstr "Mở khóa" + +msgid "IDS_BR_BODY_MODIFY" +msgstr "Sá»­a đổi" + +msgid "IDS_BR_SK_PAGE_UP" +msgstr "Lên" + +msgid "IDS_BR_SK_PAGE_DOWN" +msgstr "Xuống" + +msgid "IDS_BR_BODY_DEVELOPER_MODE" +msgstr "Chế độ người phát triển" + +msgid "IDS_BR_BODY_EMPTY" +msgstr "Trống" + +msgid "IDS_BR_BODY_CERTIFICATES" +msgstr "Chứng nhận" + +msgid "IDS_BR_BODY_BOOKMARKS" +msgstr "Trang hay dùng" + +msgid "IDS_BR_BODY_ENTER_NAME" +msgstr "Nhập tên" + +msgid "IDS_BR_BODY_NAME" +msgstr "Tên" + +msgid "IDS_BR_OPT_SEND_VIA_EMAIL" +msgstr "Gá»­i qua Email" + +msgid "IDS_BR_OPT_SEND_VIA_MESSAGE" +msgstr "Gá»­i qua tin nhắn" + +msgid "IDS_BR_BODY_SETTINGS" +msgstr "Cài đặt" + +msgid "IDS_BR_BODY_AUTHUSERNAME" +msgstr "Tên người dùng" + +msgid "IDS_BR_POP_ALREADY_EXISTS" +msgstr "Đã tồn taÌ£i" + +msgid "IDS_BR_POP_SAVED" +msgstr "Đã lưu" + +msgid "IDS_BR_POP_NOT_ENOUGH_MEMORY" +msgstr "Không đủ bộ nhớ" + +msgid "IDS_BR_POP_NETWORK_ERROR" +msgstr "Lỗi mạng" + +msgid "IDS_BR_BODY_ALWAYS_ASK" +msgstr "Luôn luôn hỏi" + +msgid "IDS_BR_BODY_MEMORY_CARD" +msgstr "Thẻ nhớ" + +msgid "IDS_BR_BODY_PHONE" +msgstr "Điện thoại" + +msgid "IDS_BR_BODY_NO_ACCOUNTS_ABB" +msgstr "Không có tài khoản" + +msgid "IDS_BR_HEADER_ERROR_PAGE" +msgstr "Trang lỗi" + +msgid "IDS_BR_BODY_WEB_PAGE_TEMPORARILY_NOT_AVAILABLE" +msgstr "Trang web tạm thời không sẵn dùng" + +msgid "IDS_BR_BODY_WEB_PAGE_NOT_AVAILABLE" +msgstr "Trang web không sẵn dùng" + +msgid "IDS_BR_BODY_FAILED_TO_LOAD_FRAMES" +msgstr "Xảy ra lỗi khi nạp khung" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_1" +msgstr "Trong khi truy xuất trang web %s, đã xảy ra lỗi sau." + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_2" +msgstr "Không thể truy xuất trang web. (Trang web có thể tạm thời không sẵn dùng hoặc đã bị di chuyển đến URL mới)" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_3" +msgstr "Nguyên nhân phổ biến nhất là" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_4" +msgstr "Kết nối mạng không được thiết lập bình thường" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_5" +msgstr "Kiểm tra URL trang Web" + +msgid "IDS_BR_BODY_LOAD_FAILED_MSG_6" +msgstr "Nạp lại trang web sau" + +msgid "IDS_BR_OPT_BOOKMARK" +msgstr "Trang hay dùng" + +msgid "IDS_BR_BODY_TITLE" +msgstr "Tựa đề" + +msgid "IDS_BR_BODY_ENTER_TITLE" +msgstr "Nhập tá»±a đề" + +msgid "IDS_BR_OPT_FOLDERS" +msgstr "Thư mục" + +msgid "IDS_BR_OPT_ALLOW" +msgstr "Cho phép" + +msgid "IDS_BR_POP_REFUSE" +msgstr "Từ chối" + +msgid "IDS_BR_POP_SECURITY_ERROR_C_UNTRUSTED_SERVER_CERTIFICATE" +msgstr "Lỗi Bảo mật: Chứng chỉ server không tin cậy" + +msgid "IDS_BR_POP_PD_ITEMS_SELECTED" +msgstr "%d mục được chọn" + +msgid "IDS_BR_POP_1_ITEM_SELECTED" +msgstr "1 mục được chọn" + +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "Thêm vào clip Web" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "Kết nối nhanh được tạo" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "Chọn từ" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "Tìm trong trang" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "Tìm trong trang" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_BR_OPT_LIST" +msgstr "Danh sách" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "Chọn tất cả" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "Tin nhắn" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "Email" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "Há»§y" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "Chép nối kết URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "Xem ảnh" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "Mở ra trang mới" + +msgid "IDS_BR_OPT_OPEN" +msgstr "Mở file" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "Bật chọn văn bản" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "Trang hay dùng" + +msgid "IDS_BR_SK_EDIT" +msgstr "Sá»­a" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "Xóa" + +msgid "IDS_BR_SK_DELETE" +msgstr "Xóa" + +msgid "IDS_BR_SK_CANCEL" +msgstr "Há»§y" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "Sá»­a trang hay dùng" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "Tin nhắn" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "Email" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "Sá»­a" + +msgid "IDS_BR_SK3_DELETE" +msgstr "Xóa" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "Thêm trang hay dùng" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "Cỡ chữ" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "Lớn" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "Nhỏ" + +msgid "IDS_BR_BODY_SPEED" +msgstr "Tốc độ" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "Địa chỉ proxy" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "Cổng proxy" + +msgid "IDS_BR_SK_DONE" +msgstr "H.tất" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "Phiên bản" + +msgid "IDS_BR_SK_INSTALL" +msgstr "Cài đặt" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "Trang hiện thời" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "Nhập tên thư mục" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "Nhập tên đánh dấu" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "Không hỏi lại" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "Không tìm thấy URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s yêu cầu vị trí cá»§a bạn" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "Nhớ Cài đặt sở thích" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "Hiện ảnh" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "Hiện các cảnh báo bảo mật" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "Nhớ mật mã" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "Xóa mật mã" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "Xóa mọi mật mã đã lưu?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "Xoá tất cả cookie. Tiếp tục?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "Nhớ dữ liệu biểu mẫu" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "Đưa về cài đặt mặc định" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "Tất cả cài đặt ở mặc định. Tiếp tục?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "Xóa bộ nhớ đệm?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "Xóa tất cả lịch sá»­?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "Lịch sá»­ dẫn hướng cá»§a trình duyệt sẽ bị xóa" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "Luôn bật" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "Cho phép định vị" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "Xóa truy nhập vị trí" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "Không thể trang hay dùng. Đã đạt số đánh dấu tối đa" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "Xóa thông tin truy nhập vị trí cá»§a website?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "In" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "Tìm kiếm hoặc nhập URL" + +msgid "IDS_BR_BODY_AUTO" +msgstr "Tá»± động" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "Thá»§ công" + +msgid "IDS_BR_BODY_LOW" +msgstr "Thấp" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "Vừa" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "Trang trắng" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "Xảy ra lỗi khi cài đặt" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "Cài đặt website" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "Cao" + diff --git a/po/zh_CN.po b/po/zh_CN.po index f3f58422..1698e1f0 100755 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "安装失败" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "通知中..." @@ -619,3 +616,216 @@ msgstr "已选择%d个项目" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "已选择1个项目" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "添加到网页夹" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "已创建快捷键" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "选择单词" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "在页面上查找" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "在页面上查找" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "互联网" + +msgid "IDS_BR_OPT_LIST" +msgstr "列表" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "全选" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "信息" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "电子邮件" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "复制链接网址" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "查看图像" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "在新页面打开" + +msgid "IDS_BR_OPT_OPEN" +msgstr "打开" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "文本选择开启" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "书签" + +msgid "IDS_BR_SK_EDIT" +msgstr "编辑" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "删除" + +msgid "IDS_BR_SK_DELETE" +msgstr "删除" + +msgid "IDS_BR_SK_CANCEL" +msgstr "取消" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "编辑书签" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "信息" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "电子邮件" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "编辑" + +msgid "IDS_BR_SK3_DELETE" +msgstr "删除" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "添加到书签" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "字体大小" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "大" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "小" + +msgid "IDS_BR_BODY_SPEED" +msgstr "速度" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "代理服务器地址" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "代理服务器端口" + +msgid "IDS_BR_SK_DONE" +msgstr "完成" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "版本" + +msgid "IDS_BR_SK_INSTALL" +msgstr "安装" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "当前页面" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "输入文件夹名称" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "输入书签名称" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "不再询问" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "找不到网址" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s请求您的位置" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "记住首选项" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "显示图像" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "显示安全警告" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "记住密码" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "清除密码" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "删除全部已存密码?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "删除所有 Cookies。 继续?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "记住表单数据" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "重置为默认值" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "所有默认设定。 继续?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "清除缓存?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "清除全部历史记录" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "浏览器导航历史记录将被清除" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "总是打开" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "启用定位功能" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "取消定位权限" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "无法添加书签。已达最大书签数量" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "删除网站定位信息?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "打印" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "搜索或输入网址" + +msgid "IDS_BR_BODY_AUTO" +msgstr "自动" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "手动" + +msgid "IDS_BR_BODY_LOW" +msgstr "低" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "中" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "空白页面" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "安装失败" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "网站设置" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "高" + diff --git a/po/zh_HK.po b/po/zh_HK.po index 0e9d79d4..f146b24e 100755 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "安裝失敗" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "正在通知..." @@ -338,7 +335,7 @@ msgid "IDS_BR_BODY_ON" msgstr "開" msgid "IDS_BR_BODY_OFF" -msgstr "關" +msgstr "關閉" msgid "IDS_BR_BODY_DEFAULT_STORAGE" msgstr "預設儲存裝置" @@ -619,3 +616,216 @@ msgstr "已選擇 %d 個項目" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "已選擇 1 個項目" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "加到網上短片" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "捷徑已建立" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "擇擇字詞" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "在頁面上尋找" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "在頁面上尋找" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "互聯網" + +msgid "IDS_BR_OPT_LIST" +msgstr "清單" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "選擇全部" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "訊息" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "電子郵件" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "複製連結網址" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "檢視圖像" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "在新頁面開啟" + +msgid "IDS_BR_OPT_OPEN" +msgstr "開啟" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "文字選擇開" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "書籤" + +msgid "IDS_BR_SK_EDIT" +msgstr "編輯" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "刪除" + +msgid "IDS_BR_SK_DELETE" +msgstr "刪除" + +msgid "IDS_BR_SK_CANCEL" +msgstr "取消" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "編輯書籤" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "訊息" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "電子郵件" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "編輯" + +msgid "IDS_BR_SK3_DELETE" +msgstr "刪除" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "加到書籤" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "字體大小" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "大" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "小" + +msgid "IDS_BR_BODY_SPEED" +msgstr "速度" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "代理伺服器位址" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "代理伺服器端口" + +msgid "IDS_BR_SK_DONE" +msgstr "完成" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "版本" + +msgid "IDS_BR_SK_INSTALL" +msgstr "安裝" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "目前頁面" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "輸入資料夾名稱" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "輸入書籤名稱" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "不再詢問" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "找不到網址" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s請求你的位置" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "記住偏好" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "顯示圖像" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "顯示安全性警告" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "記住密碼" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "清除密碼" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "刪除所有儲存的密碼嗎?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "刪除全部 Cookies。要繼續嗎?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "記住表格數據" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "重設為預設" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "將全部設定值設定為預設值。要繼續嗎?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "要清除緩存嗎?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "要清除全部歷程記錄嗎?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "瀏覽器導覽歷程記錄將被清除" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "總是開啟" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "啟用定位功能" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "清除位置資訊存取權" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "無法加入書籤。書籤數目已達上限" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "刪除網站位置存取資訊嗎?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "列印" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "搜尋或輸入網址" + +msgid "IDS_BR_BODY_AUTO" +msgstr "自動" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "手動" + +msgid "IDS_BR_BODY_LOW" +msgstr "低" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "中" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "空白頁面" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "安裝失敗" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "網址設定" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "高" + diff --git a/po/zh_TW.po b/po/zh_TW.po index b6451ee0..3bc54b49 100755 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,6 +1,3 @@ -msgid "IDS_BR_POP_INSTALLATION_FAILED" -msgstr "安裝失敗" - msgid "IDS_BR_BODY_NOTIFYING_ING" msgstr "正在通知..." @@ -619,3 +616,216 @@ msgstr "已選擇 %d 項目" msgid "IDS_BR_POP_1_ITEM_SELECTED" msgstr "已選擇 1 項目" +msgid "IDS_BR_OPT_ADD_TO_WEB_CLIP" +msgstr "新增至網路片段" + +msgid "IDS_BR_POP_SHORTCUT_CREATED" +msgstr "捷徑已建立" + +msgid "IDS_BR_BODY_SELECT_WORD" +msgstr "選擇字詞" + +msgid "IDS_BR_OPT_FIND_ON_PAGE" +msgstr "在頁面中尋找" + +msgid "IDS_BR_OPT_FIND_ON_PAGE_ABB" +msgstr "在頁面中尋找" + +msgid "IDS_BR_HEADER_PICASA" +msgstr "Picasa" + +msgid "IDS_BR_BODY_INTERNET" +msgstr "網際網路" + +msgid "IDS_BR_OPT_LIST" +msgstr "清單" + +msgid "IDS_BR_BODY_SELECT_ALL" +msgstr "全選" + +msgid "IDS_BR_OPT_SENDURLVIA_MESSAGE" +msgstr "訊息" + +msgid "IDS_BR_OPT_SENDURLVIA_EMAIL" +msgstr "電子郵件" + +msgid "IDS_BR_BUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_BR_OPT_COPY_LINK_URL" +msgstr "複製連結 URL" + +msgid "IDS_BR_OPT_VIEW_IMAGE" +msgstr "檢視圖像" + +msgid "IDS_BR_OPT_OPEN_IN_NEW_PAGE_ABB" +msgstr "以新頁開啟" + +msgid "IDS_BR_OPT_OPEN" +msgstr "開啟" + +msgid "IDS_BR_OPT_TEXT_SELECTION_ON" +msgstr "開啟文字選擇" + +msgid "IDS_BR_TAB_BOOKMARKS" +msgstr "書籤" + +msgid "IDS_BR_SK_EDIT" +msgstr "編輯" + +msgid "IDS_BR_SK_DELETE_ABB" +msgstr "刪除" + +msgid "IDS_BR_SK_DELETE" +msgstr "刪除" + +msgid "IDS_BR_SK_CANCEL" +msgstr "取消" + +msgid "IDS_BR_HEADER_EDIT_BOOKMARK" +msgstr "編輯書籤" + +msgid "IDS_BR_OPT_MESSAGES" +msgstr "訊息" + +msgid "IDS_BR_OPT_EMAIL_M_BOX" +msgstr "電子郵件" + +msgid "IDS_BR_HEADER_EDIT" +msgstr "編輯" + +msgid "IDS_BR_SK3_DELETE" +msgstr "刪除" + +msgid "IDS_BR_OPT_ADDTOBOOKMARKS" +msgstr "加至書籤" + +msgid "IDS_BR_HEADER_FONT_SIZE" +msgstr "字型大小" + +msgid "IDS_BR_OPT_PAGE_SIZE_LARGE" +msgstr "大" + +msgid "IDS_BR_BODY_PREFERENCESTEXTSIZESMALL" +msgstr "小" + +msgid "IDS_BR_BODY_SPEED" +msgstr "速度" + +msgid "IDS_BR_BRSETTINGS_BODY_CONNECTIONPROXYADRS" +msgstr "代理伺服器位址" + +msgid "IDS_BR_BODY_PROXY_PORT" +msgstr "代理伺服器連接埠" + +msgid "IDS_BR_SK_DONE" +msgstr "完成" + +msgid "IDS_BR_BODY_SETTINGS_VERSION" +msgstr "版本" + +msgid "IDS_BR_SK_INSTALL" +msgstr "安裝" + +msgid "IDS_BR_BODY_CURRENT_PAGE" +msgstr "目前頁面" + +msgid "IDS_BR_BODY_ENTER_FOLDER_NAME" +msgstr "輸入資料夾名稱" + +msgid "IDS_BR_POP_ENTER_BOOKMARK_NAME" +msgstr "輸入書籤名稱" + +msgid "IDS_BR_OPT_DO_NOT_ASK_AGAIN" +msgstr "不再詢問" + +msgid "IDS_BR_POP_URL_NOT_FOUND" +msgstr "找不到 URL" + +msgid "IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION" +msgstr "%s請求您的位置" + +msgid "IDS_BR_BODY_REMEMBER_PREFERENCE" +msgstr "記住偏好" + +msgid "IDS_BR_BODY_SHOW_IMAGES" +msgstr "顯示圖片" + +msgid "IDS_BR_BODY_SHOW_SECURITY_WARNINGS" +msgstr "顯示安全性警告" + +msgid "IDS_BR_BODY_REMEMBER_PASSWORDS" +msgstr "記住密碼" + +msgid "IDS_BR_BODY_CLEAR_PASSWORDS" +msgstr "清除密碼" + +msgid "IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q" +msgstr "刪除所有儲存的密碼?" + +msgid "IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q" +msgstr "刪除所有 Cookie。繼續?" + +msgid "IDS_BR_BODY_REMEMBER_FORM_DATA" +msgstr "記住表單資料" + +msgid "IDS_BR_BODY_RESET_TO_DEFAULT" +msgstr "重設為預設值" + +msgid "IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q" +msgstr "將所有設定值設為預設值。繼續?" + +msgid "IDS_BR_POP_CLEAR_CACHE_Q" +msgstr "要清除快取嗎?" + +msgid "IDS_BR_POP_HISTORYREMOVEALLHISTORY" +msgstr "要清除所有歷程記錄嗎?" + +msgid "IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED" +msgstr "瀏覽器的瀏覽記錄將被清除" + +msgid "IDS_BR_BODY_ALWAYS_ON" +msgstr "永遠開啟" + +msgid "IDS_BR_BODY_ENABLE_LOCATION" +msgstr "啟用定位功能" + +msgid "IDS_BR_BODY_CLEAR_LOCATION_ACCESS" +msgstr "清除位置存取" + +msgid "IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED" +msgstr "無法新增書籤。書籤數目已達上限" + +msgid "IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q" +msgstr "刪除網站位置存取資訊嗎?" + +msgid "IDS_BR_BODY_PRINT" +msgstr "列印" + +msgid "IDS_BR_BODY_SEARCH_OR_ENTER_URL" +msgstr "搜尋或輸入網址" + +msgid "IDS_BR_BODY_AUTO" +msgstr "自動" + +msgid "IDS_BR_OPT_MANUAL" +msgstr "手動" + +msgid "IDS_BR_BODY_LOW" +msgstr "低" + +msgid "IDS_BR_BODY_MEDIUM" +msgstr "適中" + +msgid "IDS_BR_BODY_BLANK_PAGE" +msgstr "空白頁面" + +msgid "IDS_BR_POP_INSTALLATION_FAILED" +msgstr "安裝失敗" + +msgid "IDS_BR_BODY_WEBSITE_SETTINGS" +msgstr "網站設定" + +msgid "IDS_BR_BODY_HIGH_MPRIORITY" +msgstr "高" + diff --git a/resource/config_sample.xml b/resource/config_sample.xml new file mode 100755 index 00000000..da9d2c1e --- /dev/null +++ b/resource/config_sample.xml @@ -0,0 +1,9 @@ + + + title_need + + + + diff --git a/resource/default_0 b/resource/default_0 old mode 100755 new mode 100644 diff --git a/resource/default_1 b/resource/default_1 old mode 100755 new mode 100644 diff --git a/resource/default_2 b/resource/default_2 old mode 100755 new mode 100644 diff --git a/resource/default_3 b/resource/default_3 old mode 100755 new mode 100644 diff --git a/resource/default_application_icon.png b/resource/default_application_icon.png new file mode 100755 index 00000000..96531d11 Binary files /dev/null and b/resource/default_application_icon.png differ diff --git a/resource/org.tizen.browser.png b/resource/org.tizen.browser.png index d844acae..a9102254 100755 Binary files a/resource/org.tizen.browser.png and b/resource/org.tizen.browser.png differ diff --git a/src/browser-bookmark/browser-add-to-bookmark-view.cpp b/src/browser-bookmark/browser-add-to-bookmark-view.cpp index 76d157e7..e642cec5 100755 --- a/src/browser-bookmark/browser-add-to-bookmark-view.cpp +++ b/src/browser-bookmark/browser-add-to-bookmark-view.cpp @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-add-to-bookmark-view.h" #include "browser-bookmark-db.h" @@ -67,7 +68,7 @@ Eina_Bool Browser_Add_To_Bookmark_View::init(void) } void Browser_Add_To_Bookmark_View::return_to_add_to_bookmark_view(int changed_folder_id) -{ +{ BROWSER_LOGD("[%s]", __func__); /* If changed_folder_id is -1, just cancel the folder view. */ @@ -163,7 +164,7 @@ Evas_Object *Browser_Add_To_Bookmark_View::__genlist_icon_get_cb(void *data, Eva if (!add_to_bookmark_view->m_title_edit_field) return NULL; br_elm_editfield_entry_single_line_set(add_to_bookmark_view->m_title_edit_field, EINA_TRUE); - br_elm_editfield_guide_text_set(add_to_bookmark_view->m_title_edit_field, BR_STRING_CLICK_HERE); + br_elm_editfield_guide_text_set(add_to_bookmark_view->m_title_edit_field, BR_STRING_ENTER_BOOKMARK_NAME); br_elm_editfield_label_set(add_to_bookmark_view->m_title_edit_field, BR_STRING_TITLE); evas_object_smart_callback_add(br_elm_editfield_entry_get(add_to_bookmark_view->m_title_edit_field), @@ -315,13 +316,13 @@ void Browser_Add_To_Bookmark_View::__cancel_button_clicked_cb(void *data, Evas_O } if (m_data_manager->is_in_view_stack(BR_BOOKMARK_VIEW) && m_data_manager->get_bookmark_view()) - /* boomark view -> edit one bookmark item, then cancel. */ + /* boomark view -> edit one bookmark item, then cancel. */ m_data_manager->get_bookmark_view()->return_to_bookmark_view(); } /* bookmark -> edit -> edit each bookmark item then bookmark edit view -> done */ Eina_Bool Browser_Add_To_Bookmark_View::_modify_bookmark_item(const char *title, const char *url) -{ +{ int bookmark_id = 0; int ret = EINA_TRUE; Browser_Bookmark_DB *bookmark_db = m_data_manager->get_bookmark_db(); @@ -445,16 +446,28 @@ void Browser_Add_To_Bookmark_View::_done_button_clicked(const char *title, const elm_naviframe_item_pop(m_navi_bar); if (!m_data_manager->is_in_view_stack(BR_BOOKMARK_VIEW)) { - - m_data_manager->get_browser_view()->return_to_browser_view(); - m_data_manager->get_browser_view()->show_notify_popup(BR_STRING_SAVED, 3); +#if defined(FEATURE_MOST_VISITED_SITES) + /* Set the title if enter the add to bookmark while loading. */ + if (m_data_manager->get_browser_view()->is_most_visited_sites_running()) + m_data_manager->get_browser_view()->return_to_browser_view(EINA_TRUE); + else +#endif + m_data_manager->get_browser_view()->return_to_browser_view(); + +#if defined(FEATURE_MOST_VISITED_SITES) + if (m_data_manager->get_browser_view()->is_most_visited_sites_running()) + m_data_manager->get_browser_view()->show_notify_popup(BR_STRING_SAVED, 3, + EINA_TRUE); + else +#endif + m_data_manager->get_browser_view()->show_notify_popup(BR_STRING_SAVED, 3); } else { - int added_bookmark_id = -1; - bookmark_db->get_bookmark_id_by_title_url(m_folder_id_to_save, title, - url, &added_bookmark_id); + int added_bookmark_id = -1; + bookmark_db->get_bookmark_id_by_title_url(m_folder_id_to_save, title, + url, &added_bookmark_id); BROWSER_LOGD("added_bookmark_id=%d", added_bookmark_id); /* History view -> slide one item -> add to bookmark, then done. */ - m_data_manager->get_bookmark_view()->return_to_bookmark_view(added_bookmark_id); + m_data_manager->get_bookmark_view()->return_to_bookmark_view(added_bookmark_id); m_data_manager->get_browser_view()->show_notify_popup(BR_STRING_SAVED, 3, EINA_TRUE); } @@ -463,7 +476,6 @@ void Browser_Add_To_Bookmark_View::_done_button_clicked(const char *title, const } else show_msg_popup(BR_STRING_ALREADY_EXISTS); } - void Browser_Add_To_Bookmark_View::__naviframe_pop_finished_cb(void *data , Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); diff --git a/src/browser-bookmark/browser-add-to-bookmark-view.h b/src/browser-bookmark/browser-add-to-bookmark-view.h index 010db88d..28ff4a86 100755 --- a/src/browser-bookmark/browser-add-to-bookmark-view.h +++ b/src/browser-bookmark/browser-add-to-bookmark-view.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_ADD_TO_BOOKMARK_VIEW_H #define BROWSER_ADD_TO_BOOKMARK_VIEW_H diff --git a/src/browser-bookmark/browser-bookmark-view.cpp b/src/browser-bookmark/browser-bookmark-view.cpp index 7c07da4b..9bf65793 100755 --- a/src/browser-bookmark/browser-bookmark-view.cpp +++ b/src/browser-bookmark/browser-bookmark-view.cpp @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-add-to-bookmark-view.h" #include "browser-bookmark-db.h" @@ -55,6 +56,7 @@ Browser_Bookmark_View::Browser_Bookmark_View(void) ,m_bookmark_delete_controlbar_item(NULL) ,m_bookmark_edit_controlbar_item(NULL) ,m_create_folder_controlbar_item(NULL) + ,m_current_sweep_item(NULL) ,m_navi_it(NULL) ,m_delete_confirm_popup(NULL) ,m_rename_edit_field(NULL) @@ -86,6 +88,7 @@ Browser_Bookmark_View::~Browser_Bookmark_View(void) if (m_delete_confirm_popup) evas_object_del(m_delete_confirm_popup); + } Eina_Bool Browser_Bookmark_View::init(void) @@ -99,6 +102,81 @@ Eina_Bool Browser_Bookmark_View::init(void) return _create_main_layout(); } +Eina_Bool Browser_Bookmark_View::append_bookmark_item(const char *title, const char *url) +{ + if (!url || !title) { + BROWSER_LOGE("url or title is null"); + return EINA_FALSE; + } + + if (!m_data_manager->get_bookmark_db()->save_bookmark(BROWSER_BOOKMARK_MAIN_FOLDER_ID, title, url)) { + BROWSER_LOGE("save_bookmark failed"); + return EINA_FALSE; + } + + Browser_Bookmark_DB::bookmark_item *item = new(nothrow) Browser_Bookmark_DB::bookmark_item; + if (!item) { + BROWSER_LOGE("new(nothrow) Browser_Bookmark_DB::bookmark_item failed"); + return EINA_FALSE; + } + + int bookmark_id = -1; + m_data_manager->get_bookmark_db()->get_bookmark_id_by_title_url(BROWSER_BOOKMARK_MAIN_FOLDER_ID, title, + url, &bookmark_id); + + item->parent = BROWSER_BOOKMARK_MAIN_FOLDER_ID; + item->user_data_1 = (void *)this; + item->url = std::string(url); + item->title = std::string(title); + item->is_folder = EINA_FALSE; + item->id = bookmark_id; + item->user_data_2 = (void *)elm_genlist_item_append(m_main_folder_genlist, &m_bookmark_genlist_item_class, + item, NULL, ELM_GENLIST_ITEM_NONE, + __bookmark_item_clicked_cb, this); + + m_main_folder_list.push_back(item); + + _show_empty_content_layout(EINA_FALSE); + + return EINA_TRUE; +} + +void Browser_Bookmark_View::delete_bookmark_item(int bookmark_id) +{ + BROWSER_LOGD("[%s]", __func__); + int ret = EINA_TRUE; + + ret = m_data_manager->get_bookmark_db()->delete_bookmark(bookmark_id); + if (!ret) { + BROWSER_LOGE("bookmark_db->delete_bookmark failed"); + return; + } + + Elm_Object_Item *it = elm_genlist_first_item_get(m_main_folder_genlist); + while (it) { + Browser_Bookmark_DB::bookmark_item *item = NULL; + item = (Browser_Bookmark_DB::bookmark_item *)elm_object_item_data_get(it); + if (item->id == bookmark_id) { + elm_object_item_del(it); + break; + } + + it = elm_genlist_item_next_get(it); + } + + for(int index = 0 ; index < m_main_folder_list.size() ; index++) { + if (m_main_folder_list[index]->id == bookmark_id) { + delete m_main_folder_list[index]; + m_main_folder_list.erase(m_main_folder_list.begin() + index); + break; + } + } + + if (m_main_folder_list.size() == 0) { + _show_empty_content_layout(EINA_TRUE); + } +} + void Browser_Bookmark_View::return_to_bookmark_view(int added_bookmark_id) { BROWSER_LOGD("added_bookmark_id = %d", added_bookmark_id); @@ -135,6 +213,13 @@ void Browser_Bookmark_View::return_to_bookmark_view(int added_bookmark_id) } else { if (!m_data_manager->get_history_layout()) return; + + /* In case that history view -> add to bookmark by slide-right, then return to history view. */ + if (m_data_manager->get_history_layout()->m_current_sweep_item) { + elm_genlist_item_decorate_mode_set(m_data_manager->get_history_layout()->m_current_sweep_item, "slide", EINA_FALSE); + elm_genlist_item_select_mode_set(m_data_manager->get_history_layout()->m_current_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT); + m_data_manager->get_history_layout()->m_current_sweep_item = NULL; + } } /* boomark view -> history -> add to bookmark by slide button, then done. */ @@ -671,17 +756,17 @@ void Browser_Bookmark_View::__delete_processing_popup_response_cb(void *data, Ev evas_object_del(bookmark_view->m_processing_popup); - if (bookmark_view->m_processing_popup_timer) { - ecore_timer_del(bookmark_view->m_processing_popup_timer); - bookmark_view->m_processing_popup_timer = NULL; - } + if (bookmark_view->m_processing_popup_timer) { + ecore_timer_del(bookmark_view->m_processing_popup_timer); + bookmark_view->m_processing_popup_timer = NULL; + } - bookmark_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); + bookmark_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); - vector item_list = bookmark_view->_get_current_folder_item_list(); - if (item_list.size() == 0) - bookmark_view->_show_empty_content_layout(EINA_TRUE); - } + vector item_list = bookmark_view->_get_current_folder_item_list(); + if (item_list.size() == 0) + bookmark_view->_show_empty_content_layout(EINA_TRUE); +} void Browser_Bookmark_View::__select_processing_popup_response_cb(void *data, Evas_Object *obj, void *event_info) { @@ -1055,6 +1140,9 @@ void Browser_Bookmark_View::__rename_folder_button_clicked_cb(void *data, Evas_O elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + /* If landscape mode, the folder edit field is hided by keypad. So turn to portrait. */ + elm_win_rotation_with_resize_set(bookmark_view->m_win, 0); + evas_object_data_set(bookmark_view->_get_current_folder_genlist(), "selected_it", it); } @@ -1101,17 +1189,20 @@ void Browser_Bookmark_View::__rename_folder_unfocus_cb(void *data, Evas_Object * } if (!text || strlen(text) == 0 || only_has_space) { - bookmark_view->show_msg_popup(BR_STRING_EMPTY_FOLDER_NAME); + bookmark_view->show_msg_popup(BR_STRING_ENTER_FOLDER_NAME); elm_entry_entry_set(edit_field_entry, item->title.c_str()); } else { - if (!m_data_manager->get_bookmark_db()->is_duplicated(text)) { - item->title = text; - m_data_manager->get_bookmark_db()->modify_bookmark_title(item->id, text); - } else { - if (elm_genlist_decorate_mode_get(bookmark_view->_get_current_folder_genlist())) - bookmark_view->show_msg_popup(BR_STRING_ALREADY_EXISTS); - std::string folder_name = m_data_manager->get_bookmark_db()->get_folder_name_by_id(item->id); - elm_entry_entry_set(edit_field_entry, folder_name.c_str()); + if (strcmp(text, item->title.c_str())) { + if (!m_data_manager->get_bookmark_db()->is_duplicated(text)) { + item->title = text; + m_data_manager->get_bookmark_db()->modify_bookmark_title(item->id, text); + } else { + if (elm_genlist_decorate_mode_get(bookmark_view->_get_current_folder_genlist())) + bookmark_view->show_msg_popup(BR_STRING_ALREADY_EXISTS); + + std::string folder_name = m_data_manager->get_bookmark_db()->get_folder_name_by_id(item->id); + elm_entry_entry_set(edit_field_entry, folder_name.c_str()); + } } } elm_genlist_item_flip_set(it, EINA_FALSE); @@ -1128,6 +1219,65 @@ void Browser_Bookmark_View::__drag_genlist_cb(void *data, Evas_Object *obj, void BROWSER_LOGD("[%s]", __func__); } +#if defined(GENLIST_SWEEP) +void Browser_Bookmark_View::__sweep_right_genlist_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Browser_Bookmark_View *bookmark_view = (Browser_Bookmark_View *)data; + + if (elm_genlist_decorate_mode_get(obj)) + return; + else { + elm_genlist_item_decorate_mode_set((Elm_Object_Item *)event_info, "slide", EINA_TRUE); + elm_genlist_item_select_mode_set((Elm_Object_Item *)event_info, ELM_OBJECT_SELECT_MODE_NONE); + } + + if (bookmark_view->m_current_sweep_item + && (Elm_Object_Item *)event_info != bookmark_view->m_current_sweep_item) { + elm_genlist_item_select_mode_set(bookmark_view->m_current_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT); + bookmark_view->m_current_sweep_item = (Elm_Object_Item *)event_info; + } +} + +void Browser_Bookmark_View::__sweep_cancel_genlist_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) + return; + + Browser_Bookmark_View *bookmark_view = (Browser_Bookmark_View *)data; + Elm_Object_Item *it = (Elm_Object_Item*)elm_genlist_decorated_item_get(obj); + if (it) { + elm_genlist_item_decorate_mode_set(it, "slide", EINA_FALSE); + elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DEFAULT); + + if (it == bookmark_view->m_current_sweep_item) + bookmark_view->m_current_sweep_item = NULL; + } +} + +void Browser_Bookmark_View::__sweep_left_genlist_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Browser_Bookmark_View *bookmark_view = (Browser_Bookmark_View *)data; + + if (elm_genlist_decorate_mode_get(obj)) + return; + else { + elm_genlist_item_decorate_mode_set((Elm_Object_Item *)event_info, "slide", EINA_FALSE); + elm_genlist_item_select_mode_set((Elm_Object_Item *)event_info, ELM_OBJECT_SELECT_MODE_DEFAULT); + } + + bookmark_view->m_current_sweep_item = NULL; +} +#endif + char *Browser_Bookmark_View::__genlist_label_get_cb(void *data, Evas_Object *obj, const char *part) { BROWSER_LOGD("part=%s", part); @@ -1135,20 +1285,23 @@ char *Browser_Bookmark_View::__genlist_label_get_cb(void *data, Evas_Object *obj return NULL; Browser_Bookmark_DB::bookmark_item *item = (Browser_Bookmark_DB::bookmark_item *)data; - std::string title = item->title; - std::string url = item->url; + const char *title = item->title.c_str(); + BROWSER_LOGD("title(%p)=%s", title, title); + const char *url = item->url.c_str(); + BROWSER_LOGD("url(%p)=%s", url, url); if (part && strlen(part) > 0) { if (!strncmp(part,"elm.text", strlen("elm.text")) - || !strncmp(part, "elm.base.text", strlen("elm.base.text"))) { - if (!title.empty() && title.length() > 0) - return strdup(title.c_str()); + || !strncmp(part, "elm.base.text", strlen("elm.base.text")) + || !strncmp(part, "elm.slide.text.1", strlen("elm.slide.text.1"))) { + if (title && strlen(title)) + return strdup(title); else return NULL; } else if (!strncmp(part, "elm.text.sub", strlen("elm.text.sub"))) { - if (!url.empty() && url.length() > 0) - return strdup(url.c_str()); + if (url && strlen(url)) + return strdup(url); else return NULL; } @@ -1193,6 +1346,30 @@ Evas_Object *Browser_Bookmark_View::__genlist_icon_get_cb(void *data, Evas_Objec return default_icon; } } + } else if (!strncmp(part, "elm.slide.swallow.1", strlen("elm.slide.swallow.1"))) { + Evas_Object *edit_button = elm_button_add(obj); + if (!edit_button) { + BROWSER_LOGE("elm_button_add is failed.\n"); + return NULL; + } + elm_object_style_set(edit_button, "text_only/sweep"); + elm_object_text_set(edit_button, BR_STRING_EDIT); + if (!item->is_editable) + elm_object_disabled_set(edit_button, EINA_TRUE); + evas_object_smart_callback_add(edit_button, "clicked", __slide_edit_button_clicked_cb, item); + return edit_button; + } else if (!strncmp(part, "elm.slide.swallow.2", strlen("elm.slide.swallow.2"))) { + Evas_Object *delete_button = elm_button_add(obj); + if (!delete_button) { + BROWSER_LOGE("elm_button_add is failed.\n"); + return NULL; + } + elm_object_style_set(delete_button, "text_only/sweep"); + elm_object_text_set(delete_button, BR_STRING_DELETE); + if (!item->is_editable) + elm_object_disabled_set(delete_button, EINA_TRUE); + evas_object_smart_callback_add(delete_button, "clicked", __slide_delete_button_clicked_cb, item); + return delete_button; } if (elm_genlist_decorate_mode_get(obj)) { @@ -1290,6 +1467,69 @@ Eina_Bool Browser_Bookmark_View::_is_empty_folder(string folder_name) return EINA_TRUE; } +void Browser_Bookmark_View::__slide_edit_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Bookmark_DB::bookmark_item *item = (Browser_Bookmark_DB::bookmark_item *)data; + Browser_Bookmark_View *bookmark_view = (Browser_Bookmark_View *)(item->user_data_1); + bookmark_view->m_current_genlist_item_to_edit = (Elm_Object_Item *)(item->user_data_2); + + if (item->is_folder) { + /* edit folder by slide genlist item */ + if (bookmark_view->_is_empty_folder(item->title)) { + bookmark_view->show_msg_popup(BR_STRING_EMPTY); + return; + } + + bookmark_view->_go_to_sub_foler(item->title.c_str()); + + bookmark_view->_set_edit_mode(EINA_TRUE); + + Elm_Object_Item *top_it = elm_naviframe_top_item_get(m_navi_bar); + elm_object_item_signal_emit(top_it, ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_INSTANT_OPEN); + evas_object_data_set(m_navi_bar, "visible", (void *)EINA_TRUE); + + edje_object_signal_emit(elm_layout_edje_get(bookmark_view->m_main_layout), + "expand_header_no_animation,signal", ""); + } else { + /* edit bookmark item by slide genlist item */ + /* Pass the selected genlist item as parameter when bookmark -> Edit item + because of increase performance. */ + if (!m_data_manager->create_edit_bookmark_view(item->title, item->url, + bookmark_view->m_current_folder_id)) { + BROWSER_LOGE("create_edit_bookmark_view failed"); + return; + } + + if (!m_data_manager->get_edit_bookmark_view()->init()) { + BROWSER_LOGE("new get_edit_bookmark_view()->init() failed"); + m_data_manager->destroy_edit_bookmark_view(); + return; + } + } + + elm_genlist_item_decorate_mode_set(bookmark_view->m_current_genlist_item_to_edit, "slide", EINA_FALSE); + elm_genlist_item_select_mode_set(bookmark_view->m_current_genlist_item_to_edit, ELM_OBJECT_SELECT_MODE_DEFAULT); +} + +void Browser_Bookmark_View::__delete_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("event_info = %d", (int)event_info); + + if (!data) + return; + + Browser_Bookmark_DB::bookmark_item *item = (Browser_Bookmark_DB::bookmark_item *)data; + Browser_Bookmark_View *bookmark_view = (Browser_Bookmark_View *)(item->user_data_1); + + evas_object_del(bookmark_view->m_delete_confirm_popup); + + bookmark_view->_delete_bookmark_item_by_slide_button(item); +} void Browser_Bookmark_View::__cancel_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, void *event_info) @@ -1353,6 +1593,59 @@ Evas_Object *Browser_Bookmark_View::_show_delete_confirm_popup(void) return ok_button; } +void Browser_Bookmark_View::_delete_bookmark_item_by_slide_button(Browser_Bookmark_DB::bookmark_item *item) +{ + BROWSER_LOGD("[%s]", __func__); + Elm_Object_Item *it = (Elm_Object_Item *)(item->user_data_2); + int ret = EINA_TRUE; + + if (item->is_folder) { + int folder_id = 0; + ret = m_data_manager->get_bookmark_db()->get_folder_id(m_current_folder_id, + item->title.c_str(), &folder_id); + if (!ret) { + BROWSER_LOGE("bookmark_db->get_folder_id failed"); + return; + } + ret = m_data_manager->get_bookmark_db()->delete_folder(folder_id); + if (!ret) { + BROWSER_LOGE("bookmark_db->delete_folder failed"); + return; + } + } else { + ret = m_data_manager->get_bookmark_db()->delete_bookmark(item->id); + if (!ret) { + BROWSER_LOGE("bookmark_db->delete_bookmark failed"); + return; + } + } + + _delete_bookmark_item_from_folder_list(item); + + elm_object_item_del(it); + + if (_get_current_folder_item_list().size() == 0) { + _show_empty_content_layout(EINA_TRUE); + } + + show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Bookmark_View::__slide_delete_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Bookmark_DB::bookmark_item *item = (Browser_Bookmark_DB::bookmark_item *)data; + Browser_Bookmark_View *bookmark_view = (Browser_Bookmark_View *)(item->user_data_1); + + Evas_Object *ok_button = bookmark_view->_show_delete_confirm_popup(); + if (ok_button) + evas_object_smart_callback_add(ok_button, "clicked", + __delete_confirm_response_by_slide_button_cb, item); +} + void Browser_Bookmark_View::__genlist_move_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *it = (Elm_Object_Item *)event_info; @@ -1700,6 +1993,13 @@ Evas_Object *Browser_Bookmark_View::_create_sub_folder_genlist(int folder_id) elm_genlist_block_count_set(genlist, BROWSER_BOOKMARK_GENLIST_BLOCK_COUNT); elm_genlist_homogeneous_set(genlist, EINA_TRUE); +#if defined(GENLIST_SWEEP) + evas_object_smart_callback_add(genlist, "drag,start,up", __sweep_cancel_genlist_cb, genlist); + evas_object_smart_callback_add(genlist, "drag,start,down", __sweep_cancel_genlist_cb, genlist); + evas_object_smart_callback_add(genlist, "drag,start,right", __sweep_right_genlist_cb, this); + evas_object_smart_callback_add(genlist, "drag,start,left", __sweep_left_genlist_cb, this); +#endif + evas_object_smart_callback_add(genlist, "moved", __genlist_move_cb, this); elm_object_content_set(m_sub_folder_conformant, genlist); @@ -1770,10 +2070,16 @@ Evas_Object *Browser_Bookmark_View::_create_main_folder_genlist(void) elm_genlist_block_count_set(genlist, BROWSER_BOOKMARK_GENLIST_BLOCK_COUNT); elm_genlist_homogeneous_set(genlist, EINA_TRUE); +#if defined(GENLIST_SWEEP) + evas_object_smart_callback_add(genlist, "drag,start,up", __sweep_cancel_genlist_cb, genlist); + evas_object_smart_callback_add(genlist, "drag,start,down", __sweep_cancel_genlist_cb, genlist); + evas_object_smart_callback_add(genlist, "drag,start,right", __sweep_right_genlist_cb, this); + evas_object_smart_callback_add(genlist, "drag,start,left", __sweep_left_genlist_cb, this); +#endif evas_object_smart_callback_add(genlist, "moved", __genlist_move_cb, this); m_bookmark_genlist_item_class.item_style = "1text.1icon.2"; - m_bookmark_genlist_item_class.decorate_item_style = "mode/slide3"; + m_bookmark_genlist_item_class.decorate_item_style = "mode/slide2"; m_bookmark_genlist_item_class.decorate_all_item_style = "edit_default"; m_bookmark_genlist_item_class.func.text_get = __genlist_label_get_cb; m_bookmark_genlist_item_class.func.content_get = __genlist_icon_get_cb; @@ -1904,15 +2210,16 @@ Eina_Bool Browser_Bookmark_View::_set_controlbar_type(controlbar_type type) Elm_Object_Item *empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); elm_object_item_disabled_set(empty_item, EINA_TRUE); - elm_toolbar_item_append(m_bottom_control_bar, BROWSER_IMAGE_DIR"/01_controllbar_icon_close.png", NULL, - __edit_controlbar_item_clicked_cb, this); - - empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(empty_item, EINA_TRUE); m_bookmark_delete_controlbar_item = elm_toolbar_item_append(m_bottom_control_bar, BROWSER_IMAGE_DIR"/01_controlbar_icon_delete.png", NULL, __delete_controlbar_item_clicked_cb, this); + empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(empty_item, EINA_TRUE); + + elm_toolbar_item_append(m_bottom_control_bar, BROWSER_IMAGE_DIR"/01_controllbar_icon_close.png", NULL, + __edit_controlbar_item_clicked_cb, this); + if (type == BOOKMARK_VIEW_EDIT_MODE) { int delete_item_count = 0; Elm_Object_Item *it = elm_genlist_first_item_get(_get_current_folder_genlist()); diff --git a/src/browser-bookmark/browser-bookmark-view.h b/src/browser-bookmark/browser-bookmark-view.h index f8c4b2be..674b65a3 100755 --- a/src/browser-bookmark/browser-bookmark-view.h +++ b/src/browser-bookmark/browser-bookmark-view.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + #ifndef BROWSER_BOOKMARK_VIEW_H #define BROWSER_BOOKMARK_VIEW_H @@ -33,6 +36,8 @@ public: Eina_Bool init(void); void return_to_bookmark_view(int added_bookmark_id = -1); + Eina_Bool append_bookmark_item(const char *title, const char *url); + void delete_bookmark_item(int bookmark_id); protected: void history_item_clicked(const char *url); private: @@ -67,6 +72,7 @@ private: void _show_select_processing_popup(void); void _show_delete_processing_popup(void); Evas_Object *_show_delete_confirm_popup(void); + void _delete_bookmark_item_by_slide_button(Browser_Bookmark_DB::bookmark_item *item); Eina_Bool _set_controlbar_type(controlbar_type type); /* ecore timer callback functions */ @@ -79,6 +85,8 @@ private: /* elementary event callback functions. */ static void __select_processing_popup_response_cb(void *data, Evas_Object *obj, void *event_info); static void __delete_processing_popup_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __slide_edit_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __slide_delete_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __edit_bookmark_item_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __rename_folder_unfocus_cb(void *data, Evas_Object *obj, void *event_info); static void __rename_folder_entry_enter_key_cb(void *data, Evas_Object *obj, void *event_info); @@ -87,10 +95,16 @@ private: static void __edit_mode_select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __upper_folder_clicked_cb(void *data, Evas_Object *obj, void *eventInfo); static void __drag_genlist_cb(void *data, Evas_Object *obj, void *event_info); +#if defined(GENLIST_SWEEP) + static void __sweep_cancel_genlist_cb(void *data, Evas_Object *obj, void *event_info); + static void __sweep_left_genlist_cb(void *data, Evas_Object *obj, void *event_info); + static void __sweep_right_genlist_cb(void *data, Evas_Object *obj, void *event_info); +#endif static void __back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __edit_controlbar_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __controlbar_tab_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __bookmark_item_clicked_cb(void *data, Evas_Object *obj, void *eventInfo); + static void __delete_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, void *event_info); static void __cancel_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, void *event_info); static void __delete_confirm_response_by_edit_mode_cb(void *data, Evas_Object *obj, void *event_info); static void __create_folder_button(void *data, Evas_Object *obj, void *event_info); @@ -145,6 +159,8 @@ private: Evas_Object *m_processing_popup; Evas_Object *m_processing_popup_layout; Eina_Bool m_select_all_check_value; + + Elm_Object_Item *m_current_sweep_item; Elm_Object_Item *m_navi_it; Evas_Object *m_delete_confirm_popup; diff --git a/src/browser-bookmark/browser-new-folder-view.cpp b/src/browser-bookmark/browser-new-folder-view.cpp index af1d94c1..44ea2bb9 100755 --- a/src/browser-bookmark/browser-new-folder-view.cpp +++ b/src/browser-bookmark/browser-new-folder-view.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-bookmark-db.h" #include "browser-bookmark-view.h" @@ -77,7 +79,7 @@ void Browser_New_Folder_View::__save_button_clicked_cb(void *data, Evas_Object * const char *folder_name = new_folder_view->_trim(utf8_text); if (!folder_name || strlen(folder_name) == 0) { - new_folder_view->show_msg_popup(BR_STRING_EMPTY_FOLDER_NAME); + new_folder_view->show_msg_popup(BR_STRING_ENTER_FOLDER_NAME); BROWSER_LOGD("new_folder_view->m_folder_name.c_str() = [%s]", new_folder_view->m_folder_name.c_str()); elm_entry_entry_set(br_elm_editfield_entry_get(edit_field), new_folder_view->m_folder_name.c_str()); free(utf8_text); @@ -191,7 +193,7 @@ Evas_Object *Browser_New_Folder_View::__genlist_icon_get_cb(void *data, Evas_Obj } br_elm_editfield_entry_single_line_set(new_folder_view->m_folder_name_edit_field, EINA_TRUE); br_elm_editfield_label_set(new_folder_view->m_folder_name_edit_field, BR_STRING_TITLE); - br_elm_editfield_guide_text_set(new_folder_view->m_folder_name_edit_field, BR_STRING_CLICK_HERE); + br_elm_editfield_guide_text_set(new_folder_view->m_folder_name_edit_field, BR_STRING_ENTER_FOLDER_NAME); elm_entry_entry_set(br_elm_editfield_entry_get(new_folder_view->m_folder_name_edit_field), new_folder_view->m_folder_name.c_str()); diff --git a/src/browser-bookmark/browser-new-folder-view.h b/src/browser-bookmark/browser-new-folder-view.h index 22caea08..614ec654 100755 --- a/src/browser-bookmark/browser-new-folder-view.h +++ b/src/browser-bookmark/browser-new-folder-view.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_NEW_FOLDER_VIEW_H #define BROWSER_NEW_FOLDER_VIEW_H diff --git a/src/browser-bookmark/browser-select-folder-view.cpp b/src/browser-bookmark/browser-select-folder-view.cpp index 0c78b098..7758b961 100755 --- a/src/browser-bookmark/browser-select-folder-view.cpp +++ b/src/browser-bookmark/browser-select-folder-view.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-add-to-bookmark-view.h" #include "browser-bookmark-db.h" @@ -80,6 +82,11 @@ void Browser_Select_Folder_View::__folder_item_selected_cb(void *data, Evas_Obje select_folder_view->m_current_folder_id = item->id; elm_list_item_selected_set(it, EINA_FALSE); + + if (m_data_manager->get_edit_bookmark_view()) + m_data_manager->get_edit_bookmark_view()->return_to_add_to_bookmark_view(select_folder_view->m_current_folder_id); + else if (m_data_manager->get_add_to_bookmark_view()) + m_data_manager->get_add_to_bookmark_view()->return_to_add_to_bookmark_view(select_folder_view->m_current_folder_id); } void Browser_Select_Folder_View::_fill_folder_list(void) @@ -269,17 +276,6 @@ Eina_Bool Browser_Select_Folder_View::_create_main_layout(void) evas_object_smart_callback_add(m_cancel_button, "clicked", __cancel_button_clicked_cb, this); elm_object_item_part_content_set(m_navi_it, ELM_NAVIFRAME_ITEM_TITLE_LEFT_BTN, m_cancel_button); - m_done_button = elm_button_add(m_content_layout); - if (!m_done_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_done_button, "browser/title_button"); - elm_object_text_set(m_done_button, BR_STRING_DONE); - evas_object_show(m_done_button); - evas_object_smart_callback_add(m_done_button, "clicked", __done_button_clicked_cb, this); - elm_object_item_part_content_set(m_navi_it, ELM_NAVIFRAME_ITEM_TITLE_RIGHT_BTN, m_done_button); - return EINA_TRUE; } diff --git a/src/browser-bookmark/browser-select-folder-view.h b/src/browser-bookmark/browser-select-folder-view.h index bf4bc596..54719fa3 100755 --- a/src/browser-bookmark/browser-select-folder-view.h +++ b/src/browser-bookmark/browser-select-folder-view.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_SELECT_FOLDER_VIEW_H #define BROWSER_SELECT_FOLDER_VIEW_H diff --git a/src/browser-class.cpp b/src/browser-class.cpp index 339f6992..2091ab32 100755 --- a/src/browser-class.cpp +++ b/src/browser-class.cpp @@ -1,48 +1,44 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-authentication-manager.h" -#include "browser-certificate-manager.h" + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-class.h" #include "browser-context-menu.h" -#include "browser-download-manager.h" -#include "browser-exscheme-handler.h" #include "browser-find-word.h" +#include "browser-geolocation.h" +#ifdef USE_META_TAG +#include "browser-meta-tag.h" +#endif #include "browser-multi-window-view.h" #include "browser-network-manager.h" -#include "browser-notification-manager.h" -#include "browser-picker-handler.h" #include "browser-user-agent-db.h" -#include "browser-view.h" #include "browser-window.h" +#include "browser-policy-decision-maker.h" -Browser_Class::Browser_Class(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg, Evas_Object *layout) +Browser_Class::Browser_Class(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg) : m_win(win) ,m_navi_bar(navi_bar) ,m_bg(bg) - ,m_layout(layout) ,m_browser_view(NULL) ,m_focused_window(NULL) ,m_user_agent_db(NULL) - ,m_download_manager(NULL) + ,m_download_policy(NULL) ,m_clean_up_windows_timer(NULL) - ,m_authentication_manager(NULL) - ,m_certificate_manager(NULL) - ,m_notification_manager(NULL) + ,m_geolocation(NULL) ,m_network_manager(NULL) { m_window_list.clear(); @@ -56,14 +52,10 @@ Browser_Class::~Browser_Class(void) delete m_browser_view; if (m_user_agent_db) delete m_user_agent_db; - if (m_download_manager) - delete m_download_manager; - if (m_authentication_manager) - delete m_authentication_manager; - if (m_certificate_manager) - delete m_certificate_manager; - if (m_notification_manager) - delete m_notification_manager; + if (m_download_policy) + delete m_download_policy; + if (m_geolocation) + delete m_geolocation; if (m_network_manager) delete m_network_manager; @@ -75,25 +67,35 @@ Browser_Class::~Browser_Class(void) if (m_clean_up_windows_timer) ecore_timer_del(m_clean_up_windows_timer); +} - if (!ewk_cache_dump()) - BROWSER_LOGE("ewk_cache_dump failed"); +Eina_Bool Browser_Class::__create_network_manager_idler_cb(void *data) +{ + Browser_Class *browser = (Browser_Class *)data; + + browser->m_network_manager = new(nothrow) Browser_Network_Manager; + if (!browser->m_network_manager) { + BROWSER_LOGE("new Browser_Network_Manager failed"); + return ECORE_CALLBACK_CANCEL; + } + if (!browser->m_network_manager->init(browser->m_browser_view)) { + BROWSER_LOGE("m_network_manager->init failed"); + return ECORE_CALLBACK_CANCEL; + } - ewk_shutdown(); + return ECORE_CALLBACK_CANCEL; } Eina_Bool Browser_Class::init(void) { BROWSER_LOGD("[%s]", __func__); - ewk_init(); - m_user_agent_db = new(nothrow) Browser_User_Agent_DB; if (!m_user_agent_db) { BROWSER_LOGE("new Browser_User_Agent_DB failed"); return EINA_FALSE; } - m_browser_view = new(nothrow) Browser_View(m_win, m_navi_bar, m_bg, m_layout, this); + m_browser_view = new(nothrow) Browser_View(m_win, m_navi_bar, m_bg, this); /* Create browser view layout */ if (m_browser_view) { if (!m_browser_view->init()) { @@ -103,34 +105,15 @@ Eina_Bool Browser_Class::init(void) } else return EINA_FALSE; - m_download_manager = new(nothrow) Browser_Download_Manager(m_navi_bar, m_browser_view); - if (!m_download_manager) { + m_download_policy = new(nothrow) Browser_Policy_Decision_Maker(m_navi_bar, m_browser_view); + if (!m_download_policy) { BROWSER_LOGE("new Browser_Policy_Decision_Maker failed"); return EINA_FALSE; } - m_authentication_manager = new(nothrow) Browser_Authetication_Manager; - if (!m_authentication_manager) { - BROWSER_LOGE("new Browser_Authetication_Manager failed"); - return EINA_FALSE; - } - m_authentication_manager->init(); - - m_certificate_manager = new(nothrow) Browser_Certificate_Manager; - if (!m_certificate_manager) { - BROWSER_LOGE("new Browser_Certificate_Manager failed"); - return EINA_FALSE; - } - if (!m_certificate_manager->init()) { - BROWSER_LOGE("m_certificate_manager->init failed"); - delete m_certificate_manager; - m_certificate_manager = NULL; - return EINA_FALSE; - } - - m_notification_manager = new(nothrow) Browser_Notification_Manager; - if (!m_notification_manager) { - BROWSER_LOGE("new Browser_Notification_Manager failed"); + m_geolocation = new(nothrow) Browser_Geolocation; + if (!m_geolocation) { + BROWSER_LOGE("new Browser_Geolocation failed"); return EINA_FALSE; } @@ -139,197 +122,125 @@ Eina_Bool Browser_Class::init(void) BROWSER_LOGE("new Browser_Network_Manager failed"); return EINA_FALSE; } - - if (!_set_ewk_view_options_listener()) { - BROWSER_LOGE("_set_ewk_view_options_listener failed"); + if (!m_network_manager->init(m_browser_view)) { + BROWSER_LOGE("m_network_manager->init failed"); return EINA_FALSE; } - if (!ewk_settings_icon_database_path_set(DATABASE_DIR)) { - BROWSER_LOGE("ewk_settings_icon_database_path_set failed"); + if (!_set_ewk_view_options_listener()) { + BROWSER_LOGE("_set_ewk_view_options_listener failed"); return EINA_FALSE; } - if (!ewk_cache_init(WEBKIT_SOUP_CACHE_DIR, EINA_FALSE)) { - BROWSER_LOGE("ewk_cache_init failed"); - return EINA_FALSE; - } - if (!ewk_cache_load()) { - BROWSER_LOGE("ewk_cache_load failed"); - return EINA_FALSE; - } - if (!ewk_cookies_file_set(DATABASE_DIR"/"COOKIES_DATABASENAME)) { - BROWSER_LOGE("ewk_cookies_file_set failed"); - return EINA_FALSE; - } + ewk_context_cache_model_set(ewk_context_default_get(), EWK_CACHE_MODEL_PRIMARY_WEBBROWSER); return EINA_TRUE; } -void Browser_Class::__vconf_changed_cb(keynode_t *keynode, void *data) +void Browser_Class::__preference_changed_cb(const char *key, void *data) { BROWSER_LOGD("[%s]", __func__); if (!data) return; Browser_Class *browser = (Browser_Class *)data; - char *key = vconf_keynode_get_name(keynode); + if (!key || strlen(key) == 0) { BROWSER_LOGD("vconf_keynode_get_name failed"); return; } - if (!strncmp(key, USERAGENT_KEY, strlen(USERAGENT_KEY))) { + if (!strncmp(key, DEFAULT_VIEW_LEVEL_KEY, strlen(DEFAULT_VIEW_LEVEL_KEY))) { for (int i = 0 ; i < browser->m_window_list.size() ; i++) { - if (browser->m_window_list[i]->m_ewk_view) { - if (!browser->_set_user_agent(browser->m_window_list[i]->m_ewk_view)) - BROWSER_LOGE("_set_user_agent failed"); + char *default_level = NULL; + if (br_preference_get_str(DEFAULT_VIEW_LEVEL_KEY, &default_level) == false) { + BROWSER_LOGE("failed to get %s preference\n", DEFAULT_VIEW_LEVEL_KEY); + return; } - } - } else if (!strncmp(key, DEFAULT_VIEW_LEVEL_KEY, strlen(DEFAULT_VIEW_LEVEL_KEY))) { - char *default_level = vconf_get_str(DEFAULT_VIEW_LEVEL_KEY); - for (int i = 0 ; i < browser->m_window_list.size() ; i++) { if (default_level && browser->m_window_list[i]->m_ewk_view) { + Ewk_Setting *setting = ewk_view_setting_get(browser->m_window_list[i]->m_ewk_view); if (!strncmp(default_level, FIT_TO_WIDTH, strlen(FIT_TO_WIDTH))) - elm_webview_auto_fitting_set(browser->m_window_list[i]->m_ewk_view, EINA_TRUE); + ewk_setting_auto_fitting_set(setting, EINA_TRUE); else - elm_webview_auto_fitting_set(browser->m_window_list[i]->m_ewk_view, EINA_FALSE); + ewk_setting_auto_fitting_set(setting, EINA_FALSE); + free(default_level); + default_level = NULL; } + if (default_level) + free(default_level); } - if (default_level) - free(default_level); } else if (!strncmp(key, RUN_JAVASCRIPT_KEY, strlen(RUN_JAVASCRIPT_KEY))) { - int run_javascript = 1; - if (vconf_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", RUN_JAVASCRIPT_KEY); for (int i = 0 ; i < browser->m_window_list.size() ; i++) { if (browser->m_window_list[i]->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser->m_window_list[i]->m_ewk_view); - if (run_javascript) { - if (!ewk_view_setting_enable_scripts_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_enable_scripts_set failed"); - } else { - if (!ewk_view_setting_enable_scripts_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_enable_scripts_set failed"); - } + Ewk_Setting *setting = ewk_view_setting_get(browser->m_window_list[i]->m_ewk_view); + bool run_javascript = 1; + br_preference_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript); + if (run_javascript) + ewk_setting_enable_scripts_set(setting, EINA_TRUE); + else + ewk_setting_enable_scripts_set(setting, EINA_FALSE); } } } else if (!strncmp(key, DISPLAY_IMAGES_KEY, strlen(DISPLAY_IMAGES_KEY))) { - int display_images = 1; - if (vconf_get_bool(DISPLAY_IMAGES_KEY, &display_images) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", DISPLAY_IMAGES_KEY); for (int i = 0 ; i < browser->m_window_list.size() ; i++) { if (browser->m_window_list[i]->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser->m_window_list[i]->m_ewk_view); - if (display_images) { - if (!ewk_view_setting_auto_load_images_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_auto_load_images_set failed"); - } else { - if (!ewk_view_setting_auto_load_images_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_auto_load_images_set failed"); - } - } - } - } else if (!strncmp(key, BLOCK_POPUP_KEY, strlen(BLOCK_POPUP_KEY))) { - int block_popup = 1; - if (vconf_get_bool(BLOCK_POPUP_KEY, &block_popup) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", BLOCK_POPUP_KEY); - for (int i = 0 ; i < browser->m_window_list.size() ; i++) { - if (browser->m_window_list[i]->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser->m_window_list[i]->m_ewk_view); - if (block_popup) { - if (!ewk_view_setting_scripts_window_open_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_scripts_window_open_set failed"); - } else { - if (!ewk_view_setting_scripts_window_open_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_scripts_window_open_set failed"); - } + Ewk_Setting *setting = ewk_view_setting_get(browser->m_window_list[i]->m_ewk_view); + bool display_images = 1; + br_preference_get_bool(DISPLAY_IMAGES_KEY, &display_images); + if (display_images) + ewk_setting_auto_load_images_set(setting, EINA_TRUE); + else + ewk_setting_auto_load_images_set(setting, EINA_FALSE); } } } else if (!strncmp(key, ACCEPT_COOKIES_KEY, strlen(ACCEPT_COOKIES_KEY))) { - int accept_cookies = 1; - if (vconf_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", ACCEPT_COOKIES_KEY); + bool accept_cookies = 1; + br_preference_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies); if (accept_cookies) - ewk_cookies_policy_set(EWK_COOKIE_JAR_ACCEPT_ALWAYS); + ewk_context_cookies_policy_set(ewk_context_default_get(), EWK_COOKIE_JAR_ACCEPT_ALWAYS); else - ewk_cookies_policy_set(EWK_COOKIE_JAR_ACCEPT_NEVER); - } else if (!strncmp(key, RUN_PLUGINS_KEY, strlen(RUN_PLUGINS_KEY))) { - int run_plugins = 1; - if (vconf_get_bool(RUN_PLUGINS_KEY, &run_plugins) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", RUN_PLUGINS_KEY); - + ewk_context_cookies_policy_set(ewk_context_default_get(), EWK_COOKIE_JAR_ACCEPT_NEVER); + } else if (!strncmp(key, BLOCK_POPUP_KEY, strlen(BLOCK_POPUP_KEY))) { for (int i = 0 ; i < browser->m_window_list.size() ; i++) { if (browser->m_window_list[i]->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser->m_window_list[i]->m_ewk_view); - if (run_plugins) { - if (!ewk_view_setting_enable_plugins_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_enable_plugins_set failed"); - if (!ewk_view_setting_enable_specified_plugin_set(webkit, - EINA_TRUE, BROWSER_FLASH_MIME_TYPE)) { - BROWSER_LOGE("ewk_view_setting_enable_specified_plugin_set failed"); - } - } else { - if (!ewk_view_setting_enable_plugins_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_enable_plugins_set failed"); - if (!ewk_view_setting_enable_specified_plugin_set(webkit, - EINA_FALSE, BROWSER_FLASH_MIME_TYPE)) { - BROWSER_LOGE("ewk_view_setting_enable_specified_plugin_set failed"); - } - } + Ewk_Setting *setting = ewk_view_setting_get(browser->m_window_list[i]->m_ewk_view); + bool block_popup = 0; + br_preference_get_bool(BLOCK_POPUP_KEY, &block_popup); + if (block_popup) + ewk_setting_scripts_window_open_set(setting, EINA_FALSE); + else + ewk_setting_scripts_window_open_set(setting, EINA_TRUE); } } - }else if (!strncmp(key, ACCELERATED_COMPOSITION_KEY, strlen(ACCELERATED_COMPOSITION_KEY))) { - BROWSER_LOGD("ACCELERATED_COMPOSITION_KEY"); - int accelerated_composition = 1; - if (vconf_get_bool(ACCELERATED_COMPOSITION_KEY, &accelerated_composition) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", ACCELERATED_COMPOSITION_KEY); + } else if (!strncmp(key, SHOW_SECURITY_WARNINGS_KEY, strlen(SHOW_SECURITY_WARNINGS_KEY))) { + bool security_warnings = 1; + br_preference_get_bool(SHOW_SECURITY_WARNINGS_KEY, &security_warnings); + } +} + +void Browser_Class::__vconf_changed_cb(keynode_t *keynode, void *data) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; - int external_video_player = 0; - if (vconf_get_bool(EXTERNAL_VIDEO_PLAYER_KEY, &external_video_player) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", EXTERNAL_VIDEO_PLAYER_KEY); + Browser_Class *browser = (Browser_Class *)data; + char *key = vconf_keynode_get_name(keynode); - for (int i = 0 ; i < browser->m_window_list.size() ; i++) { - if (browser->m_window_list[i]->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser->m_window_list[i]->m_ewk_view); - if (accelerated_composition) { - if (!ewk_view_setting_accelerated_compositing_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_accelerated_compositing_enable_set failed"); - if (external_video_player) { - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } else { - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } - } else { - if (!ewk_view_setting_accelerated_compositing_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_accelerated_compositing_enable_set failed"); - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } - } - } - }else if (!strncmp(key, EXTERNAL_VIDEO_PLAYER_KEY, strlen(EXTERNAL_VIDEO_PLAYER_KEY))) { - int external_video_player = 0; - if (vconf_get_bool(EXTERNAL_VIDEO_PLAYER_KEY, &external_video_player) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", EXTERNAL_VIDEO_PLAYER_KEY); + if (!key || strlen(key) == 0) { + BROWSER_LOGD("vconf_keynode_get_name failed"); + return; + } + if (!strncmp(key, USERAGENT_KEY, strlen(USERAGENT_KEY))) { for (int i = 0 ; i < browser->m_window_list.size() ; i++) { if (browser->m_window_list[i]->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser->m_window_list[i]->m_ewk_view); - if (external_video_player) { - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } else { - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } + if (!browser->_set_user_agent(browser->m_window_list[i]->m_ewk_view)) + BROWSER_LOGE("_set_user_agent failed"); } } } - } Eina_Bool Browser_Class::_set_ewk_view_options_listener(void) @@ -339,39 +250,31 @@ Eina_Bool Browser_Class::_set_ewk_view_options_listener(void) BROWSER_LOGE("user agent vconf_notify_key_changed failed"); return EINA_FALSE; } - if (vconf_notify_key_changed(DEFAULT_VIEW_LEVEL_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("default view level vconf_notify_key_changed failed"); - return EINA_FALSE; - } - if (vconf_notify_key_changed(RUN_JAVASCRIPT_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("run javascript level vconf_notify_key_changed failed"); - return EINA_FALSE; - } - if (vconf_notify_key_changed(DISPLAY_IMAGES_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("display images level vconf_notify_key_changed failed"); + + if (br_preference_set_changed_cb(DEFAULT_VIEW_LEVEL_KEY, __preference_changed_cb, this) < 0) { + BROWSER_LOGE("default view level br_preference_set_changed_cb failed"); return EINA_FALSE; } - if (vconf_notify_key_changed(BLOCK_POPUP_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("BLOCK_POPUP_KEY vconf_notify_key_changed failed"); + if (br_preference_set_changed_cb(RUN_JAVASCRIPT_KEY, __preference_changed_cb, this) < 0) { + BROWSER_LOGE("run javascript level br_preference_set_changed_cb failed"); return EINA_FALSE; } - if (vconf_notify_key_changed(ACCEPT_COOKIES_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("ACCEPT_COOKIES_KEY vconf_notify_key_changed failed"); + if (br_preference_set_changed_cb(DISPLAY_IMAGES_KEY, __preference_changed_cb, this) < 0) { + BROWSER_LOGE("display images level br_preference_set_changed_cb failed"); return EINA_FALSE; } - if (vconf_notify_key_changed(RUN_PLUGINS_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("RUN_PLUGINS_KEY vconf_notify_key_changed failed"); + if (br_preference_set_changed_cb(ACCEPT_COOKIES_KEY, __preference_changed_cb, this) < 0) { + BROWSER_LOGE("accept cookie br_preference_set_changed_cb failed"); return EINA_FALSE; } - if (vconf_notify_key_changed(ACCELERATED_COMPOSITION_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("ACCELERATED_COMPOSITION_KEY vconf_notify_key_changed failed"); + if (!br_preference_set_changed_cb(BLOCK_POPUP_KEY, __preference_changed_cb, this)) { + BROWSER_LOGE("BLOCK_POPUP_KEY vconf_notify_key_changed failed"); return EINA_FALSE; } - if (vconf_notify_key_changed(EXTERNAL_VIDEO_PLAYER_KEY, __vconf_changed_cb, this) < 0) { - BROWSER_LOGE("EXTERNAL_VIDEO_PLAYER_KEY vconf_notify_key_changed failed"); + if (!br_preference_set_changed_cb(SHOW_SECURITY_WARNINGS_KEY, __preference_changed_cb, this)) { + BROWSER_LOGE("SHOW_SECURITY_WARNINGS_KEY vconf_notify_key_changed failed"); return EINA_FALSE; } - return EINA_TRUE; } @@ -382,269 +285,163 @@ Eina_Bool Browser_Class::_set_ewk_view_options(Evas_Object *ewk_view) if (!_set_user_agent(ewk_view)) BROWSER_LOGE("_set_user_agent failed"); - char *default_level = vconf_get_str(DEFAULT_VIEW_LEVEL_KEY); + ewk_context_icon_database_path_set(ewk_view_context_get(ewk_view), BROWSER_FAVICON_DB_PATH); + + Ewk_Setting *setting = ewk_view_setting_get(ewk_view); + ewk_setting_show_ime_on_autofocus_set(setting, EINA_FALSE); + + char *default_level = NULL; + if (br_preference_get_str(DEFAULT_VIEW_LEVEL_KEY, &default_level) == false) { + BROWSER_LOGE("failed to get %s preference", DEFAULT_VIEW_LEVEL_KEY); + return EINA_FALSE; + } if (default_level) { if (!strncmp(default_level, FIT_TO_WIDTH, strlen(FIT_TO_WIDTH))) - elm_webview_auto_fitting_set(ewk_view, EINA_TRUE); + ewk_setting_auto_fitting_set(setting, EINA_TRUE); else - elm_webview_auto_fitting_set(ewk_view, EINA_FALSE); - + ewk_setting_auto_fitting_set(setting, EINA_FALSE); free(default_level); } - int run_javascript = 1; - if (vconf_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", RUN_JAVASCRIPT_KEY); - Evas_Object *webkit = elm_webview_webkit_get(ewk_view); - if (run_javascript) { - if (!ewk_view_setting_enable_scripts_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_enable_scripts_set failed"); - } else { - if (!ewk_view_setting_enable_scripts_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_enable_scripts_set failed"); - } - - int display_images = 1; - if (vconf_get_bool(DISPLAY_IMAGES_KEY, &display_images) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", DISPLAY_IMAGES_KEY); - if (display_images) { - if (!ewk_view_setting_auto_load_images_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_auto_load_images_set failed"); - } else { - if (!ewk_view_setting_auto_load_images_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_auto_load_images_set failed"); - } + bool run_javascript = 1; + br_preference_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript); + if (run_javascript) + ewk_setting_enable_scripts_set(setting, EINA_TRUE); + else + ewk_setting_enable_scripts_set(setting, EINA_FALSE); - int block_popup = 1; - if (vconf_get_bool(BLOCK_POPUP_KEY, &block_popup) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", BLOCK_POPUP_KEY); - if (block_popup) { - if (!ewk_view_setting_scripts_window_open_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_scripts_window_open_set failed"); - } else { - if (!ewk_view_setting_scripts_window_open_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_auto_load_images_set failed"); - } + bool display_images = 1; + br_preference_get_bool(DISPLAY_IMAGES_KEY, &display_images); + if (display_images) + ewk_setting_enable_plugins_set(setting, EINA_TRUE); + else + ewk_setting_enable_plugins_set(setting, EINA_FALSE); - int accept_cookies = 1; - if (vconf_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", ACCEPT_COOKIES_KEY); + bool accept_cookies = 1; + br_preference_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies); if (accept_cookies) - ewk_cookies_policy_set(EWK_COOKIE_JAR_ACCEPT_ALWAYS); + ewk_context_cookies_policy_set(ewk_context_default_get(), EWK_COOKIE_JAR_ACCEPT_ALWAYS); else - ewk_cookies_policy_set(EWK_COOKIE_JAR_ACCEPT_NEVER); - - int run_plugins = 1; - if (vconf_get_bool(RUN_PLUGINS_KEY, &run_plugins) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", RUN_PLUGINS_KEY); - if (run_plugins) { - if (!ewk_view_setting_enable_plugins_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_enable_plugins_set failed"); - if (!ewk_view_setting_enable_specified_plugin_set(webkit, - EINA_TRUE, BROWSER_FLASH_MIME_TYPE)) { - BROWSER_LOGE("ewk_view_setting_enable_specified_plugin_set failed"); - } - } else { - if (!ewk_view_setting_enable_plugins_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_enable_plugins_set failed"); - if (!ewk_view_setting_enable_specified_plugin_set(webkit, - EINA_FALSE, BROWSER_FLASH_MIME_TYPE)) { - BROWSER_LOGE("ewk_view_setting_enable_specified_plugin_set failed"); - } - } - int accelerated_composition = 1; - if (vconf_get_bool(ACCELERATED_COMPOSITION_KEY, &accelerated_composition) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", ACCELERATED_COMPOSITION_KEY); - if (accelerated_composition) { - if (!ewk_view_setting_accelerated_compositing_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_accelerated_compositing_enable_set failed"); -/* if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_FALSE)) { - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } - */ - } else { - if (!ewk_view_setting_accelerated_compositing_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_accelerated_compositing_enable_set failed"); - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_TRUE)) { - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } - } + ewk_context_cookies_policy_set(ewk_context_default_get(), EWK_COOKIE_JAR_ACCEPT_NEVER); - int external_video_player = 1; - if (vconf_get_bool(EXTERNAL_VIDEO_PLAYER_KEY, &external_video_player) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", EXTERNAL_VIDEO_PLAYER_KEY); - if (external_video_player) { - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } else { - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - } - elm_webview_enable_default_context_menu_set(ewk_view, EINA_TRUE); - elm_webview_auto_suspend_set(ewk_view, EINA_TRUE); - elm_webview_use_mouse_down_delay_set(ewk_view, EINA_TRUE); - elm_webview_show_ime_on_autofocus_set(ewk_view, EINA_FALSE); + bool block_popup = 0; + br_preference_get_bool(BLOCK_POPUP_KEY, &block_popup); + if (block_popup) + ewk_setting_scripts_window_open_set(setting, EINA_FALSE); + else + ewk_setting_scripts_window_open_set(setting, EINA_TRUE); - ewk_view_visibility_state_set(webkit, EWK_PAGE_VISIBILITY_STATE_VISIBLE, EINA_TRUE); + ewk_view_recording_surface_enable_set(ewk_view, EINA_TRUE); + ewk_setting_layer_borders_enable_set(ewk_view_setting_get(ewk_view), false); + ewk_setting_enable_plugins_set(setting, EINA_TRUE); - if (!ewk_view_setting_geolocation_set(webkit, EINA_TRUE)) { - BROWSER_LOGE("ewk_view_setting_geolocation_set failed"); - return EINA_FALSE; - } - if (!ewk_view_setting_enable_frame_flattening_set(webkit, EINA_TRUE)) { - BROWSER_LOGE("ewk_view_setting_enable_frame_flattening_set failed"); - return EINA_FALSE; - } - if (!ewk_view_setting_local_storage_database_path_set(webkit, DATABASE_DIR)) { - BROWSER_LOGE("ewk_view_setting_local_storage_database_path_set failed"); - return EINA_FALSE; - } - if (!ewk_view_setting_enable_onscroll_event_suppression_set(webkit, EINA_TRUE)) { - BROWSER_LOGE("ewk_view_setting_enable_onscroll_event_suppression_set failed"); - return EINA_FALSE; - } if (!_set_http_accepted_language_header(ewk_view)) { BROWSER_LOGE("_set_http_accepted_language_header failed"); return EINA_FALSE; } - m_browser_view->m_exscheme_handler->init(m_browser_view, ewk_view); - - if (!m_network_manager->init(m_browser_view, ewk_view)) { - BROWSER_LOGE("m_network_manager->init failed"); - return EINA_FALSE; - } - - /* If not debug mode, set the default setting. */ - if (!ewk_view_setting_recording_surface_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_recording_surface_enable_set failed"); - if (!ewk_view_setting_accelerated_compositing_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_accelerated_compositing_enable_set failed"); - if (!ewk_view_setting_html5video_external_player_enable_set(webkit, EINA_TRUE)) - BROWSER_LOGE("ewk_view_setting_html5video_external_player_enable_set failed"); - if (!ewk_view_setting_layer_borders_enable_set(webkit, EINA_FALSE)) - BROWSER_LOGE("ewk_view_setting_layer_borders_enable_set failed"); - - Ewk_Tile_Unused_Cache *unused_cache = ewk_view_tiled_unused_cache_get(webkit); - if (unused_cache) - ewk_tile_unused_cache_max_set(unused_cache, BACKING_STORE_CACHE_SIZE); - - return EINA_TRUE; -} - -Eina_Bool Browser_Class::_set_http_accepted_language_header(Evas_Object *ewk_view) -{ - BROWSER_LOGD("[%s]", __func__); - - char *system_language_locale = NULL; - char system_language[3] = {0,}; - Evas_Object *webkit = NULL; - - webkit = elm_webview_webkit_get(ewk_view); - system_language_locale = vconf_get_str("db/menu_widget/language"); - BROWSER_LOGD("system language and locale is [%s]\n", system_language_locale); - if (!system_language_locale) { - BROWSER_LOGD("Failed to get system_language, set as English"); - strncpy(system_language, "en", 2); /* Copy language set as english */ - } else { - /* Copy language set from system using 2byte, ex)ko */ - strncpy(system_language, system_language_locale, 2); - } - - if (system_language_locale) - free(system_language_locale); - - if (!ewk_view_setting_custom_header_add(webkit, "Accept-Language", system_language)) { - BROWSER_LOGD("ewk_view_setting_custom_header_add is failed"); - return EINA_FALSE; - } - return EINA_TRUE; } void Browser_Class::ewk_view_deinit(Evas_Object *ewk_view) { BROWSER_LOGD("[%s]", __func__); - - evas_object_smart_callback_del(ewk_view, "edge,top", Browser_View::__ewk_view_edge_top_cb); - - Evas_Object *webkit = elm_webview_webkit_get(ewk_view); - evas_object_event_callback_del(webkit, EVAS_CALLBACK_MOUSE_MOVE, Browser_View::__ewk_view_mouse_move_cb); - evas_object_event_callback_del(webkit, EVAS_CALLBACK_MOUSE_DOWN, Browser_View::__ewk_view_mouse_down_cb); - evas_object_event_callback_del(webkit, EVAS_CALLBACK_MOUSE_UP, Browser_View::__ewk_view_mouse_up_cb); - evas_object_event_callback_del(webkit, EVAS_CALLBACK_MOUSE_UP, Browser_View::__ewk_view_multi_down_cb); - - evas_object_smart_callback_del(webkit, "uri,changed", Browser_View::__uri_changed_cb); - evas_object_smart_callback_del(webkit, "load,started", Browser_View::__load_started_cb); - evas_object_smart_callback_del(webkit, "load,progress", Browser_View::__load_progress_cb); - evas_object_smart_callback_del(webkit, "load,finished", Browser_View::__load_finished_cb); - evas_object_smart_callback_del(ewk_view_frame_main_get(webkit), "load,nonemptylayout,finished", - Browser_View::__load_nonempty_layout_finished_cb); - evas_object_smart_callback_del(webkit, "create,webview", Browser_View::__create_webview_cb); - evas_object_smart_callback_del(webkit, "window,close", Browser_View::__window_close_cb); - - evas_object_smart_callback_del(ewk_view_frame_main_get(webkit), "html,boundary,reached", - Browser_View::__html_boundary_reached_cb); - evas_object_smart_callback_del(webkit, "html5video,request", Browser_View::__html5_video_request_cb); - evas_object_smart_callback_del(webkit, "vibrator,vibrate", Browser_View::__vibrator_vibrate_cb); - evas_object_smart_callback_del(webkit, "vibrator,cancel", Browser_View::__vibrator_cancel_cb); - - m_browser_view->suspend_webview(ewk_view); - - m_download_manager->deinit(); - m_notification_manager->deinit(); - - m_browser_view->deinit_personal_data_manager(); - - m_browser_view->m_picker_handler->deinit(); - + evas_object_smart_callback_del(ewk_view, "load,started", Browser_View::__load_started_cb); + evas_object_smart_callback_del(ewk_view, "load,committed", Browser_View::__load_committed_cb); + evas_object_smart_callback_del(ewk_view, "load,nonemptylayout,finished", + Browser_View::__load_nonempty_layout_finished_cb); + evas_object_smart_callback_del(ewk_view, "title,changed", Browser_View::__title_changed_cb); + evas_object_smart_callback_del(ewk_view, "load,progress", Browser_View::__load_progress_cb); + evas_object_smart_callback_del(ewk_view, "load,finished", Browser_View::__did_finish_load_for_frame_cb); + evas_object_smart_callback_del(ewk_view, "process,crashed", Browser_View::__process_crashed_cb); + evas_object_event_callback_del(ewk_view, EVAS_CALLBACK_MOUSE_DOWN, + Browser_View::__ewk_view_mouse_down_cb); + evas_object_event_callback_del(ewk_view, EVAS_CALLBACK_MOUSE_UP, + Browser_View::__ewk_view_mouse_up_cb); + evas_object_smart_callback_del(ewk_view, "edge,top", + Browser_View::__ewk_view_edge_top_cb); + evas_object_smart_callback_del(ewk_view, "edge,bottom", + Browser_View::__ewk_view_scroll_down_cb); + evas_object_smart_callback_del(ewk_view, "scroll,down", + Browser_View::__ewk_view_scroll_down_cb); + evas_object_smart_callback_del(ewk_view, "scroll,up", + Browser_View::__ewk_view_scroll_up_cb); + evas_object_smart_callback_del(ewk_view, "fullscreen,enterfullscreen", + Browser_View::__ewk_view_enter_full_screen_cb); + evas_object_smart_callback_del(ewk_view, "fullscreen,exitfullscreen", + Browser_View::__ewk_view_exit_full_screen_cb); + evas_object_smart_callback_del(ewk_view, "vibration,vibrate", + Browser_View::__ewk_view_vibration_vibrate_cb); + evas_object_smart_callback_del(ewk_view, "vibration,cancel", + Browser_View::__ewk_view_vibration_cancel_cb); + + evas_object_smart_callback_del(ewk_view, "create,window", Browser_View::__create_window_cb); + evas_object_smart_callback_del(ewk_view, "close,window", Browser_View::__close_window_cb); + + evas_object_smart_callback_del(ewk_view, "request,geolocation,permission", + Browser_Geolocation::__geolocation_permission_request_cb); + m_download_policy->deinit(); m_browser_view->m_context_menu->deinit(); +#ifdef USE_META_TAG + m_browser_view->m_meta_tag->deinit(); +#endif + + m_browser_view->suspend_ewk_view(ewk_view); } void Browser_Class::ewk_view_init(Evas_Object *ewk_view) { BROWSER_LOGD("[%s]", __func__); - ewk_view_deinit(ewk_view); - evas_object_smart_callback_add(ewk_view, "edge,top", - Browser_View::__ewk_view_edge_top_cb, m_browser_view); - - Evas_Object *webkit = elm_webview_webkit_get(ewk_view); - evas_object_event_callback_add(webkit, EVAS_CALLBACK_MOUSE_MOVE, - Browser_View::__ewk_view_mouse_move_cb, m_browser_view); - evas_object_event_callback_add(webkit, EVAS_CALLBACK_MOUSE_DOWN, + evas_object_smart_callback_add(ewk_view, "load,started", + Browser_View::__load_started_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "load,committed", + Browser_View::__load_committed_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "load,nonemptylayout,finished", + Browser_View::__load_nonempty_layout_finished_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "title,changed", + Browser_View::__title_changed_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "load,progress", + Browser_View::__load_progress_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "load,finished", + Browser_View::__did_finish_load_for_frame_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "process,crashed", + Browser_View::__process_crashed_cb, m_browser_view); + evas_object_event_callback_add(ewk_view, EVAS_CALLBACK_MOUSE_DOWN, Browser_View::__ewk_view_mouse_down_cb, m_browser_view); - evas_object_event_callback_add(webkit, EVAS_CALLBACK_MOUSE_UP, + evas_object_event_callback_add(ewk_view, EVAS_CALLBACK_MOUSE_UP, Browser_View::__ewk_view_mouse_up_cb, m_browser_view); - evas_object_event_callback_add(webkit, EVAS_CALLBACK_MULTI_DOWN, - Browser_View::__ewk_view_multi_down_cb, m_browser_view); - - evas_object_smart_callback_add(webkit, "uri,changed", Browser_View::__uri_changed_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "load,started", Browser_View::__load_started_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "load,progress", Browser_View::__load_progress_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "load,finished", Browser_View::__load_finished_cb, m_browser_view); - evas_object_smart_callback_add(ewk_view_frame_main_get(webkit), "load,nonemptylayout,finished", - Browser_View::__load_nonempty_layout_finished_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "create,webview", Browser_View::__create_webview_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "window,close", Browser_View::__window_close_cb, m_browser_view); - evas_object_smart_callback_add(ewk_view_frame_main_get(webkit), "html,boundary,reached", - Browser_View::__html_boundary_reached_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "html5video,request", - Browser_View::__html5_video_request_cb, m_browser_view); - evas_object_smart_callback_add(webkit, "vibrator,vibrate", Browser_View::__vibrator_vibrate_cb, NULL); - evas_object_smart_callback_add(webkit, "vibrator,cancel", Browser_View::__vibrator_cancel_cb, NULL); - - m_browser_view->resume_webview(ewk_view); - - m_download_manager->init(ewk_view); - m_notification_manager->init(ewk_view); - - m_browser_view->init_personal_data_manager(ewk_view); - m_browser_view->m_picker_handler->init(ewk_view); - - if (!m_browser_view->m_context_menu->init(ewk_view)) - BROWSER_LOGE("m_context_menu->init failed"); + evas_object_smart_callback_add(ewk_view, "edge,top", + Browser_View::__ewk_view_edge_top_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "edge,bottom", + Browser_View::__ewk_view_scroll_down_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "scroll,down", + Browser_View::__ewk_view_scroll_down_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "scroll,up", + Browser_View::__ewk_view_scroll_up_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "fullscreen,enterfullscreen", + Browser_View::__ewk_view_enter_full_screen_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "fullscreen,exitfullscreen", + Browser_View::__ewk_view_exit_full_screen_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "vibration,vibrate", + Browser_View::__ewk_view_vibration_vibrate_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "vibration,cancel", + Browser_View::__ewk_view_vibration_cancel_cb, m_browser_view); + + evas_object_smart_callback_add(ewk_view, "create,window", Browser_View::__create_window_cb, m_browser_view); + evas_object_smart_callback_add(ewk_view, "close,window", Browser_View::__close_window_cb, m_browser_view); + + evas_object_smart_callback_add(ewk_view, "request,geolocation,permission", + Browser_Geolocation::__geolocation_permission_request_cb, m_browser_view); + + m_download_policy->init(ewk_view_WKPage_get(ewk_view)); + m_browser_view->m_context_menu->init(ewk_view); +#ifdef USE_META_TAG + m_browser_view->m_meta_tag->init(ewk_view); +#endif + m_geolocation->init(ewk_view); + m_browser_view->resume_ewk_view(ewk_view); } std::string Browser_Class::get_user_agent(void) @@ -680,33 +477,63 @@ Eina_Bool Browser_Class::_set_user_agent(Evas_Object *ewk_view) { BROWSER_LOGD("[%s]", __func__); - char *user_agent_title = vconf_get_str(USERAGENT_KEY); - if (!user_agent_title) { - BROWSER_LOGE("vconf_get_str(USERAGENT_KEY) failed."); - user_agent_title = strdup("Tizen"); - if (!user_agent_title) { - BROWSER_LOGE("strdup(BROWSER_DEFAULT_USER_AGENT_TITLE) failed."); - return EINA_FALSE; - } - } -#define TIZEN_USER_AGENT "Mozilla/5.0 (Linux; U; Tizen 1.0; en-us) AppleWebKit/534.46 (KHTML, like Gecko) Mobile Tizen Browser/1.0" -#define CHROME_USER_AGENT "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.16 (KHTML, like Gecko) Chrome/18.0.1003.1 Safari/535.16" -#define FIREFOX_USER_AGENT "Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1" - if (!strncmp(user_agent_title, "Firefox", strlen("Firefox"))) { - if (!ewk_view_setting_user_agent_set(elm_webview_webkit_get(ewk_view), FIREFOX_USER_AGENT)); - BROWSER_LOGE("ewk_view_setting_user_agent_set failed"); - } else if (!strncmp(user_agent_title, "Chrome", strlen("Chrome"))) { - if (!ewk_view_setting_user_agent_set(elm_webview_webkit_get(ewk_view), CHROME_USER_AGENT)); - BROWSER_LOGE("ewk_view_setting_user_agent_set failed"); + char *user_agent_title = vconf_get_str(USERAGENT_KEY); + if (!user_agent_title) { + BROWSER_LOGE("vconf_get_str(USERAGENT_KEY) failed."); + user_agent_title = strdup("Tizen"); + if (!user_agent_title) { + BROWSER_LOGE("strdup(BROWSER_DEFAULT_USER_AGENT_TITLE) failed."); + return EINA_FALSE; + } + } + +#define TIZEN_USER_AGENT "Mozilla/5.0 (Linux; U; Tizen 1.0; en-us) AppleWebKit/534.46 (KHTML,like Gecko) Mobile Tizen Browser/1.0" +#define CHROME_USER_AGENT "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11" + + if (strncmp(user_agent_title, "Chrome 20", strlen("Chrome 20"))) { + if (!ewk_view_user_agent_set(ewk_view, TIZEN_USER_AGENT)); + BROWSER_LOGE("ewk_view_setting_user_agent_set failed"); + } else { + if (!ewk_view_user_agent_set(ewk_view, CHROME_USER_AGENT)); + BROWSER_LOGE("ewk_view_setting_user_agent_set failed"); + } + + return EINA_TRUE; +} + +Eina_Bool Browser_Class::_set_http_accepted_language_header(Evas_Object *ewk_view) +{ + BROWSER_LOGD("[%s]", __func__); + + char *system_language_locale = NULL; + char system_language[3] = {0,}; + + system_language_locale = vconf_get_str(VCONFKEY_LANGSET); + BROWSER_LOGD("system language and locale is [%s]\n", system_language_locale); + if (!system_language_locale) { + BROWSER_LOGD("Failed to get system_language, set as English"); + strncpy(system_language, "en", 2); /* Copy language set as english */ } else { - if (!ewk_view_setting_user_agent_set(elm_webview_webkit_get(ewk_view), TIZEN_USER_AGENT)); - BROWSER_LOGE("ewk_view_setting_user_agent_set failed"); + /* Copy language set from system using 2byte, ex)ko */ + strncpy(system_language, system_language_locale, 2); + } + + if (system_language_locale) + free(system_language_locale); + + if (!ewk_view_custom_header_add(ewk_view, "Accept-Language", system_language)) { + BROWSER_LOGD("ewk_view_setting_custom_header_add is failed"); + return EINA_FALSE; } return EINA_TRUE; } -void Browser_Class::set_focused_window(Browser_Window *window, Eina_Bool show_most_visited_sites) +void Browser_Class::set_focused_window(Browser_Window *window +#if defined(FEATURE_MOST_VISITED_SITES) + , Eina_Bool show_most_visited_sites +#endif + ) { if (m_focused_window == window || !window) return; @@ -743,11 +570,19 @@ void Browser_Class::set_focused_window(Browser_Window *window, Eina_Bool show_mo ewk_view_init(m_focused_window->m_ewk_view); - m_browser_view->set_focused_window(m_focused_window, show_most_visited_sites); + m_browser_view->set_focused_window(m_focused_window +#if defined(FEATURE_MOST_VISITED_SITES) + , show_most_visited_sites +#endif + ); m_browser_view->load_url(m_focused_window->m_url.c_str()); } else { ewk_view_init(m_focused_window->m_ewk_view); - m_browser_view->set_focused_window(m_focused_window, show_most_visited_sites); + m_browser_view->set_focused_window(m_focused_window +#if defined(FEATURE_MOST_VISITED_SITES) + , show_most_visited_sites +#endif + ); } } @@ -762,6 +597,9 @@ void Browser_Class::delete_window(Browser_Window *delete_window, Browser_Window { BROWSER_LOGD("[%s]", __func__); + if (m_window_list.size() <= 1) + return; + int index = 0; for (index = 0 ; index < m_window_list.size() ; index++) { if (delete_window == m_window_list[index]) @@ -774,7 +612,11 @@ void Browser_Class::delete_window(Browser_Window *delete_window, Browser_Window } if (parent) - set_focused_window(parent, EINA_FALSE); + set_focused_window(parent +#if defined(FEATURE_MOST_VISITED_SITES) + , EINA_FALSE +#endif + ); delete m_window_list[index]; m_window_list.erase(m_window_list.begin() + index); @@ -786,6 +628,9 @@ void Browser_Class::delete_window(Browser_Window *window) { BROWSER_LOGD("[%s]", __func__); + if (m_window_list.size() <= 1) + return; + int index = 0; for (index = 0 ; index < m_window_list.size() ; index++) { if (window == m_window_list[index]) @@ -836,28 +681,34 @@ void Browser_Class::clean_up_windows(void) evas_object_del(m_window_list[i]->m_ewk_view); m_window_list[i]->m_ewk_view = NULL; } + if (m_window_list[i]->m_ewk_view_layout) { + evas_object_del(m_window_list[i]->m_ewk_view_layout); + m_window_list[i]->m_ewk_view_layout = NULL; + } } } /* Clear memory cache to reduce memory usage in case of low memory. */ - /* To do */ + ewk_context_cache_clear(ewk_context_default_get()); + + ewk_context_notify_low_memory(ewk_context_default_get()); // m_browser_view->show_msg_popup("This is a test message. Low memory - clean up windows.", 5); } Browser_Window *Browser_Class::create_deleted_window(int index) { if (m_window_list[index]->m_ewk_view == NULL) { - m_window_list[index]->m_ewk_view = elm_webview_add(m_win, EINA_TRUE); - + m_window_list[index]->m_ewk_view = ewk_view_add(evas_object_evas_get(m_win)); if (!m_window_list[index]->m_ewk_view) { BROWSER_LOGE("ewk_view_add failed"); return NULL; } evas_object_color_set(m_window_list[index]->m_ewk_view, 255, 255, 255, 255); +#ifdef BROWSER_SCROLLER_BOUNCING /* The webview is locked initially. */ - elm_webview_vertical_panning_hold_set(m_window_list[index]->m_ewk_view, EINA_TRUE); - + ewk_view_vertical_panning_hold_set(m_window_list[index]->m_ewk_view, EINA_TRUE); +#endif evas_object_size_hint_weight_set(m_window_list[index]->m_ewk_view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(m_window_list[index]->m_ewk_view, @@ -880,9 +731,7 @@ Browser_Window *Browser_Class::create_new_window(Eina_Bool created_by_user) BROWSER_LOGE("new Browser_Window failed"); return NULL; } - - window->m_ewk_view = elm_webview_add(m_win, EINA_TRUE); - + window->m_ewk_view = ewk_view_add(evas_object_evas_get(m_win)); if (!window->m_ewk_view) { BROWSER_LOGE("ewk_view_add failed"); return NULL; @@ -892,9 +741,10 @@ Browser_Window *Browser_Class::create_new_window(Eina_Bool created_by_user) if (created_by_user) window->m_created_by_user = created_by_user; - elm_webview_vertical_panning_hold_set(window->m_ewk_view, EINA_TRUE); - elm_object_focus_allow_set(window->m_ewk_view, EINA_FALSE); - +#ifdef BROWSER_SCROLLER_BOUNCING + /* The webview is locked initially. */ + ewk_view_vertical_panning_hold_set(window->m_ewk_view, EINA_TRUE); +#endif evas_object_size_hint_weight_set(window->m_ewk_view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(window->m_ewk_view, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -903,10 +753,6 @@ Browser_Window *Browser_Class::create_new_window(Eina_Bool created_by_user) m_window_list.push_back(window); - /* Workaround. - * If launch the browser by aul, the grey bg is displayed shortly. */ - edje_object_signal_emit(elm_layout_edje_get(m_browser_view->m_main_layout), - "hide,grey_background,signal", ""); return window; } @@ -916,9 +762,13 @@ Eina_Bool Browser_Class::launch(const char *url, Eina_Bool new_window_flag) m_browser_view->delete_non_user_created_windows(); - if (new_window_flag && m_window_list.size() >= BROWSER_MULTI_WINDOW_MAX_COUNT) + if (new_window_flag && m_window_list.size() >= BROWSER_MULTI_WINDOW_MAX_COUNT) { /* If the multi window is max, delete the first one in case of new window. */ - delete_window(m_window_list[0]); + if (m_window_list[0] != m_focused_window) + delete_window(m_window_list[0]); + else + delete_window(m_window_list[1]); + } if (m_window_list.size() == 0 || new_window_flag) { Browser_Window *new_window = NULL; @@ -942,6 +792,23 @@ Eina_Bool Browser_Class::launch(const char *url, Eina_Bool new_window_flag) return EINA_TRUE; } +#if defined(HORIZONTAL_UI) +Eina_Bool Browser_Class::is_available_to_rotate(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_browser_view) + return m_browser_view->is_available_to_rotate(); + else + return EINA_FALSE; +} + +void Browser_Class::rotate(int degree) +{ + BROWSER_LOGD("[%s]", __func__); + m_browser_view->rotate(degree); +} +#endif + Eina_Bool Browser_Class::__clean_up_windows_timer_cb(void *data) { if (!data) @@ -960,6 +827,7 @@ void Browser_Class::pause(void) { BROWSER_LOGD("[%s]", __func__); m_browser_view->pause(); + m_download_policy->pause(); if (m_clean_up_windows_timer) ecore_timer_del(m_clean_up_windows_timer); diff --git a/src/browser-class.h b/src/browser-class.h index ed2e4f7d..b87cceee 100755 --- a/src/browser-class.h +++ b/src/browser-class.h @@ -1,47 +1,59 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_CLASS_H #define BROWSER_CLASS_H #include "browser-config.h" +#include "browser-view.h" -class Browser_Authetication_Manager; -class Browser_Certificate_Manager; -class Browser_Download_Manager; +class Browser_Geolocation; class Browser_Network_Manager; -class Browser_Notification_Manager; -class Browser_User_Agent_DB; +class Browser_Policy_Decision_Maker; class Browser_View; class Browser_Window; +class Browser_User_Agent_DB; class Browser_Class { public: - Browser_Class(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg, Evas_Object *layout); + Browser_Class(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg); ~Browser_Class(void); Eina_Bool init(void); Eina_Bool launch(const char *url, Eina_Bool new_window = EINA_FALSE); +#ifdef APP_IN_APP + Eina_Bool is_app_in_app(void); +#endif +#if defined(HORIZONTAL_UI) + void rotate(int degree); + Eina_Bool is_available_to_rotate(void); +#endif + Browser_Window *create_new_window(Eina_Bool created_by_user = EINA_FALSE); void delete_window(Browser_Window *delete_window, Browser_Window *parent); void delete_window(Browser_Window *window); void change_order(std::vector window_list); std::vector get_window_list(void) { return m_window_list; } - void set_focused_window(Browser_Window *window, Eina_Bool show_most_visited_sites = EINA_TRUE); + void set_focused_window(Browser_Window *window +#if defined(FEATURE_MOST_VISITED_SITES) + , Eina_Bool show_most_visited_sites = EINA_TRUE +#endif + ); void pause(void); void resume(void); void reset(void); @@ -50,15 +62,17 @@ public: std::string get_user_agent(void); void clean_up_windows(void); Browser_Window *create_deleted_window(int index); - Browser_Certificate_Manager *get_certificate_manager(void) { return m_certificate_manager; } + Browser_Geolocation *get_geolocation(void) { return m_geolocation; } private: + static Eina_Bool __create_network_manager_idler_cb(void *data); Eina_Bool _set_ewk_view_options(Evas_Object *ewk_view); - Eina_Bool _set_http_accepted_language_header(Evas_Object *ewk_view); Eina_Bool _set_ewk_view_options_listener(void); Eina_Bool _set_user_agent(Evas_Object *ewk_view); - + /* prefernece changed callback functions */ + static void __preference_changed_cb(const char *key, void *data); /* vconf changed callback functions */ static void __vconf_changed_cb(keynode_t *keynode, void *data); + Eina_Bool _set_http_accepted_language_header(Evas_Object *ewk_view); /* Ecore timer callback functions */ static Eina_Bool __clean_up_windows_timer_cb(void *data); @@ -66,15 +80,12 @@ private: Evas_Object *m_win; Evas_Object *m_navi_bar; Evas_Object *m_bg; - Evas_Object *m_layout; Browser_View *m_browser_view; Browser_Window *m_focused_window; Browser_User_Agent_DB *m_user_agent_db; - Browser_Download_Manager *m_download_manager; - Browser_Authetication_Manager *m_authentication_manager; - Browser_Certificate_Manager *m_certificate_manager; - Browser_Notification_Manager *m_notification_manager; + Browser_Policy_Decision_Maker *m_download_policy; + Browser_Geolocation *m_geolocation; Browser_Network_Manager *m_network_manager; std::vector m_window_list; diff --git a/src/browser-common-view.cpp b/src/browser-common-view.cpp index b9d6061f..6b9bcbef 100755 --- a/src/browser-common-view.cpp +++ b/src/browser-common-view.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-class.h" #include "browser-common-view.h" @@ -23,7 +25,6 @@ Browser_Data_Manager *Browser_Common_View::m_data_manager; Evas_Object *Browser_Common_View::m_win; Evas_Object *Browser_Common_View::m_navi_bar; Evas_Object *Browser_Common_View::m_bg; -Evas_Object *Browser_Common_View::m_layout; Browser_Class *Browser_Common_View::m_browser; Browser_Common_View::Browser_Common_View(void) @@ -34,6 +35,8 @@ Browser_Common_View::Browser_Common_View(void) ,m_ug(NULL) ,m_share_popup(NULL) ,m_share_list(NULL) + ,m_call_confirm_popup(NULL) + ,m_call_type(CALL_UNKNOWN) { BROWSER_LOGD("[%s]", __func__); } @@ -65,6 +68,10 @@ Browser_Common_View::~Browser_Common_View(void) ug_destroy(m_ug); m_ug = NULL; } + if (m_call_confirm_popup) { + evas_object_del(m_call_confirm_popup); + m_call_confirm_popup = NULL; + } m_sns_path_list.clear(); m_sns_name_list.clear(); @@ -128,6 +135,7 @@ void Browser_Common_View::show_notify_popup(const char *msg, int timeout, Eina_B } int angle = 0; + angle = elm_win_rotation_get(m_win); m_selection_info = elm_notify_add(m_navi_bar); if (!m_selection_info) { BROWSER_LOGD("elm_notify_add failed"); @@ -169,62 +177,208 @@ void Browser_Common_View::show_notify_popup(const char *msg, int timeout, Eina_B evas_object_show(m_selection_info); } -Eina_Bool Browser_Common_View::show_modal_popup(const char *msg) +/* Capture snapshot with current focused ewk view. */ +Evas_Object *Browser_Common_View::_capture_snapshot(Browser_Window *window, float scale) { - BROWSER_LOGD("msg = [%s]", msg); - FILE *pipe = NULL; + BROWSER_LOGD("[%s]", __func__); - std::string source_string = std::string(MODAL_LAUNCHER_BIN_PATH) + std::string(" ") - + std::string(MODAL_LAUNCHER_BUNDLE_TYPE) + std::string(" confirm "); + int focused_ewk_view_w = 0; + int focused_ewk_view_h = 0; + evas_object_geometry_get(window->m_ewk_view, NULL, NULL, + &focused_ewk_view_w, &focused_ewk_view_h); - std::string msg_string = std::string("\"") + std::string(msg) + std::string("\""); + Evas_Object *rectangle = evas_object_rectangle_add(evas_object_evas_get(m_navi_bar)); + evas_object_size_hint_min_set(rectangle, focused_ewk_view_w * scale, focused_ewk_view_h * scale); + evas_object_resize(rectangle, focused_ewk_view_w * scale, focused_ewk_view_h * scale); + evas_object_color_set(rectangle, 255, 255, 255, 255); + return rectangle; +} + +void Browser_Common_View::__post_to_sns_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (!data) + return; - string::size_type pos = string::npos; - while ((pos = msg_string.find("\n")) != string::npos) - msg_string.replace(pos, strlen("\n"), std::string("
")); + Browser_Common_View *common_view = (Browser_Common_View *)data; - source_string = source_string + std::string(MODAL_LAUNCHER_BUNDLE_MESSAGE) + std::string(" ") + msg_string; - BROWSER_LOGD("source_string = [%s]", source_string.c_str()); + Elm_Object_Item *selected_item = elm_list_selected_item_get(common_view->m_share_list); + const char *sns_name = elm_object_item_text_get(selected_item); + BROWSER_LOGD("sns_name=[%s]", sns_name); - if (!(pipe = popen(source_string.c_str(), "r"))) { - BROWSER_LOGE("popen filed"); + if (!common_view->_post_to_sns(std::string(sns_name), common_view->m_share_url)) + BROWSER_LOGE("_post_to_sns failed"); + + __popup_response_cb(common_view, NULL, NULL); +} + +Eina_Bool Browser_Common_View::_post_to_sns(std::string sns_name, std::string url) +{ + BROWSER_LOGD("sns_name=[%s], url=[%s]", sns_name.c_str(), url.c_str()); + if (url.empty() || sns_name.empty()) { + show_msg_popup(BR_STRING_EMPTY); return EINA_FALSE; } - char read_buffer[MODAL_MSG_MAX_BUFFER] = {0, }; - while (fgets(read_buffer, MODAL_MSG_MAX_BUFFER, pipe)) { - if (!strncmp(read_buffer, MODAL_LAUNCHER_RESULT_KEYWORD, - strlen(MODAL_LAUNCHER_RESULT_KEYWORD))) { - BROWSER_LOGD("modal keyword found."); - return EINA_TRUE; + int index = 0; + for (index = 0 ; index < m_sns_name_list.size() ; index++) { + if (m_sns_name_list[index].find(sns_name) != string::npos) + break; + } + + if (m_sns_path_list[index].find("twitter") != string::npos + || m_sns_path_list[index].find("facebook") != string::npos) { + + int ret = 0; + service_h service_handle = NULL; + if (service_create(&service_handle) < 0) { + BROWSER_LOGE("Fail to create service handle"); + return EINA_FALSE; + } + if (!service_handle) { + BROWSER_LOGE("service handle is NULL"); + return EINA_FALSE; + } + if (service_set_operation(service_handle, SERVICE_OPERATION_SEND_TEXT) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + if (service_add_extra_data(service_handle, SERVICE_DATA_TEXT, (char *)url.c_str()) < 0) { + BROWSER_LOGE("Fail to set post data"); + service_destroy(service_handle); + return EINA_FALSE; + } + if (service_set_package(service_handle, m_sns_path_list[index].c_str()) < 0) { + BROWSER_LOGE("Fail to set SNS"); + service_destroy(service_handle); + return EINA_FALSE; + } + if (service_send_launch_request(service_handle, NULL, NULL) < 0) { + BROWSER_LOGE("Fail to launch service operation"); + service_destroy(service_handle); + return EINA_FALSE; } + service_destroy(service_handle); } - return EINA_FALSE; + return EINA_TRUE; } -/* Capture snapshot with current focused ewk view. */ -Evas_Object *Browser_Common_View::_capture_snapshot(Browser_Window *window, float scale) +void Browser_Common_View::__send_via_message_cb(void *data, Evas_Object *obj, void *event_info) { - BROWSER_LOGD("[%s]", __func__); - int focused_ewk_view_w = 0; - int focused_ewk_view_h = 0; - evas_object_geometry_get(window->m_ewk_view, NULL, NULL, - &focused_ewk_view_w, &focused_ewk_view_h); + if (!data) + return; + + Browser_Common_View *common_view = (Browser_Common_View *)data; + if (!common_view->_send_via_message(common_view->m_share_url, std::string())) + BROWSER_LOGE("_send_via_message failed"); + + __popup_response_cb(common_view, NULL, NULL); +} + +Eina_Bool Browser_Common_View::_send_via_message(std::string url, std::string to, Eina_Bool attach_file) +{ + BROWSER_LOGD("[%s], url[%s], to[%s]", __func__, url.c_str(), to.c_str()); + if (url.empty() && to.empty()) { + show_msg_popup(BR_STRING_EMPTY); + return EINA_FALSE; + } + + service_h service_handle = NULL; + if (service_create(&service_handle) < 0) { + BROWSER_LOGE("Fail to create service handle"); + return EINA_FALSE; + } + + if (!service_handle) { + BROWSER_LOGE("Fail to create service handle"); + return EINA_FALSE; + } + + if (!url.empty()) { + if (attach_file) { + if (service_set_operation(service_handle, SERVICE_OPERATION_SEND) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + + if (service_add_extra_data(service_handle, "ATTACHFILE", url.c_str())) { + BROWSER_LOGE("Fail to set extra data"); + service_destroy(service_handle); + return EINA_FALSE; + } + } else { + if (service_set_operation(service_handle, SERVICE_OPERATION_SEND_TEXT) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + + if (service_add_extra_data(service_handle, SERVICE_DATA_TEXT, url.c_str()) < 0) { + BROWSER_LOGE("Fail to set extra data"); + service_destroy(service_handle); + return EINA_FALSE; + } + } + } + + if (!to.empty()) { + if (url.empty()) { + if (service_set_operation(service_handle, SERVICE_OPERATION_SEND_TEXT) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + } - Evas_Object *snapshot_image = NULL; - snapshot_image = evas_object_rectangle_add(evas_object_evas_get(m_navi_bar)); - if (!snapshot_image) { - BROWSER_LOGE("evas_object_rectangle_add failed"); - return NULL; + if (service_add_extra_data(service_handle, SERVICE_DATA_TO , to.c_str()) < 0) { + BROWSER_LOGE("Fail to set extra data"); + service_destroy(service_handle); + return EINA_FALSE; + } + } + + if (service_set_package(service_handle, SEC_MESSAGE) < 0) {//SEC_EMAIL + BROWSER_LOGE("Fail to launch service operation"); + service_destroy(service_handle); + return EINA_FALSE; } - evas_object_size_hint_min_set(snapshot_image, (int)(focused_ewk_view_w * scale), - (int)(focused_ewk_view_h * scale)); - evas_object_resize(snapshot_image, (int)(focused_ewk_view_w * scale), - (int)(focused_ewk_view_h * scale)); - evas_object_color_set(snapshot_image, 255, 255, 255, 255); - return snapshot_image; + if (service_send_launch_request(service_handle, NULL, NULL) < 0) { + BROWSER_LOGE("Fail to launch service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + service_destroy(service_handle); + + return EINA_TRUE; +} + +void Browser_Common_View::__send_via_email_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("%s", __func__); + if (!data) + return; + + Browser_Common_View *common_view = (Browser_Common_View *)data; + if (!common_view->_send_via_email(common_view->m_share_url)) + BROWSER_LOGE("_send_via_email failed"); + + __popup_response_cb(common_view, NULL, NULL); +} + +void Browser_Common_View::__share_via_nfc_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("%s", __func__); + if (!data) + return; + + Browser_Common_View *common_view = (Browser_Common_View *)data; + if (!common_view->_share_via_nfc(common_view->m_share_url)) + BROWSER_LOGE("_share_via_nfc failed"); + + __popup_response_cb(common_view, NULL, NULL); } Eina_Bool Browser_Common_View::_launch_streaming_player(const char *url, const char *cookie) @@ -290,59 +444,391 @@ Eina_Bool Browser_Common_View::_launch_streaming_player(const char *url, const c return EINA_TRUE; } -char *Browser_Common_View::_trim(char *str) +Eina_Bool Browser_Common_View::_check_available_sns_account(void) { - char *pos_bos = str; + BROWSER_LOGD("%s", __func__); - while(*pos_bos == ' ') - pos_bos++; + int error_code = account_connect(); + bool result = EINA_FALSE; - char *pos_eos = pos_bos + strlen(pos_bos) - 1; + if(error_code != ACCOUNT_ERROR_NONE) { + BROWSER_LOGD("account_connect failed with error_code[%d].\n", error_code); + return EINA_FALSE; + } - while((pos_eos >= str) && (*pos_eos == ' ')) { - *pos_eos = '\0'; - pos_eos--; + if (account_query_account_by_package_name(__check_available_sns_account_cb, + "org.tizen.facebook", NULL) == ACCOUNT_ERROR_NONE) { + BROWSER_LOGD("Account for Facebook was set\n"); + } else if (account_query_account_by_package_name(__check_available_sns_account_cb, + "org.tizen.twitter", NULL) == ACCOUNT_ERROR_NONE) { + BROWSER_LOGD("Account for Twitter was set\n"); + } else { + BROWSER_LOGD("Account Queried failed \n"); + error_code = account_disconnect(); + if(error_code != ACCOUNT_ERROR_NONE) { + BROWSER_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, error_code); + return EINA_FALSE; + } } - return pos_bos; + error_code = account_disconnect(); + if(error_code != ACCOUNT_ERROR_NONE) { + BROWSER_LOGD("(%d)-[Account] ret = %d, \n", __LINE__, error_code); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +bool Browser_Common_View::__check_available_sns_account_cb(account_h handle, void *data) +{ + BROWSER_LOGD("%s", __func__); + + char *pkg_name = NULL; + account_get_package_name(handle, &pkg_name); + BROWSER_LOGD("pkg_name [%s]", pkg_name); + + if (pkg_name) + free(pkg_name); + pkg_name = NULL; + + return true; +} + +Eina_Bool Browser_Common_View::_get_available_sns_list(void) +{ + BROWSER_LOGD("[%s]\n", __func__); + + int error_code = 0; + error_code = account_connect(); + + if (error_code == ACCOUNT_ERROR_RECORD_NOT_FOUND) { + show_msg_popup(BR_STRING_ERROR, BR_STRING_NOT_FOUND_URL, 2); + return EINA_FALSE; + } else if (error_code == ACCOUNT_ERROR_NONE) { + error_code = account_foreach_account_from_db(__get_sns_list, this); + error_code = account_disconnect(); + + if (error_code !=ACCOUNT_ERROR_NONE) { + BROWSER_LOGD("account_svc_disconnect failed with error code [%d]\n", error_code); + return EINA_FALSE; + } + } else { + BROWSER_LOGD("account_connect failed with error code [%d]\n", error_code); + return EINA_FALSE; + } + + return EINA_TRUE; +} + + +bool Browser_Common_View::__get_sns_list(account_h account, void *data) +{ + BROWSER_LOGD("[%s]\n", __func__); + + if (!data) + return false; + + Browser_Common_View *common_view = (Browser_Common_View *)data; + + int account_id = 0; + char *service_name = NULL; + char *lib_path = NULL; + char *icon_path = NULL; + + Eina_Bool can_post = EINA_FALSE; + + account_get_capability(account, __get_post_capability_cb, &can_post); + account_get_account_id(account, &account_id); + BROWSER_LOGD("account_id: %d\n", account_id); + + account_get_domain_name(account, &service_name); + BROWSER_LOGD("service_name: %s\n", service_name); + + if (!can_post) { + BROWSER_LOGD("cannot post to : [%s] in browser\n", service_name); + if (service_name) + free(service_name); + service_name = NULL; + return false; + } else { + account_get_package_name(account, &lib_path); + BROWSER_LOGD("lib_path: %s\n", lib_path); + + account_get_icon_path(account, &icon_path); + BROWSER_LOGD("icon_path: %s\n", icon_path); + + if (icon_path && strlen(icon_path) > 0) { + BROWSER_LOGD("icon_path: %s\n", icon_path); + Evas_Object *icon = elm_icon_add(common_view->m_share_popup); + if (icon) { + elm_icon_file_set(icon, icon_path, NULL); + BROWSER_LOGD("icon_path: %s\n", icon_path); + common_view->m_sns_icon_list.push_back(icon); + } + } + + if (service_name && strlen(service_name) && lib_path && strlen(lib_path)) { + common_view->m_sns_path_list.push_back(std::string(lib_path)); + common_view->m_sns_name_list.push_back(std::string(service_name)); + } + } + if (service_name) + free(service_name); + service_name = NULL; + + if (icon_path) + free(icon_path); + icon_path = NULL; + + if (lib_path) + free(lib_path); + lib_path= NULL; + + return true; +} + +bool Browser_Common_View::__get_post_capability_cb(account_capability_type_e type, + account_capability_state_e state, void *data) +{ + Eina_Bool *can_post = (Eina_Bool *)data; + if (!can_post) { + BROWSER_LOGD("unable to post"); + return false; + } + + if (ACCOUNT_CAPABILITY_STATUS_POST != type) + return true; + + if (ACCOUNT_CAPABILITY_DISABLED == state) + return true; + + *can_post = EINA_TRUE; + + return true; +} + +Eina_Bool Browser_Common_View::_send_via_email(std::string url, Eina_Bool attach_file) +{ + BROWSER_LOGD("[%s], url[%s]", __func__, url.c_str()); + if (url.empty()) { + show_msg_popup(BR_STRING_EMPTY); + return EINA_FALSE; + } + + service_h service_handle = NULL; + if (service_create(&service_handle) < 0) { + BROWSER_LOGE("Fail to create service handle"); + return EINA_FALSE; + } + + if (!service_handle) { + BROWSER_LOGE("Fail to create service handle"); + return EINA_FALSE; + } + + if (attach_file) { + if (service_set_operation(service_handle, SERVICE_OPERATION_SEND) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + + if (service_set_uri(service_handle, url.c_str()) < 0) { + BROWSER_LOGE("Fail to set uri"); + service_destroy(service_handle); + return EINA_FALSE; + } + } else { + if (service_set_operation(service_handle, SERVICE_OPERATION_SEND_TEXT) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + + if (strstr(url.c_str(), BROWSER_MAIL_TO_SCHEME)) { + if (service_add_extra_data(service_handle, SERVICE_DATA_TO, url.c_str() + strlen(BROWSER_MAIL_TO_SCHEME)) < 0) { + BROWSER_LOGE("Fail to set mailto data"); + service_destroy(service_handle); + return EINA_FALSE; + } + } else { + if (service_add_extra_data(service_handle, SERVICE_DATA_TEXT, url.c_str()) < 0) { + BROWSER_LOGE("Fail to set extra data"); + service_destroy(service_handle); + return EINA_FALSE; + } + } + } + + if (service_set_package(service_handle, SEC_EMAIL) < 0) { + BROWSER_LOGE("Fail to launch service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + + if (service_send_launch_request(service_handle, NULL, NULL) < 0) { + BROWSER_LOGE("Fail to launch service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + service_destroy(service_handle); + + return EINA_TRUE; +} + +Eina_Bool Browser_Common_View::_add_to_contact(std::string number) +{ + if (number.empty()) { + BROWSER_LOGE("number is null"); + return EINA_FALSE; + } + struct ug_cbs cbs = {0, }; + cbs.layout_cb = __ug_layout_cb; + cbs.result_cb = NULL;//__ug_result_cb; + cbs.destroy_cb = __ug_destroy_cb; + cbs.priv = (void *)this; + + char *phone_number = (char *)strdup(number.c_str()); + if (!phone_number) { + BROWSER_LOGE("strdup failed"); + return EINA_FALSE; + } + + service_h data = NULL; + service_create(&data); + if (data == NULL) { + BROWSER_LOGE("fail to service_create."); + return EINA_FALSE; + } +/* +type. +CT_UG_REQUEST_ADD = 21, +CT_UG_REQUEST_ADD_WITH_NUM = 22, +CT_UG_REQUEST_ADD_WITH_EMAIL = 23, +CT_UG_REQUEST_ADD_WITH_WEB = 24, +*/ + if (service_add_extra_data(data, "type", "22")) { + BROWSER_LOGE("service_add_extra_data is failed."); + service_destroy(data); + return EINA_FALSE; + } + if (service_add_extra_data(data, "ct_num", number.c_str())) { + BROWSER_LOGE("service_add_extra_data is failed."); + service_destroy(data); + return EINA_FALSE; + } + + if (!ug_create(NULL, "contacts-details-efl", UG_MODE_FULLVIEW, data, &cbs)) + BROWSER_LOGE("ug_create is failed."); + + if (service_destroy(data)) + BROWSER_LOGE("service_destroy is failed."); + + free(phone_number); } -std::string Browser_Common_View::get_domain_name(const char *url) +Eina_Bool Browser_Common_View::_share_via_nfc(std::string url) { - if (!url || !strcmp(url, "")) - return std::string(); + BROWSER_LOGD("[%s]", __func__); + if (url.empty()) { + show_msg_popup(BR_STRING_EMPTY); + return EINA_FALSE; + } + + struct ug_cbs cbs = {0, }; + cbs.layout_cb = __ug_layout_cb; + cbs.result_cb = NULL;//__ug_result_cb; + cbs.destroy_cb = __ug_destroy_cb; + cbs.priv = (void *)this; - std::string domain_name = url; + char *share_url = (char *)strdup(url.c_str()); + if (!share_url) { + BROWSER_LOGE("strdup failed"); + return EINA_FALSE; + } + + service_h data = NULL; + service_create(&data); + if (data == NULL) { + BROWSER_LOGE("fail to service_create."); + return EINA_FALSE; + } + if (service_add_extra_data(data, "count", "1")) { + BROWSER_LOGE("service_add_extra_data is failed."); + service_destroy(data); + return EINA_FALSE; + } + if (service_add_extra_data(data, "request_type", "data_buffer")) { + BROWSER_LOGE("service_add_extra_data is failed."); + service_destroy(data); + return EINA_FALSE; + } + if (service_add_extra_data(data, "request_data", share_url)) { + BROWSER_LOGE("service_add_extra_data is failed."); + service_destroy(data); - /* replacing multiple "/" in a row with one "/" */ - size_t pos = domain_name.find("//"); - while (pos != std::string::npos) { - domain_name.erase(pos, 1); - pos = domain_name.find("//"); + free(share_url); + return EINA_FALSE; } - /* cut "xxx:/" prefix */ - pos = domain_name.find(":/"); - if (pos != std::string::npos) { - /* ":/" length */ - domain_name = domain_name.substr(pos + 2); + if(!ug_create(NULL, "share-nfc-efl", UG_MODE_FULLVIEW, data, &cbs)) + BROWSER_LOGE("ug_create is failed."); + + if (service_destroy(data)) + BROWSER_LOGE("service_destroy is failed."); + + free(share_url); + + return EINA_TRUE; +} + +void Browser_Common_View::__popup_response_cb(void* data, Evas_Object* obj, void* event_info) +{ + BROWSER_LOGD("%s, event_info=%d", __func__, (int)event_info); + + if (!data) + return; + + Browser_Common_View *common_view = (Browser_Common_View *)data; + if (common_view->m_share_popup) { + evas_object_del(common_view->m_share_popup); + common_view->m_share_popup = NULL; + } + if (common_view->m_share_list) { + evas_object_del(common_view->m_share_list); + common_view->m_share_list = NULL; } - /* cut behind "/" */ - pos = domain_name.find("/"); - if (pos != std::string::npos) - domain_name = domain_name.substr(0, pos); + common_view->m_sns_name_list.clear(); + common_view->m_sns_path_list.clear(); - return domain_name; } +char *Browser_Common_View::_trim(char *str) +{ + char *pos_bos = str; + + while(*pos_bos == ' ') + pos_bos++; + + char *pos_eos = pos_bos + strlen(pos_bos) - 1; + + while((pos_eos >= str) && (*pos_eos == ' ')) { + *pos_eos = '\0'; + pos_eos--; + } + + return pos_bos; +} + +#if defined(HORIZONTAL_UI) Eina_Bool Browser_Common_View::is_landscape(void) { - /* The appcore_get_rotation_state fail in U1 HD target, temporary code. */ int window_w = 0; int window_h = 0; evas_object_geometry_get(m_win, NULL, NULL, &window_w, &window_h); - if (window_w < window_h) { + if (window_h > window_w) { BROWSER_LOGD("portrait"); return EINA_FALSE; } else { @@ -350,6 +836,7 @@ Eina_Bool Browser_Common_View::is_landscape(void) return EINA_TRUE; } } +#endif /* set focus to edit field idler callback to show ime. */ Eina_Bool Browser_Common_View::__set_focus_editfield_idler_cb(void *edit_field) @@ -369,14 +856,13 @@ Eina_Bool Browser_Common_View::__set_focus_editfield_idler_cb(void *edit_field) Eina_Bool Browser_Common_View::_has_url_sheme(const char *url) { if (url && strlen(url) - && (strstr(url, BROWSER_URL_SCHEME_CHECK) || strstr(url, BROWSER_MAIL_TO_SCHEME) - || strstr(url, BROWSER_TEL_SCHEME) || strstr(url, BROWSER_YOUTUBE_SCHEME))) + && (strstr(url, BROWSER_URL_SCHEME_CHECK) || strstr(url, BROWSER_MAIL_TO_SCHEME))) return EINA_TRUE; else return EINA_FALSE; } -void Browser_Common_View::__ug_layout_cb(struct ui_gadget *ug, enum ug_mode mode, void *priv) +void Browser_Common_View::__ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv) { BROWSER_LOGD("[%s]", __func__); if (!priv || !ug) @@ -393,7 +879,7 @@ void Browser_Common_View::__ug_layout_cb(struct ui_gadget *ug, enum ug_mode mode switch (mode) { case UG_MODE_FULLVIEW: - evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, base); evas_object_show(base); break; @@ -402,13 +888,13 @@ void Browser_Common_View::__ug_layout_cb(struct ui_gadget *ug, enum ug_mode mode } } -void Browser_Common_View::__ug_result_cb(struct ui_gadget *ug, bundle *result, void *priv) +void Browser_Common_View::__ug_result_cb(ui_gadget_h ug, bundle *result, void *priv) { if (!priv || !ug) return; } -void Browser_Common_View::__ug_destroy_cb(struct ui_gadget *ug, void *priv) +void Browser_Common_View::__ug_destroy_cb(ui_gadget_h ug, void *priv) { if (!priv || !ug) return; diff --git a/src/browser-common-view.h b/src/browser-common-view.h index 0d66635f..0234ebf3 100755 --- a/src/browser-common-view.h +++ b/src/browser-common-view.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_COMMON_VIEW_H #define BROWSER_COMMON_VIEW_H @@ -27,41 +29,63 @@ class Browser_Window; class Browser_Common_View { public: + typedef enum _call_type { + VOICE_CALL, + VIDEO_CALL, + CALL_UNKNOWN + } call_type; + Browser_Common_View(void); ~Browser_Common_View(void); - virtual Eina_Bool init(void) = 0; + Eina_Bool init(void); +#if defined(HORIZONTAL_UI) Eina_Bool is_landscape(void); +#endif Browser_Data_Manager *get_data_manager(void) { return m_data_manager; } Browser_Class *get_browser(void) { return m_browser; } void show_msg_popup(const char *msg, int timeout = 3); void show_msg_popup(const char *title, const char *msg, int timeout); void show_notify_popup(const char *msg, int timeout = 0, Eina_Bool has_control_bar = EINA_FALSE); void hide_notify_popup(void); - std::string get_domain_name(const char *url); - Eina_Bool show_modal_popup(const char *msg); protected: Evas_Object *_capture_snapshot(Browser_Window *window, float scale); void _set_navigationbar_title(const char *title); Eina_Bool _has_url_sheme(const char *url); Eina_Bool _launch_streaming_player(const char *url, const char *cookie = NULL); + Eina_Bool _send_via_message(std::string url, std::string to, Eina_Bool attach_file = EINA_FALSE); + Eina_Bool _send_via_email(std::string url, Eina_Bool attach_file = EINA_FALSE); + Eina_Bool _share_via_nfc(std::string url); + Eina_Bool _add_to_contact(std::string number); + Eina_Bool _check_available_sns_account(void); + Eina_Bool _post_to_sns(std::string sns_name, std::string url); + Eina_Bool _get_available_sns_list(void); + static bool __get_sns_list(account_h account, void *data); + /* Elementary event callback functions */ + static void __popup_response_cb(void* data, Evas_Object* obj, void* event_info); + static void __send_via_email_cb(void *data, Evas_Object *obj, void *event_info); + static void __send_via_message_cb(void *data, Evas_Object *obj, void *event_info); + static void __share_via_nfc_cb(void *data, Evas_Object *obj, void *event_info); + static bool __check_available_sns_account_cb(account_h handle, void *data); + static void __post_to_sns_cb(void *data, Evas_Object *obj, void *event_info); + static bool __get_post_capability_cb(account_capability_type_e type, + account_capability_state_e state, void *data); /* set focus to edit field idler callback to show ime. */ static Eina_Bool __set_focus_editfield_idler_cb(void *edit_field); char *_trim(char *str); /* For ug effect. */ - static void __ug_layout_cb(struct ui_gadget *ug, enum ug_mode mode, void *priv); - static void __ug_result_cb(struct ui_gadget *ug, bundle *result, void *priv); - static void __ug_destroy_cb(struct ui_gadget *ug, void *priv); + static void __ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv); + static void __ug_result_cb(ui_gadget_h ug, bundle *result, void *priv); + static void __ug_destroy_cb(ui_gadget_h ug, void *priv); static Browser_Data_Manager *m_data_manager; static Evas_Object *m_win; static Evas_Object *m_navi_bar; static Evas_Object *m_bg; - static Evas_Object *m_layout; static Browser_Class *m_browser; std::vector m_sns_name_list; @@ -73,9 +97,11 @@ private: Evas_Object *m_selection_info_layout; Evas_Object *m_share_popup; Evas_Object *m_share_list; + Evas_Object *m_call_confirm_popup; std::string m_share_url; - - struct ui_gadget *m_ug; + std::string m_tel_number; + call_type m_call_type; + ui_gadget_h m_ug; }; #endif /* BROWSER_COMMON_VIEW_H */ diff --git a/src/browser-data-manager.cpp b/src/browser-data-manager.cpp index 9776a9bc..9cd620c3 100755 --- a/src/browser-data-manager.cpp +++ b/src/browser-data-manager.cpp @@ -1,20 +1,25 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-add-to-bookmark-view.h" +#if defined(FEATURE_MOST_VISITED_SITES) +#include "add-to-most-visited-sites-view.h" +#endif +#include "browser-geolocation-db.h" #include "browser-bookmark-db.h" #include "browser-bookmark-view.h" #include "browser-config.h" @@ -24,6 +29,9 @@ #include "browser-multi-window-view.h" #include "browser-new-folder-view.h" #include "browser-select-folder-view.h" +#if defined(FEATURE_MOST_VISITED_SITES) +#include "most-visited-sites.h" +#endif #include "browser-view.h" Browser_Data_Manager::Browser_Data_Manager(void) @@ -32,12 +40,16 @@ Browser_Data_Manager::Browser_Data_Manager(void) ,m_bookmark_view(NULL) ,m_add_to_bookmark_view(NULL) ,m_edit_bookmark_view(NULL) +#if defined(FEATURE_MOST_VISITED_SITES) + ,m_add_to_most_visited_sites_view(NULL) +#endif ,m_new_folder_view(NULL) ,m_select_folder_view(NULL) ,m_history_layout(NULL) ,m_multi_window_view(NULL) ,m_bookmark_db(NULL) ,m_history_db(NULL) + ,m_geolocation_db(NULL) ,m_stack_status(0) { BROWSER_LOGD("[%s]", __func__); @@ -58,6 +70,12 @@ Browser_Data_Manager::~Browser_Data_Manager(void) delete m_edit_bookmark_view; m_edit_bookmark_view = NULL; } +#if defined(FEATURE_MOST_VISITED_SITES) + if (m_add_to_most_visited_sites_view) { + delete m_add_to_most_visited_sites_view; + m_add_to_most_visited_sites_view = NULL; + } +#endif if (m_new_folder_view) { delete m_new_folder_view; m_new_folder_view = NULL; @@ -204,6 +222,35 @@ void Browser_Data_Manager::destroy_edit_bookmark_view(void) } } +#if defined(FEATURE_MOST_VISITED_SITES) +Add_To_Most_Visited_Sites_View *Browser_Data_Manager::create_add_to_most_visited_sites_view(Most_Visited_Sites *most_visited_sites) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_add_to_most_visited_sites_view) + destroy_add_to_most_visited_sites_view(); + + m_add_to_most_visited_sites_view = new(nothrow) Add_To_Most_Visited_Sites_View(most_visited_sites); + if (!m_add_to_most_visited_sites_view) + BROWSER_LOGE("new Add_To_Most_Visited_Sites_View failed"); + else + m_stack_status = m_stack_status | ADD_TO_MOST_VISITED_SITES_VIEW; + + return m_add_to_most_visited_sites_view; +} +#endif + +#if defined(FEATURE_MOST_VISITED_SITES) +void Browser_Data_Manager::destroy_add_to_most_visited_sites_view(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_add_to_most_visited_sites_view) { + delete m_add_to_most_visited_sites_view; + m_add_to_most_visited_sites_view = NULL; + m_stack_status = m_stack_status - ADD_TO_MOST_VISITED_SITES_VIEW; + } +} +#endif + Browser_New_Folder_View *Browser_Data_Manager::create_new_folder_view(void) { BROWSER_LOGD("[%s]", __func__); @@ -325,3 +372,24 @@ void Browser_Data_Manager::destroy_history_db(void) } } +Browser_Geolocation_DB *Browser_Data_Manager::create_geolocation_db(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_geolocation_db) + destroy_geolocation_db(); + + m_geolocation_db = new(nothrow) Browser_Geolocation_DB; + if (!m_geolocation_db) + BROWSER_LOGE("new Browser_Geolocation_DB failed"); + + return m_geolocation_db; +} + +void Browser_Data_Manager::destroy_geolocation_db(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_geolocation_db) { + delete m_geolocation_db; + m_geolocation_db = NULL; + } +} diff --git a/src/browser-data-manager.h b/src/browser-data-manager.h index 60ac0fdb..78e6ffa0 100755 --- a/src/browser-data-manager.h +++ b/src/browser-data-manager.h @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_DATA_MANAGER_H #define BROWSER_DATA_MANAGER_H @@ -33,6 +34,7 @@ typedef enum _view_stack_status { } view_stack_status; class Browser_Add_To_Bookmark_View; +class Add_To_Most_Visited_Sites_View; class Browser_Bookmark_DB; class Browser_Bookmark_View; class Browser_History_DB; @@ -40,7 +42,9 @@ class Browser_History_Layout; class Browser_Multi_Window_View; class Browser_New_Folder_View; class Browser_Select_Folder_View; +class Most_Visited_Sites; class Browser_View; +class Browser_Geolocation_DB; class Browser_Data_Manager { public: @@ -75,6 +79,12 @@ public: string url, int current_folder_id = BROWSER_BOOKMARK_MAIN_FOLDER_ID); void destroy_edit_bookmark_view(void); +#if defined(FEATURE_MOST_VISITED_SITES) + Add_To_Most_Visited_Sites_View *get_add_to_most_visited_sites_view(void) { return m_add_to_most_visited_sites_view; } + Add_To_Most_Visited_Sites_View *create_add_to_most_visited_sites_view(Most_Visited_Sites *most_visited_sites); + void destroy_add_to_most_visited_sites_view(void); +#endif + Browser_New_Folder_View *get_new_folder_view(void) { return m_new_folder_view; } Browser_New_Folder_View *create_new_folder_view(void); void destroy_new_folder_view(void); @@ -94,10 +104,18 @@ public: Browser_History_DB *get_history_db(void) { return m_history_db; } Browser_History_DB *create_history_db(void); void destroy_history_db(void); + + Browser_Geolocation_DB *get_geolocation_db(void) { return m_geolocation_db; } + Browser_Geolocation_DB *create_geolocation_db(void); + void destroy_geolocation_db(void); + private: Browser_View *m_browser_view; Browser_Bookmark_View *m_bookmark_view; Browser_Add_To_Bookmark_View *m_add_to_bookmark_view; +#if defined(FEATURE_MOST_VISITED_SITES) + Add_To_Most_Visited_Sites_View *m_add_to_most_visited_sites_view; +#endif Browser_Add_To_Bookmark_View *m_edit_bookmark_view; Browser_New_Folder_View *m_new_folder_view; Browser_Select_Folder_View *m_select_folder_view; @@ -106,6 +124,7 @@ private: Browser_Bookmark_DB *m_bookmark_db; Browser_History_DB *m_history_db; + Browser_Geolocation_DB *m_geolocation_db; unsigned int m_stack_status; }; diff --git a/src/browser-extension/browser-download-manager.cpp b/src/browser-extension/browser-download-manager.cpp deleted file mode 100755 index f9c1524a..00000000 --- a/src/browser-extension/browser-download-manager.cpp +++ /dev/null @@ -1,358 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -#include "browser-class.h" -#include "browser-common-view.h" -#include "browser-download-manager.h" -#include - -Browser_Download_Manager::Browser_Download_Manager(Evas_Object *navi_bar, Browser_View *browser_view) -: - m_webview(NULL) - ,m_list_popup(NULL) - ,m_app_list(NULL) - ,m_navi_bar(navi_bar) - ,m_browser_view(browser_view) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Download_Manager::~Browser_Download_Manager(void) -{ - BROWSER_LOGD("[%s]", __func__); - if(m_list_popup) { - evas_object_del(m_list_popup); - m_list_popup = NULL; - } -} - -void Browser_Download_Manager::init(Evas_Object *webview) -{ - BROWSER_LOGD("[%s]", __func__); - - m_webview = webview; - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - deinit(); - evas_object_smart_callback_add(webkit, "download,request", __download_request_cb, this); -} - -void Browser_Download_Manager::deinit(void) -{ - BROWSER_LOGD("[%s]", __func__); - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_del(webkit, "download,request", __download_request_cb); -} - -void Browser_Download_Manager::pause(void) -{ - if (m_list_popup) - __popup_response_cb(this, NULL, NULL); -} - -void Browser_Download_Manager::__download_request_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Download_Manager *download_manager = (Browser_Download_Manager *)data; - if (event_info) - download_manager->_request_download((Ewk_Download *)event_info); -} - -void Browser_Download_Manager::_request_download(Ewk_Download *download_info) -{ - string extension_name; - string ambiguous_mime1 = "text/plain"; - string ambiguous_mime2 = "application/octet-stream"; - int ret = 0; - char buff[256] = {0,}; - - m_cookies.clear(); - m_url.clear(); - m_default_player_pkg_name.clear(); - - if (!download_info->url) { - BROWSER_LOGE("download url is null"); - return; - } - - string content_type; - if (download_info->mime_type) - content_type = string(download_info->mime_type); - - m_url = string(download_info->url); - if (download_info->user_param) - m_cookies = string(download_info->user_param); - - if (content_type.empty()) { - BROWSER_LOGD("Download linked file from cotent menu"); - if (!_launch_download_app()) - BROWSER_LOGE("_launch_download_app failed"); - return; - } - BROWSER_LOGD("mime type [%s]", content_type.c_str()); - /* If mime is ambiguous mime or not. If it is, get extension name from url */ - if (content_type.compare(ambiguous_mime1) == 0 - || content_type.compare(ambiguous_mime2) == 0) { - extension_name = _get_extension_name_from_url(m_url); - } - /* If mime is ambiguous and extension name is existed, - * decide streaming player according to extension name from url - * 1. mp4, 3gp : streaming video player case - * 2. mp3 : streaming music player case - * 3. otherewise : download app case - */ - if (!extension_name.empty()) { - BROWSER_LOGD("extension name from url [%s]", extension_name.c_str()); - if (extension_name.compare("mp4") == 0 || extension_name.compare("3gp") == 0) { - m_default_player_pkg_name = SEC_VIDEO_PLAYER; - if (!_show_app_list_popup()) - BROWSER_LOGE("_show_app_list_popup failed"); - } else if (extension_name.compare("mp3") == 0) { - m_default_player_pkg_name = SEC_MUSIC_PLAYER; - if (!_show_app_list_popup()) - BROWSER_LOGE("_show_app_list_popup failed"); - } else { - if (!_launch_download_app()) - BROWSER_LOGE("_launch_download_app failed"); - } - return; - } - /* If the default player is registered at AUL db, show list popup with the name of it */ - ret = aul_get_defapp_from_mime(content_type.c_str(), buff, (sizeof(buff)-1)); - if (ret == AUL_R_OK) { - m_default_player_pkg_name = buff; - BROWSER_LOGD("default app [%s]", m_default_player_pkg_name.c_str()); - } else { - BROWSER_LOGE("Fail to get default app"); - } - - /* Call streaming player app only if the default player is samsung music player or samsung video plyaer - * Otherwiser, call download app - */ - if (!m_default_player_pkg_name.empty() && (m_default_player_pkg_name.compare(SEC_VIDEO_PLAYER) == 0 || - m_default_player_pkg_name.compare(SEC_MUSIC_PLAYER) == 0)) { - if (!_show_app_list_popup()) - BROWSER_LOGE("_show_app_list_popup failed"); - } else { - if (!_launch_download_app()) - BROWSER_LOGE("_launch_download_app failed"); - } -} - -Eina_Bool Browser_Download_Manager::_launch_download_app(void) -{ - service_h service_handle = NULL; - BROWSER_LOGD("%s", __func__); - if (!m_url.empty()) { - - if (service_create(&service_handle) < 0) { - BROWSER_LOGE("Fail to create service handle"); - return EINA_FALSE; - } - - if (!service_handle) { - BROWSER_LOGE("service handle is NULL"); - return EINA_FALSE; - } - - if (service_set_operation(service_handle, SERVICE_OPERATION_DOWNLOAD) < 0) { - BROWSER_LOGE("Fail to set service operation"); - service_destroy(service_handle); - return EINA_FALSE; - } - - if (service_set_uri(service_handle, m_url.c_str()) < 0) { - BROWSER_LOGE("Fail to set uri"); - service_destroy(service_handle); - return EINA_FALSE; - } - if (!m_cookies.empty()) { - if (service_add_extra_data(service_handle, "cookie", m_cookies.c_str()) < 0) { - BROWSER_LOGE("Fail to set extra data"); - service_destroy(service_handle); - return EINA_FALSE; - } - } - - if (service_send_launch_request(service_handle, NULL, NULL) < 0) { - BROWSER_LOGE("Fail to launch service operation"); - service_destroy(service_handle); - return EINA_FALSE; - } - service_destroy(service_handle); - - return EINA_TRUE; - } - - return EINA_FALSE; -} - -Eina_Bool Browser_Download_Manager::_call_streaming_player(void) -{ - if (!_launch_streaming_player(m_url.c_str(), m_cookies.c_str())) { - BROWSER_LOGE("_launch_streaming_player failed"); - return EINA_FALSE; - } - - return EINA_TRUE; -} - -string Browser_Download_Manager::_get_extension_name_from_url(string& url) -{ - string ext; - size_t pos = 0; - - if(url.empty()) { - BROWSER_LOGE("url is NULL"); - return string(); - } - pos = url.find_last_of("/"); - - if (pos != string::npos) { - string tmp; - tmp = url.substr(pos + 1); - pos = tmp.find_last_of("."); - if (pos != string::npos) { - string tmp2; - size_t end = 0; - tmp2 = tmp.substr(pos+1); - pos = tmp2.find_last_of("?"); - if (pos != string::npos) - ext = tmp2.substr(0, pos - 1); - else - ext = tmp2; - } - } - BROWSER_LOGD("extension name[%s]\n",ext.c_str()); - return ext; -} - -const char *Browser_Download_Manager::_get_app_name_from_pkg_name(string& pkg_name) -{ - ail_appinfo_h handle; - ail_error_e ret; - string app_name; - char *str = NULL; - - ret = ail_package_get_appinfo(pkg_name.c_str(), &handle); - if (ret != AIL_ERROR_OK) { - return NULL; - } - - ret = ail_appinfo_get_str(handle, AIL_PROP_NAME_STR, &str); - if (ret != AIL_ERROR_OK) { - return NULL; - } - app_name = (const char*) str; - BROWSER_LOGD("pkg's name[%s]pkg[%s]\n",app_name.c_str(),pkg_name.c_str()); - - ret = ail_package_destroy_appinfo(handle); - if (ret != AIL_ERROR_OK) - return NULL; - - return app_name.c_str(); -} - -void Browser_Download_Manager::__player_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("%s", __func__); - if (!data) - return; - - Browser_Download_Manager *download_manager = (Browser_Download_Manager *)data; - - if (!download_manager->_call_streaming_player()) - BROWSER_LOGE("_call_streaming_player failed"); - - __popup_response_cb(download_manager, NULL, NULL); -} - -void Browser_Download_Manager::__internet_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("%s", __func__); - if (!data) - return; - - Browser_Download_Manager *download_manager = (Browser_Download_Manager *)data; - - if (!download_manager->_launch_download_app()) - BROWSER_LOGE("_launch_download_app failed"); - - __popup_response_cb(download_manager, NULL, NULL); -} - -Eina_Bool Browser_Download_Manager::_show_app_list_popup(void) -{ - if (m_url.empty()) { - BROWSER_LOGE("url is empty"); - return EINA_FALSE; - } - - m_list_popup = elm_popup_add(m_navi_bar); - if (!m_list_popup) { - BROWSER_LOGE("elm_popup_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_list_popup, "menustyle"); - elm_object_part_text_set(m_list_popup, "title,text", BR_STRING_TITLE_SELECT_AN_ACTION); - evas_object_size_hint_weight_set(m_list_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - m_app_list = elm_list_add(m_list_popup); - if (!m_app_list) { - BROWSER_LOGE("elm_list_add failed"); - return EINA_FALSE; - } - evas_object_size_hint_weight_set(m_app_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(m_app_list, EVAS_HINT_FILL, EVAS_HINT_FILL); - - const char *app_name = _get_app_name_from_pkg_name(m_default_player_pkg_name); - if (app_name && strlen(app_name)) - elm_list_item_append(m_app_list, app_name, NULL, NULL, __player_cb, this); - - elm_list_item_append(m_app_list, BR_STRING_INTERNET, NULL, NULL, __internet_cb, this); - evas_object_show(m_app_list); - - elm_object_content_set(m_list_popup, m_app_list); - evas_object_show(m_list_popup); - - Evas_Object *cancel_button = elm_button_add(m_list_popup); - elm_object_text_set(cancel_button, BR_STRING_CLOSE); - elm_object_part_content_set(m_list_popup, "button1", cancel_button); - evas_object_smart_callback_add(cancel_button, "clicked", __popup_response_cb, this); -} - -void Browser_Download_Manager::__popup_response_cb(void* data, Evas_Object* obj, - void* event_info) -{ - BROWSER_LOGD("%s", __func__); - - if (!data) - return; - - Browser_Download_Manager *download_manager = (Browser_Download_Manager *)data; - - if (download_manager->m_list_popup) { - evas_object_del(download_manager->m_list_popup); - download_manager->m_list_popup = NULL; - } -} - diff --git a/src/browser-extension/browser-download-manager.h b/src/browser-extension/browser-download-manager.h deleted file mode 100755 index 31087e40..00000000 --- a/src/browser-extension/browser-download-manager.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_POLICY_DECISION_MAKER_H -#define BROWSER_POLICY_DECISION_MAKER_H - -#include "browser-config.h" -#include "browser-view.h" - -#include - -using namespace std; - -class Browser_Common_View; - -class Browser_Download_Manager : public Browser_Common_View { -public: - Browser_Download_Manager(Evas_Object *navi_bar, Browser_View *browser_view); - ~Browser_Download_Manager(void); - - Eina_Bool init(void) {} - - void init(Evas_Object *webview); - void deinit(void); - void pause(void); -private: - /* Elementary event callback functions */ - static void __popup_response_cb(void *data, Evas_Object *obj, void *event_info); - static void __player_cb(void *data, Evas_Object *obj, void *event_info); - static void __internet_cb(void *data, Evas_Object *obj, void *event_info); - - static void __download_request_cb(void *data, Evas_Object *obj, void *event_info); - - void _request_download(Ewk_Download *download_info); - Eina_Bool _launch_download_app(void); - Eina_Bool _call_streaming_player(void); - string _get_extension_name_from_url(string &url); - Eina_Bool _show_app_list_popup(void); - const char *_get_app_name_from_pkg_name(string& pkg_name); - - Evas_Object *m_webview; - Evas_Object *m_navi_bar; - Evas_Object *m_list_popup; - Evas_Object *m_app_list; - Browser_View *m_browser_view; - - string m_url; - string m_cookies; - string m_default_player_pkg_name; -}; -#endif /* BROWSER_POLICY_DECISION_MAKER_H */ - diff --git a/src/browser-extension/browser-exscheme-handler.cpp b/src/browser-extension/browser-exscheme-handler.cpp deleted file mode 100755 index e70dd2b7..00000000 --- a/src/browser-extension/browser-exscheme-handler.cpp +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -#include "browser-common-view.h" -#include "browser-exscheme-handler.h" -#include "browser-view.h" - -Browser_View *Browser_Exscheme_Handler::m_browser_view = NULL; -Evas_Object *Browser_Exscheme_Handler::m_confirm_popup = NULL; -Evas_Object *Browser_Exscheme_Handler::m_webview = NULL; -std::string Browser_Exscheme_Handler::m_excheme_url; -Browser_Exscheme_Handler Browser_Exscheme_Handler::m_excheme_handler; - -Browser_Exscheme_Handler::Browser_Exscheme_Handler(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Exscheme_Handler::~Browser_Exscheme_Handler(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_confirm_popup) - evas_object_del(m_confirm_popup); -} - -void Browser_Exscheme_Handler::init(Browser_View *browser_view, Evas_Object *webview) -{ - BROWSER_LOGD("[%s]", __func__); - m_browser_view = browser_view; - m_webview = webview; - - elm_webview_scheme_callback_set(webview, "rtsp", __rtsp_cb); - elm_webview_scheme_callback_set(webview, "mailto", __mail_to_cb); - elm_webview_scheme_callback_set(webview, "sms", __sms_cb); - elm_webview_scheme_callback_set(webview, "mms", __mms_cb); - elm_webview_scheme_callback_set(webview, "daumtv", __daum_tv_cb); -} - -Eina_Bool Browser_Exscheme_Handler::__daum_tv_cb(Evas_Object *webview, const char *uri) -{ - BROWSER_LOGD("[%s]", __func__); - if (!uri || !strlen(uri)) - return EINA_FALSE; - - if (strlen(uri) <= strlen(BROWSER_DAUM_TV_SCHEME)) - return EINA_FALSE; - - std::string uri_string = std::string(uri); - if (!_launch_daum_tv(uri_string)) - BROWSER_LOGE("_launch_daum_tv failed"); - -} - -Eina_Bool Browser_Exscheme_Handler::__mms_cb(Evas_Object *webview, const char *uri) -{ - BROWSER_LOGD("[%s]", __func__); - if (!uri || !strlen(uri)) - return EINA_FALSE; - - /* Same with sms */ - return __sms_cb(webview, uri); -} - -Eina_Bool Browser_Exscheme_Handler::__sms_cb(Evas_Object *webview, const char *uri) -{ - BROWSER_LOGD("[%s]", __func__); - if (!uri || strlen(uri) <= strlen(BROWSER_SMS_SCHEME)) - return EINA_FALSE; - - int scheme_length = strlen(BROWSER_SMS_SCHEME); - char *body = NULL; - if (body = strstr((char *)uri, "?body=")) { - body = body + strlen("?body="); - BROWSER_LOGD("body=[%s]", body); - } - - char *number = NULL; - if ((number = strstr((char *)uri, ",")) || (number = strstr((char *)uri, "?"))) - *number = '\0'; - - number = (char *)uri + strlen(BROWSER_SMS_SCHEME); - BROWSER_LOGD("number=[%s]", number); - - struct ug_cbs cbs = {0, }; - cbs.layout_cb = __ug_layout_cb; - cbs.result_cb = NULL;//__ug_result_cb; - cbs.destroy_cb = __ug_destroy_cb; - cbs.priv = (void *)(&m_excheme_handler); - - bundle *b = bundle_create(); - if (b == NULL) { - BROWSER_LOGE("fail to create bundle."); - return EINA_FALSE; - } - - if (number) { - if (bundle_add(b, "TO", number)) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(b); - free(body); - return EINA_FALSE; - } - } - if (body) { - if (bundle_add(b, "BODY", body)) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(b); - free(body); - return EINA_FALSE; - } - } - - if (!ug_create(NULL, "msg-composer-efl", UG_MODE_FULLVIEW, b, &cbs)) - BROWSER_LOGE("ug_create is failed."); - - if (bundle_free(b)) - BROWSER_LOGE("bundle_free is failed."); - - return EINA_FALSE; -} - -Eina_Bool Browser_Exscheme_Handler::__mail_to_cb(Evas_Object *webview, const char *uri) -{ - BROWSER_LOGD("[%s]", __func__); - if (!uri || !strlen(uri)) - return EINA_FALSE; - - if (strlen(uri) <= strlen(BROWSER_MAIL_TO_SCHEME)) - return EINA_FALSE; - - std::string uri_string = std::string(uri); - - service_h service_handle = NULL; - - if (service_create(&service_handle) < 0) { - BROWSER_LOGE("Fail to create service handle"); - return EINA_FALSE; - } - - if (!service_handle) { - BROWSER_LOGE("service handle is NULL"); - return EINA_FALSE; - } - - if (service_set_operation(service_handle, SERVICE_OPERATION_SEND) < 0) { - BROWSER_LOGE("Fail to set service operation"); - service_destroy(service_handle); - return EINA_FALSE; - } - - if (service_set_uri(service_handle, uri_string.c_str() + strlen("mailto:")) < 0) { - BROWSER_LOGE("Fail to set uri"); - service_destroy(service_handle); - return EINA_FALSE; - } - - if (service_set_package(service_handle, SEC_EMAIL) < 0) { - BROWSER_LOGE("Fail to set package"); - service_destroy(service_handle); - return EINA_FALSE; - } - - if (service_send_launch_request(service_handle, NULL, NULL) < 0) { - BROWSER_LOGE("Fail to launch service operation : org.tizen.email"); - service_destroy(service_handle); - return EINA_FALSE; - } - - service_destroy(service_handle); - - return EINA_TRUE; -} - -Eina_Bool Browser_Exscheme_Handler::__rtsp_cb(Evas_Object *webview, const char *uri) -{ - BROWSER_LOGD("[%s]", __func__); - if (!uri || !strlen(uri)) - return EINA_FALSE; - - if (strlen(uri) <= strlen(BROWSER_RTSP_SCHEME)) - return EINA_FALSE; - - std::string uri_string = std::string(uri); - if (!m_excheme_handler._launch_streaming_player(uri_string.c_str())) - BROWSER_LOGE("_launch_streaming_player failed"); -} - -Eina_Bool Browser_Exscheme_Handler::_launch_daum_tv(std::string uri) -{ - BROWSER_LOGD("[%s]", __func__); - - if (!uri.empty()) { - string converted_url = uri; - if (converted_url.find(BROWSER_DAUM_TV_SCHEME) != string::npos) { - int pos = converted_url.find(BROWSER_DAUM_TV_SCHEME); - converted_url.replace(pos, strlen(BROWSER_DAUM_TV_SCHEME), - BROWSER_HTTP_SCHEME); - } - - if (!m_excheme_handler._launch_streaming_player(converted_url.c_str())) { - BROWSER_LOGE("_launch_streaming_player failed"); - return EINA_FALSE; - } - - return EINA_TRUE; - } - - return EINA_FALSE; -} - diff --git a/src/browser-extension/browser-exscheme-handler.h b/src/browser-extension/browser-exscheme-handler.h deleted file mode 100755 index 5e737851..00000000 --- a/src/browser-extension/browser-exscheme-handler.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_EXSCHEME_HANDLER_H -#define BROWSER_EXSCHEME_HANDLER_H - -#include "browser-config.h" -#include "browser-view.h" - -#include - -using namespace std; - -class Browser_Common_View; -class Browser_View; -class Browser_Exscheme_Handler : public Browser_Common_View { -public: - Browser_Exscheme_Handler(void); - ~Browser_Exscheme_Handler(void); - - Eina_Bool init(void) {} - void init(Browser_View *browser_view, Evas_Object *webview); - - typedef enum _call_type { - VOICE_CALL, - VIDEO_CALL, - CALL_UNKNOWN - } call_type; -private: - static Eina_Bool _launch_daum_tv(std::string uri); - - static Eina_Bool __daum_tv_cb(Evas_Object *webview, const char *uri); - static Eina_Bool __sms_cb(Evas_Object *webview, const char *uri); - static Eina_Bool __mms_cb(Evas_Object *webview, const char *uri); - static Eina_Bool __mail_to_cb(Evas_Object *webview, const char *uri); - static Eina_Bool __rtsp_cb(Evas_Object *webview, const char *uri); - - static Browser_View *m_browser_view; - static Evas_Object *m_confirm_popup; - static Evas_Object *m_webview; - static std::string m_excheme_url; - static Browser_Exscheme_Handler m_excheme_handler; -}; -#endif /* BROWSER_EXSCHEME_HANDLER_H */ - diff --git a/src/browser-extension/browser-find-word.cpp b/src/browser-extension/browser-find-word.cpp index 2287c357..04360f72 100755 --- a/src/browser-extension/browser-find-word.cpp +++ b/src/browser-extension/browser-find-word.cpp @@ -1,298 +1,103 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-find-word.h" +#include "browser-window.h" + +#define FIND_WORD_MAX_COUNT 999 Browser_Find_Word::Browser_Find_Word(Browser_View *browser_view) +//: m_page(NULL) : m_find_word_index(0) ,m_find_word_max_count(0) - ,m_webview(NULL) - ,m_find_word_entry_layout(NULL) - ,m_find_word_edit_field(NULL) - ,m_find_word_cancel_button(NULL) - ,m_find_word_prev_button(NULL) - ,m_find_word_next_button(NULL) - ,m_option_header_find_word_layout(NULL) ,m_browser_view(browser_view) { BROWSER_LOGD("[%s]", __func__); - if (!_create_layout()) - BROWSER_LOGE("_create_layout failed"); } Browser_Find_Word::~Browser_Find_Word(void) { BROWSER_LOGD("[%s]", __func__); - if (m_find_word_entry_layout) - evas_object_del(m_find_word_entry_layout); - if (m_find_word_edit_field) - evas_object_del(m_find_word_edit_field); - if (m_find_word_cancel_button) - evas_object_del(m_find_word_cancel_button); - if (m_find_word_prev_button) - evas_object_del(m_find_word_prev_button); - if (m_find_word_next_button) - evas_object_del(m_find_word_next_button); - if (m_option_header_find_word_layout) - evas_object_del(m_option_header_find_word_layout); -} - -void Browser_Find_Word::init(Evas_Object *webview) -{ - BROWSER_LOGD("[%s]", __func__); - m_webview = webview; - Evas_Object *find_word_edit_field_entry = br_elm_editfield_entry_get(m_find_word_edit_field); - elm_entry_entry_set(find_word_edit_field_entry, ""); - - elm_object_focus_set(m_find_word_edit_field, EINA_TRUE); - - edje_object_part_text_set(elm_layout_edje_get(m_option_header_find_word_layout), "elm.index_text", "0/0"); -} - -void Browser_Find_Word::deinit(void) -{ - BROWSER_LOGD("[%s]", __func__); - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - ewk_view_text_matches_unmark_all(webkit); -} - -void Browser_Find_Word::find_word(const char *word, Find_Word_Direction direction) -{ - BROWSER_LOGD("word to find=[%s]", word); - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - - ewk_view_text_matches_unmark_all(webkit); - m_find_word_max_count = ewk_view_text_matches_mark(webkit, word, - EINA_FALSE, EINA_TRUE, 0); - - if (m_prev_searched_word.empty() || strcmp(m_prev_searched_word.c_str(), word)) - m_find_word_index = 0; - - m_prev_searched_word = std::string(word); - - if (direction == BROWSER_FIND_WORD_FORWARD) { - if (ewk_view_text_search(elm_webview_webkit_get(m_webview), - word, EINA_FALSE, EINA_TRUE, EINA_TRUE)) { - m_find_word_index++; - if (m_find_word_index > m_find_word_max_count) - m_find_word_index = 1; - } - } else { - if (ewk_view_text_search(elm_webview_webkit_get(m_webview), - word, EINA_FALSE, EINA_FALSE, EINA_TRUE)) { - m_find_word_index--; - if (m_find_word_index <= 0) - m_find_word_index = m_find_word_max_count; - } - } - - char index_text[100] = {0, }; - if (m_find_word_max_count < 100) - sprintf(index_text, "%d/%d", m_find_word_index, m_find_word_max_count); - else - sprintf(index_text, "%d/-", m_find_word_index); - - _update_find_word_index_text(index_text); } -void Browser_Find_Word::_update_find_word_index_text(const char *index_text) +void Browser_Find_Word::__did_find_string_cb(Evas_Object* o, const char* string, int match_count, void* user_data) { - BROWSER_LOGD("[%s]", __func__); + BROWSER_LOGD("match_count = %d", match_count); - edje_object_part_text_set(elm_layout_edje_get(m_option_header_find_word_layout), "elm.index_text", index_text); -} + Browser_Find_Word *find_word = (Browser_Find_Word *)user_data; + find_word->m_find_word_max_count = (unsigned int)match_count; -void Browser_Find_Word::__find_word_entry_enter_key_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; + if (match_count == 0) { + find_word->m_find_word_index = 0; + find_word->m_find_word_max_count = 0; - Browser_Find_Word *find_word = (Browser_Find_Word *)data; - Evas_Object *edit_field_entry = br_elm_editfield_entry_get(find_word->m_find_word_edit_field); - const char *word_to_find = elm_entry_entry_get(edit_field_entry); - if (!word_to_find || !strlen(word_to_find)) + find_word->m_browser_view->_update_find_word_index_text("0/0"); return; - - find_word->find_word(word_to_find, Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); - - elm_object_focus_set(edit_field_entry, EINA_FALSE); - BROWSER_LOGD("find_word=[%s]", word_to_find); -} - -Eina_Bool Browser_Find_Word::_create_layout(void) -{ - BROWSER_LOGD("[%s]", __func__); - m_option_header_find_word_layout = elm_layout_add(m_browser_view->m_navi_bar); - if (!m_option_header_find_word_layout) { - BROWSER_LOGE("elm_layout_add failed"); - return EINA_FALSE; - } - if (!elm_layout_file_set(m_option_header_find_word_layout, BROWSER_EDJE_DIR"/browser-view-find-word-layout.edj", - "browser-view/find_word_layout")) { - BROWSER_LOGE("Can not set layout theme[browser-view/find_word_layout]\n"); - return EINA_FALSE; - } - evas_object_size_hint_weight_set(m_option_header_find_word_layout, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(m_option_header_find_word_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(m_option_header_find_word_layout); - - /* create url entry layout in url layout */ - m_find_word_entry_layout = elm_layout_add(m_browser_view->m_navi_bar); - if (!m_find_word_entry_layout) { - BROWSER_LOGE("elm_layout_add failed"); - return EINA_FALSE; } - if (!elm_layout_file_set(m_find_word_entry_layout, BROWSER_EDJE_DIR"/browser-view-find-word-layout.edj", - "browser-view/find_word_editfield_layout")) { - BROWSER_LOGE("browser-view/find_word_editfield_layout failed"); - return EINA_FALSE; - } - elm_object_part_content_set(m_option_header_find_word_layout, "elm.swallow.url", m_find_word_entry_layout); - evas_object_show(m_find_word_entry_layout); - - edje_object_part_text_set(elm_layout_edje_get(m_option_header_find_word_layout), "title_text", BR_STRING_FIND_WORD); - - m_find_word_edit_field = br_elm_url_editfield_add(m_browser_view->m_navi_bar); - if (!m_find_word_edit_field) { - BROWSER_LOGE("elm_editfield_add failed"); - return EINA_FALSE; - } - - elm_object_part_content_set(m_find_word_entry_layout, "elm.swallow.entry", m_find_word_edit_field); - evas_object_show(m_find_word_edit_field); - - edje_object_signal_emit(elm_layout_edje_get(m_find_word_edit_field), "find_word,signal", "elm"); - - br_elm_editfield_entry_single_line_set(m_find_word_edit_field, EINA_TRUE); - br_elm_editfield_eraser_set(m_find_word_edit_field, EINA_TRUE); - - elm_object_signal_callback_add(m_find_word_edit_field, "elm,eraser,clicked", "elm", - __find_word_erase_button_clicked_cb, this); - - Evas_Object *find_word_edit_field_entry = br_elm_editfield_entry_get(m_find_word_edit_field); - elm_entry_entry_set(find_word_edit_field_entry, ""); - evas_object_smart_callback_add(find_word_edit_field_entry, "activated", __find_word_entry_enter_key_cb, this); - elm_entry_input_panel_layout_set(find_word_edit_field_entry, ELM_INPUT_PANEL_LAYOUT_NORMAL); - ecore_imf_context_input_panel_event_callback_add((Ecore_IMF_Context *)elm_entry_imf_context_get(find_word_edit_field_entry), - ECORE_IMF_INPUT_PANEL_STATE_EVENT, __find_word_entry_imf_event_cb, this); - evas_object_show(m_find_word_edit_field); - - m_find_word_cancel_button = elm_button_add(m_browser_view->m_navi_bar); - if (!m_find_word_cancel_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_find_word_cancel_button, "text_only/style2"); - elm_object_text_set(m_find_word_cancel_button, BR_STRING_CANCEL); - elm_object_part_content_set(m_option_header_find_word_layout, "elm.swallow.cancel", m_find_word_cancel_button); - evas_object_show(m_find_word_cancel_button); - - evas_object_smart_callback_add(m_find_word_cancel_button, "clicked", __find_word_cancel_button_clicked_cb, this); - - m_find_word_prev_button = elm_button_add(m_browser_view->m_navi_bar); - if (!m_find_word_prev_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_find_word_prev_button, "browser/find_word_prev"); - elm_object_part_content_set(m_option_header_find_word_layout, "elm.swallow.find_word_prev", m_find_word_prev_button); - evas_object_show(m_find_word_prev_button); - evas_object_smart_callback_add(m_find_word_prev_button, "clicked", __find_word_prev_button_clicked_cb, this); - - m_find_word_next_button = elm_button_add(m_browser_view->m_navi_bar); - if (!m_find_word_next_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_find_word_next_button, "browser/find_word_next"); - elm_object_part_content_set(m_option_header_find_word_layout, "elm.swallow.find_word_next", m_find_word_next_button); - evas_object_show(m_find_word_next_button); - evas_object_smart_callback_add(m_find_word_next_button, "clicked", __find_word_next_button_clicked_cb, this); - const char *current_theme = elm_theme_get(NULL); - if (current_theme && strstr(current_theme, "white")) { - } else { - edje_object_signal_emit(elm_layout_edje_get(m_find_word_entry_layout), - "black_theme,signal", ""); + if (find_word->m_find_word_max_count < 0 || find_word->m_find_word_max_count > FIND_WORD_MAX_COUNT) { + BROWSER_LOGD("Matched word counts are over Max. which browser supported. Set as Maximum"); + find_word->m_find_word_max_count = FIND_WORD_MAX_COUNT; } - return EINA_TRUE; -} - -void Browser_Find_Word::__find_word_cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) + GString *index_string = g_string_new(NULL); + if (!index_string) { + BROWSER_LOGE("g_string_new failed"); return; - - Browser_Find_Word *find_word = (Browser_Find_Word *)data; - find_word->m_browser_view->_set_edit_mode(BR_NO_EDIT_MODE); + } + g_string_printf(index_string, "%d/%d", find_word->m_find_word_index, find_word->m_find_word_max_count); + find_word->m_browser_view->_update_find_word_index_text(index_string->str); + g_string_free(index_string, true); } -void Browser_Find_Word::__find_word_prev_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +int Browser_Find_Word::find_word(const char *word, Find_Word_Direction direction) { - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Find_Word *find_word = (Browser_Find_Word *)data; - Evas_Object *edit_field_entry = br_elm_editfield_entry_get(find_word->m_find_word_edit_field); - const char *word_to_find = elm_entry_entry_get(edit_field_entry); - if (!word_to_find || !strlen(word_to_find)) - return; - - find_word->find_word(word_to_find, Browser_Find_Word::BROWSER_FIND_WORD_BACKWARD); -} + BROWSER_LOGD("word to find=[%s]", word); -void Browser_Find_Word::__find_word_next_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; + if (direction == BROWSER_FIND_WORD_FORWARD) { + m_find_word_index++; + + ewk_view_string_find(m_browser_view->m_focused_window->m_ewk_view, word, + EWK_FIND_OPTIONS_CASE_INSENSITIVE | EWK_FIND_OPTIONS_WRAP_AROUND + | EWK_FIND_OPTIONS_SHOW_FIND_INDICATOR | EWK_FIND_OPTIONS_SHOW_HIGHLIGHT, FIND_WORD_MAX_COUNT, + __did_find_string_cb, this); + } else if (direction == BROWSER_FIND_WORD_BACKWARD) { + m_find_word_index--; + ewk_view_string_find(m_browser_view->m_focused_window->m_ewk_view, word, + EWK_FIND_OPTIONS_CASE_INSENSITIVE | EWK_FIND_OPTIONS_BACKWARDS | EWK_FIND_OPTIONS_WRAP_AROUND + | EWK_FIND_OPTIONS_SHOW_FIND_INDICATOR | EWK_FIND_OPTIONS_SHOW_HIGHLIGHT, FIND_WORD_MAX_COUNT, + __did_find_string_cb, this); + } + if (m_find_word_index > FIND_WORD_MAX_COUNT) + m_find_word_index = FIND_WORD_MAX_COUNT; - Browser_Find_Word *find_word = (Browser_Find_Word *)data; - Evas_Object *edit_field_entry = br_elm_editfield_entry_get(find_word->m_find_word_edit_field); - const char *word_to_find = elm_entry_entry_get(edit_field_entry); - if (!word_to_find || !strlen(word_to_find)) - return; + if (m_find_word_index < 0) + m_find_word_index = 0; - find_word->find_word(word_to_find, Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); + return m_find_word_index; } -void Browser_Find_Word::__find_word_entry_imf_event_cb(void *data, Ecore_IMF_Context *ctx, int value) +void Browser_Find_Word::init_index() { - BROWSER_LOGD("value=%d", value); - if (!data) - return; - - Browser_Find_Word *find_word = (Browser_Find_Word *)data; - if (value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { - Evas_Object *find_word_editfield_entry = br_elm_editfield_entry_get(find_word->m_find_word_edit_field); - elm_object_focus_set(find_word_editfield_entry, EINA_FALSE); - } + m_find_word_index = 0; } -void Browser_Find_Word::__find_word_erase_button_clicked_cb(void *data, Evas_Object *obj, - const char *emission, const char *source) +int Browser_Find_Word::get_match_max_value() { - BROWSER_LOGD("[%s]", __func__); - Browser_Find_Word *find_word = (Browser_Find_Word *)data; - edje_object_part_text_set(elm_layout_edje_get(find_word->m_option_header_find_word_layout), "elm.index_text", "0/0"); - Evas_Object *webkit = elm_webview_webkit_get(find_word->m_webview); - ewk_view_text_matches_unmark_all(webkit); + return m_find_word_max_count; } diff --git a/src/browser-extension/browser-find-word.h b/src/browser-extension/browser-find-word.h index 06e70445..f3d2750d 100755 --- a/src/browser-extension/browser-find-word.h +++ b/src/browser-extension/browser-find-word.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_FIND_WORD_H #define BROWSER_FIND_WORD_H @@ -34,35 +36,16 @@ public: BROWSER_FIND_WORD_BACKWARD } Find_Word_Direction; - void find_word(const char *word, Find_Word_Direction direction); - Evas_Object *get_layout(void) { return m_option_header_find_word_layout; } - void init(Evas_Object *webview); - void deinit(void); -private: - Eina_Bool _create_layout(void); + int find_word(const char *word, Find_Word_Direction direction); + void init_index(); + int get_match_max_value(); - static void __find_word_entry_imf_event_cb(void *data, Ecore_IMF_Context *ctx, int value); - static void __find_word_entry_enter_key_cb(void *data, Evas_Object *obj, void *event_info); - static void __find_word_cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __find_word_prev_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __find_word_next_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __find_word_erase_button_clicked_cb(void *data, Evas_Object *obj, - const char *emission, const char *source); - void _update_find_word_index_text(const char *index_text); +private: + static void __did_find_string_cb(Evas_Object* o, const char* string, int match_count, void* user_data); int m_find_word_index; int m_find_word_max_count; - Evas_Object *m_webview; Browser_View *m_browser_view; - - Evas_Object *m_find_word_entry_layout; - Evas_Object *m_find_word_edit_field; - Evas_Object *m_find_word_cancel_button; - Evas_Object *m_find_word_prev_button; - Evas_Object *m_find_word_next_button; - Evas_Object *m_option_header_find_word_layout; - - std::string m_prev_searched_word; }; #endif /* BROWSER_FIND_WORD_H */ diff --git a/src/browser-extension/browser-geolocation.cpp b/src/browser-extension/browser-geolocation.cpp new file mode 100755 index 00000000..1fa6018e --- /dev/null +++ b/src/browser-extension/browser-geolocation.cpp @@ -0,0 +1,225 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#include "browser-class.h" +#include "browser-geolocation.h" +#include "browser-geolocation-db.h" +#include "browser-view.h" + +Browser_Geolocation::Browser_Geolocation(void) +: m_popup(NULL) + ,m_check(NULL) + ,m_permission_request(0) + ,m_is_location_manager_valid(EINA_FALSE) + ,m_ewk_view(NULL) +{ + m_geolocation_db = get_data_manager()->get_geolocation_db(); + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Geolocation::~Browser_Geolocation(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_popup) + evas_object_del(m_popup); +} + +Eina_Bool Browser_Geolocation::init(Evas_Object *ewk_view) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!ewk_view) + return EINA_FALSE; + + m_ewk_view = ewk_view; + + return EINA_TRUE; +} + +void Browser_Geolocation::__popup_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Geolocation *geolocation = (Browser_Geolocation *)data; + Eina_Bool state = elm_check_state_get(geolocation->m_check); + if (state) { + //store save state in the database + geolocation->m_geolocation_db->save_geolocation_host(geolocation->m_host_string.c_str(), 1); + } + if (geolocation->m_popup) { + evas_object_del(geolocation->m_popup); + geolocation->m_popup = NULL; + } + + ewk_geolocation_permission_request_allow_set(geolocation->m_permission_request, EINA_TRUE); +} + +void Browser_Geolocation::__popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Geolocation *geolocation = (Browser_Geolocation *)data; + Eina_Bool state = elm_check_state_get(geolocation->m_check); + if (state) { + //store save state in the database + geolocation->m_geolocation_db->save_geolocation_host(geolocation->m_host_string.c_str(), 0); + } + if (geolocation->m_popup) { + evas_object_del(geolocation->m_popup); + geolocation->m_popup = NULL; + } + + ewk_geolocation_permission_request_allow_set(geolocation->m_permission_request, EINA_FALSE); +} + +Eina_Bool Browser_Geolocation::_show_request_confirm_popup(std::string msg) +{ + Evas_Object *layout = NULL; + Evas_Object *label = NULL; + + if (m_popup) + evas_object_del(m_popup); + + m_popup = elm_popup_add(m_navi_bar); + if (!m_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + label = elm_label_add(m_popup); + if (!label) { + BROWSER_LOGE("elm_label_add failed"); + return EINA_FALSE; + } + elm_object_style_set(label, "popup/default"); + elm_label_line_wrap_set(label, ELM_WRAP_MIXED); + elm_object_text_set(label, msg.c_str()); + evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(label); + + layout = elm_layout_add(m_popup); + if (!layout) { + BROWSER_LOGE("elm_layout_add failed"); + return EINA_FALSE; + } + if (!elm_layout_file_set(layout, BROWSER_EDJE_DIR"/browser-popup.edj", + "geolocation_popup")) { + BROWSER_LOGE("elm_layout_file_set failed", BROWSER_EDJE_DIR); + return EINA_FALSE; + } + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + m_check = elm_check_add(m_popup); + if (!m_check) { + BROWSER_LOGE("elm_check_add failed"); + return EINA_FALSE; + } + evas_object_size_hint_align_set(m_check, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(m_check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(m_check); + + elm_object_part_text_set(layout, "elm.text", BR_STRING_REMEMBER_PREFERENCE); + elm_object_part_content_set(layout, "elm.swallow.content", label); + elm_object_part_content_set(layout, "elm.swallow.end", m_check); + + evas_object_show(layout); + elm_object_content_set(m_popup, layout); + + Evas_Object *ok_button = elm_button_add(m_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_ALLOW); + elm_object_part_content_set(m_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __popup_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_popup); + if (!cancel_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(cancel_button, BR_STRING_REFUSE); + elm_object_part_content_set(m_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __popup_cancel_cb, this); + + evas_object_show(m_popup); + + return EINA_TRUE; +} + +void Browser_Geolocation::__geolocation_permission_request_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data || !event_info) + return; + + Ewk_Geolocation_Permission_Data *permission_data = (Ewk_Geolocation_Permission_Data *)event_info; + + Browser_View *browser_view = (Browser_View *)data; + + Browser_Geolocation *geolocation = m_browser->get_geolocation(); + + const Ewk_Security_Origin *origin = ewk_geolocation_permission_request_origin_get(permission_data); + geolocation->m_host_string = ewk_security_origin_host_get(origin); + BROWSER_LOGD("Host string[%s]", geolocation->m_host_string.c_str()); + char *request_msg = NULL; + int host_string_len = (geolocation->m_host_string).length(); + int popup_string_len = strlen(BR_STRING_REQUEST_LOCATION) + 2;// margin of %s + + request_msg = (char *)malloc((host_string_len + popup_string_len) * sizeof(char)); + memset(request_msg, 0, (host_string_len + popup_string_len)); + snprintf(request_msg, (host_string_len + popup_string_len), BR_STRING_REQUEST_LOCATION, (geolocation->m_host_string).c_str()); + + geolocation->m_permission_request = ewk_geolocation_permission_request_get(permission_data); + + bool enable_location = true; + br_preference_get_bool(ENABLE_LOCATION_KEY, &enable_location); + + if (enable_location) { + int count; + bool accept; + count = geolocation->m_geolocation_db->get_geolocation_host_count(geolocation->m_host_string.c_str()); + if (count > 0) { + BROWSER_LOGD("geolocation info is existed"); + // get the geolocation data and proceed with that and return without showing popup. + geolocation->m_geolocation_db->get_geolocation_host(geolocation->m_host_string.c_str(), accept); + if (accept) + ewk_geolocation_permission_request_allow_set(geolocation->m_permission_request, EINA_TRUE); + else + ewk_geolocation_permission_request_allow_set(geolocation->m_permission_request, EINA_FALSE); + + if (request_msg) + free(request_msg); + + return; + } + if (!geolocation->_show_request_confirm_popup(request_msg)) + BROWSER_LOGE("_show_request_confirm_popup failed"); + } else + ewk_geolocation_permission_request_allow_set(geolocation->m_permission_request, EINA_FALSE); + + if (request_msg) + free(request_msg); + +} diff --git a/src/browser-extension/browser-geolocation.h b/src/browser-extension/browser-geolocation.h new file mode 100755 index 00000000..86e01241 --- /dev/null +++ b/src/browser-extension/browser-geolocation.h @@ -0,0 +1,56 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#ifndef BROWSER_GEOLOCATION_H +#define BROWSER_GEOLOCATION_H + +#include "browser-common-view.h" +#include "browser-config.h" + +#include + +class Browser_Class; + +class Browser_Geolocation : public Browser_Common_View { + friend class Browser_Class; +public: + Browser_Geolocation(void); + ~Browser_Geolocation(void); + + Eina_Bool init(Evas_Object *ewk_view); +private: + Eina_Bool _show_request_confirm_popup(std::string msg); + static void __geolocation_permission_request_cb(void *data, Evas_Object *obj, void *event_info); + + /* Elementary event callback functions */ + static void __popup_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __popup_cancel_cb(void *data, Evas_Object *obj, void *event_info); + + Evas_Object *m_popup; + Evas_Object *m_check; + Browser_Geolocation_DB *m_geolocation_db; + string m_host_string; + Evas_Object *m_ewk_view; + + Ewk_Geolocation_Permission_Request m_permission_request; + location_manager_h m_location_manager; + Eina_Bool m_is_location_manager_valid; +}; + +#endif /* BROWSER_GEOLOCATION_H */ + diff --git a/src/browser-extension/browser-meta-tag.cpp b/src/browser-extension/browser-meta-tag.cpp new file mode 100755 index 00000000..03360689 --- /dev/null +++ b/src/browser-extension/browser-meta-tag.cpp @@ -0,0 +1,302 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#include "browser-class.h" +#include "browser-meta-tag.h" + +#include +#include +#include + +#define TIME_STAMP_MAX_LENGTH 255 +#define XML_RAW_DATA_MAX_SIZE 4096 +#define PATH_CONFIGURE_SAMPLE_XML "/opt/apps/org.tizen.browser/data/config_sample.xml" +#define PATH_CONFIGURE_XML "/opt/apps/org.tizen.browser/data/config.xml" +#define PATH_ICON_PNG "/opt/apps/org.tizen.browser/data/icon.png" + +Browser_Meta_Tag::Browser_Meta_Tag(void) +: + m_ewk_view(NULL) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Meta_Tag::~Browser_Meta_Tag(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Eina_Bool Browser_Meta_Tag::init(Evas_Object *ewk_view) +{ + BROWSER_LOGD("[%s]", __func__); + + deinit(); + + m_ewk_view = ewk_view; + + m_xml_path = std::string(PATH_CONFIGURE_XML); + m_icon_path = std::string(PATH_ICON_PNG); + + remove_config_xml(m_xml_path.c_str()); + + evas_object_smart_callback_add(m_ewk_view, "webapp,metatag,standalone", __webapp_metatag_standalone_cb, this); + + return EINA_TRUE; +} + +void Browser_Meta_Tag::deinit() +{ + evas_object_smart_callback_del(m_ewk_view, "webapp,metatag,standalone", __webapp_metatag_standalone_cb); +} + +Eina_Bool Browser_Meta_Tag::create_config_xml(const char *url, const char *title, const char *xml_path_attempt) +{ + BROWSER_LOGD("[%s]", __func__); + + char *xml_data = NULL; + FILE *file_read = NULL; + FILE *file_write = NULL; + long xml_data_size = 0; + long xml_extra_data_size = 0; + + /* Read raw data from default config_sample.xml */ + file_read = fopen(PATH_CONFIGURE_SAMPLE_XML, "r"); + + if (!file_read) { + BROWSER_LOGE("failed to open config_sample.xml"); + return EINA_FALSE; + } + + fseek(file_read, 0, SEEK_END); + xml_data_size = ftell(file_read); + rewind(file_read); + + xml_extra_data_size = strlen(url) + strlen(title); + xml_data = (char *)malloc(sizeof(char) * (xml_data_size + xml_extra_data_size)); + + if (!xml_data) { + BROWSER_LOGE("Failed to allocate memory to read files"); + fclose(file_read); + return EINA_FALSE; + } + memset(xml_data, 0x00, (xml_data_size + xml_extra_data_size)); + + size_t result = fread(xml_data, sizeof(char), (xml_data_size + xml_extra_data_size), file_read); + fclose(file_read); + + if (result != xml_data_size) { + BROWSER_LOGD("Reading error\n, result[%d]", result); + free (xml_data); + xml_data = NULL; + return EINA_FALSE; + } + + /* write xml raw data as config.xml */ + if (xml_path_attempt && strlen(xml_path_attempt) > 0) { + m_xml_path = std::string(xml_path_attempt); + } + + BROWSER_LOGD("m_xml_path[%s]", m_xml_path.c_str()); + + char *markup_converted_url = elm_entry_utf8_to_markup(url); + + if(!markup_converted_url) { + BROWSER_LOGE("failed to convert url to markup"); + return EINA_FALSE; + } + std::string url_string = std::string(markup_converted_url); + BROWSER_LOGD("url_string[%s]", url_string.c_str()); + free(markup_converted_url); + + double time_stamp = ecore_loop_time_get(); + char time_stamp_string[TIME_STAMP_MAX_LENGTH] = {0, }; + snprintf(time_stamp_string, TIME_STAMP_MAX_LENGTH, "%lf", time_stamp); + + std::string title_string = std::string(title); + std::string id_string = url_string + std::string("/") + std::string(time_stamp_string); + std::string::size_type pos = std::string::npos; + m_xml_law_data = std::string(xml_data); + BROWSER_LOGD("id_string[%s]", id_string.c_str()); + free(xml_data); + xml_data = NULL; + + while ((pos = m_xml_law_data.find("id_need")) != std::string::npos) + m_xml_law_data.replace(pos, strlen("id_need"), id_string); + + while ((pos = m_xml_law_data.find("url_need")) != std::string::npos) + m_xml_law_data.replace(pos, strlen("url_need"), url_string); + + while ((pos = m_xml_law_data.find("title_need")) != std::string::npos) + m_xml_law_data.replace(pos, strlen("title_need"), title_string); + + BROWSER_LOGD("xml_raw_data - changed[%s]", m_xml_law_data.c_str()); + + file_write = fopen(m_xml_path.c_str(), "w"); + + if (!file_write) { + BROWSER_LOGD("fopen failed", __func__); + return EINA_FALSE; + } else { + BROWSER_LOGD("fopen success"); + } + + fwrite(m_xml_law_data.c_str(), sizeof(char), m_xml_law_data.length(), file_write); + fclose(file_write); + + return EINA_TRUE; +} + +Eina_Bool Browser_Meta_Tag::remove_config_xml(const char *xml_path_attempt) +{ + if (xml_path_attempt && strlen(xml_path_attempt) > 0) + m_xml_path = std::string(xml_path_attempt); + + BROWSER_LOGD("xml_path[%s]", m_xml_path.c_str()); + + if (unlink(m_xml_path.c_str()) == -1) { + BROWSER_LOGE("Failed to remove config.xml in the path"); + return EINA_FALSE; + } + + return EINA_TRUE; +} +/* junghwankang_Native_APIs */ +Eina_Bool Browser_Meta_Tag::request_download_icon(const char *url) +{ + BROWSER_LOGD("[%s], request url[%s]", __func__, url); + SoupSession *soup_session = NULL; + SoupMessage *soup_msg = NULL; + SoupMessageHeaders *headers = NULL; + + soup_session = soup_session_async_new(); + g_object_set(soup_session, SOUP_SESSION_TIMEOUT, 15, NULL); + soup_msg = soup_message_new("GET", url); + + BROWSER_LOGD("request url[%s]", url); + headers = soup_msg->request_headers; + + soup_session_queue_message(soup_session, soup_msg, __download_icon_finished_cb, (void *)this); +} + +void Browser_Meta_Tag::__download_icon_finished_cb(SoupSession *session, SoupMessage *msg, gpointer data) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Meta_Tag *browser_meta_tag = NULL; + browser_meta_tag = (Browser_Meta_Tag *)data; + + SoupBuffer *body = soup_message_body_flatten(msg->response_body); + + int fd; + int write_len = 0; + browser_meta_tag->icon_remove(browser_meta_tag->m_icon_path.c_str()); + + if (!body->data || body->length <= 0) { + soup_buffer_free(body); + return; + } + if ((fd = open((browser_meta_tag->m_icon_path.c_str()), O_CREAT | O_WRONLY, S_IRUSR|S_IWUSR | S_IRGRP | S_IROTH)) < 0) { + soup_buffer_free(body); + return; + } + + write_len = write(fd, body->data, body->length); + close(fd); + + soup_buffer_free(body); + + if (write_len != body->length) { + browser_meta_tag->icon_remove((browser_meta_tag->m_icon_path.c_str())); + return; + } + + /* send pkgmgr the wgt file */ + browser_meta_tag->wgt_install(NULL); +} + +Eina_Bool Browser_Meta_Tag::icon_remove(const char *icon_path_attempt) +{ + if (icon_path_attempt && strlen(icon_path_attempt) > 0) + m_icon_path = std::string(icon_path_attempt); + + BROWSER_LOGD("m_icon_path[%s]", m_icon_path.c_str()); + + if (unlink(m_icon_path.c_str()) == -1) { + BROWSER_LOGE("Failed to remove icon.png in the path"); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Eina_Bool Browser_Meta_Tag::zip(const char *file_path_for_xml, const char* file_path_for_icon, const char* file_path_for_zipped_data) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Eina_Bool Browser_Meta_Tag::unzip(const char *file_path_for_zipped_data) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Eina_Bool Browser_Meta_Tag::wgt_install(const char *file_path) +{ + BROWSER_LOGD("[%s]", __func__); + + std::string wgt_file_path; + + if (file_path && strlen(file_path) > 0) + wgt_file_path = std::string(file_path); + else + wgt_file_path = std::string("/opt/apps/org.tizen.browser/data/config.xml"); + + BROWSER_LOGD("wgt_file_path[%s]", wgt_file_path.c_str()); + + pkgmgr_client *pc = pkgmgr_client_new(PC_REQUEST); + + if (!pc) + BROWSER_LOGD("pkgmgr_client_new is failed"); + + pkgmgr_client_install(pc, "wgt", NULL, wgt_file_path.c_str(), NULL, PM_QUIET, __wgt_install_ret_cb, this); + pkgmgr_client_free(pc); +} + +int Browser_Meta_Tag::__wgt_install_ret_cb(int req_id, const char *pkg_type, const char *pkg_name, const char *key, + const char *val, const void *pmsg, void *data) +{ + BROWSER_LOGD("[%s]", __func__); + + Browser_Meta_Tag *browser_meta_tag = NULL; + browser_meta_tag = (Browser_Meta_Tag *)data; + + browser_meta_tag->remove_config_xml(NULL); + unlink((browser_meta_tag->m_icon_path).c_str()); +} + +void Browser_Meta_Tag::__webapp_metatag_standalone_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) { + BROWSER_LOGE("__webapp_metatag_standalone_cb - data is null"); + return; + } +} + diff --git a/src/browser-extension/browser-meta-tag.h b/src/browser-extension/browser-meta-tag.h new file mode 100755 index 00000000..49f0d098 --- /dev/null +++ b/src/browser-extension/browser-meta-tag.h @@ -0,0 +1,58 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#ifndef BROWSER_META_TAG_H +#define BROWSER_META_TAG_H + +#include +#include +#include +#include +#include + +#include "browser-config.h" +#include "browser-view.h" + +class Browser_Meta_Tag { +public: + Browser_Meta_Tag(void); + ~Browser_Meta_Tag(void); + Eina_Bool init(Evas_Object *ewk_view); + void deinit(void); + + Eina_Bool create_config_xml(const char *url, const char *title, const char *xml_path_attempt); + Eina_Bool remove_config_xml(const char *xml_path_attempt); + Eina_Bool request_download_icon(const char *url); + Eina_Bool icon_remove(const char *icon_path_attempt); + Eina_Bool wgt_install(const char *file_path); +private: + Eina_Bool zip(const char *file_path_for_xml, const char* file_path_for_icon, const char* file_path_for_zipped_data); + Eina_Bool unzip(const char *file_path_for_zipped_data); + + static void __download_icon_finished_cb(SoupSession *session, SoupMessage *msg, gpointer data); + static void __webapp_metatag_standalone_cb(void *data, Evas_Object *obj, void *event_info); + static int __wgt_install_ret_cb(int req_id, const char *pkg_type,const char *pkg_name, const char *key, + const char *val, const void *pmsg, void *data); + std::string m_xml_path; + std::string m_xml_law_data; + std::string m_icon_path; + + Evas_Object *m_ewk_view; +}; + +#endif diff --git a/src/browser-extension/browser-notification-manager.cpp b/src/browser-extension/browser-notification-manager.cpp deleted file mode 100755 index 1bfa531b..00000000 --- a/src/browser-extension/browser-notification-manager.cpp +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-notification-db.h" -#include "browser-notification-manager.h" - -#include -#include - -Browser_Notification_Manager::Browser_Notification_Manager(void) -: m_webview(NULL) - ,m_notification_db(NULL) - ,m_confirm_popup(NULL) - ,m_is_notification_cb_registered(EINA_FALSE) - ,m_noti_id(0) -{ - BROWSER_LOGD("[%s]", __func__); - m_notification_db = new(nothrow) Browser_Notification_DB; - if (!m_notification_db) - BROWSER_LOGE("new(nothrow) Browser_Notification_DB failed"); -} - -Browser_Notification_Manager::~Browser_Notification_Manager(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_confirm_popup) - evas_object_del(m_confirm_popup); - if (m_notification_db) - delete m_notification_db; -} - -void Browser_Notification_Manager::init(Evas_Object *webview) -{ - BROWSER_LOGD("[%s]", __func__); - deinit(); - - m_webview = webview; - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_add(webkit, "notification,contents,show", - __notification_contents_show_cb, this); - evas_object_smart_callback_add(webkit, "notification,contents,cancel", - __notification_contents_cancel_cb, this); - evas_object_smart_callback_add(webkit, "notification,contents,requestPermission", - __notification_contents_request_permission_cb, this); -} - -void Browser_Notification_Manager::deinit(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (!m_webview) - return; - - m_is_notification_cb_registered = EINA_FALSE; - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_del(webkit, "notification,contents,show", - __notification_contents_show_cb); - evas_object_smart_callback_del(webkit, "notification,contents,cancel", - __notification_contents_cancel_cb); - evas_object_smart_callback_del(webkit, "notification,contents,requestPermission", - __notification_contents_request_permission_cb); -} - - -Eina_Bool Browser_Notification_Manager::_register_notification(Ewk_Notification *ewk_notification) -{ - BROWSER_LOGD("[%s]", __func__); - if (!m_notification_db) { - BROWSER_LOGE("m_notification_db is null"); - return EINA_FALSE; - } - - int notification_id = -1; - if (!m_notification_db->save_notification(ewk_notification, notification_id)) - BROWSER_LOGE("save_notification failed"); - if (notification_id < 0) { - BROWSER_LOGE("invalid notification id"); - return EINA_FALSE; - } - - _download_icon(notification_id, ewk_notification->iconURL); - - return EINA_TRUE; -} - -void Browser_Notification_Manager::_download_icon(int noti_id, const char *icon_url) -{ - BROWSER_LOGD("[%s]", __func__); - SoupSession *soup_session = NULL; - SoupMessage *soup_msg = NULL; - SoupMessageHeaders *headers = NULL; - - soup_session = soup_session_async_new(); - g_object_set(soup_session, SOUP_SESSION_TIMEOUT, 15, NULL); - soup_msg = soup_message_new("GET", icon_url); - headers = soup_msg->request_headers; - -/* It seems that the user agent setting code is unncessary. */ -/* - soup_message_headers_append(headers, "User-Agent", - "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13"); -*/ - m_noti_id = noti_id; - soup_session_queue_message(soup_session, soup_msg, __http_finished_cb, (void *)this); -} - -void Browser_Notification_Manager::__http_finished_cb(SoupSession *session, - SoupMessage *msg, gpointer data) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Notification_Manager *notification_manager = NULL; - notification_manager = (Browser_Notification_Manager *)data; - - SoupBuffer *body = soup_message_body_flatten(msg->response_body); - - int noti_id = notification_manager->m_noti_id; - - int fd; - int write_len = 0; - char icon_path[256] = {0, }; - sprintf(icon_path, WEBKIT_SOUP_CACHE_DIR"%d.ico", noti_id); - unlink(icon_path); - - if (!body->data || body->length <= 0) { - soup_buffer_free(body); - if (!notification_manager->_finalize_download_icon(noti_id, EINA_FALSE)) - BROWSER_LOGE("_finalize_download_icon failed"); - return; - } - if ((fd = open(icon_path, O_CREAT | O_WRONLY, S_IRUSR|S_IWUSR | S_IRGRP | S_IROTH)) < 0) { - soup_buffer_free(body); - if (!notification_manager->_finalize_download_icon(noti_id, EINA_FALSE)) - BROWSER_LOGE("_finalize_download_icon failed"); - return; - } - - write_len = write(fd, body->data, body->length); - close(fd); - - soup_buffer_free(body); - - if (write_len != body->length) { - unlink(icon_path); - if (!notification_manager->_finalize_download_icon(noti_id, EINA_FALSE)) - BROWSER_LOGE("_finalize_download_icon failed"); - return; - } - - if (!notification_manager->_finalize_download_icon(noti_id, EINA_TRUE)) - BROWSER_LOGE("_finalize_download_icon failed"); -} - -Eina_Bool Browser_Notification_Manager::_print_grouping_list(void) -{ - BROWSER_LOGD("[%s]", __func__); - notification_list_h noti_list = NULL; - notification_list_h noti_list_head = NULL; - notification_list_h noti_detail_list = NULL; - notification_list_h noti_detail_list_head = NULL; - notification_h noti = NULL; - notification_error_e noti_err = NOTIFICATION_ERROR_NONE; - char *caller_pkgname = NULL; - char *title = NULL; - int group_id = -1; - int priv_id = -1; - int count = 0; - - noti_err = notification_get_grouping_list(NOTIFICATION_TYPE_NOTI, -1, ¬i_list); - if (noti_err != NOTIFICATION_ERROR_NONE) { - BROWSER_LOGD("Fail to notification_get_grouping_list : %d\n", noti_err); - return EINA_FALSE; - } - - noti_list_head = noti_list; - - while (noti_list != NULL) { - noti = notification_list_get_data(noti_list); - BROWSER_LOGD("================================================================\n"); - notification_get_pkgname(noti, &caller_pkgname); - notification_get_id(noti, &group_id, &priv_id); - notification_get_count(NOTIFICATION_TYPE_NOTI, caller_pkgname, group_id, priv_id, &count); - BROWSER_LOGD("caller pkgname : %s, group_id : %d, priv_id : %d, count : %d\n", - caller_pkgname, group_id, priv_id, count); - notification_get_detail_list(caller_pkgname, group_id, priv_id, -1, ¬i_detail_list); - noti_detail_list_head = noti_detail_list; - int i = 0; - while (noti_detail_list != NULL) { - i++; - noti = notification_list_get_data(noti_detail_list); - - notification_get_title(noti, &title, NULL); - notification_get_id(noti, &group_id, &priv_id); - BROWSER_LOGD("\t%d) %s (G:%d, P:%d)\n", i, title, group_id, priv_id); - - noti_detail_list = notification_list_get_next(noti_detail_list); - } - notification_free_list(noti_detail_list_head); - noti_list = notification_list_get_next(noti_list); - } - - notification_free_list(noti_list_head); - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_Manager::_finalize_download_icon(int noti_id, Eina_Bool set_image) -{ - BROWSER_LOGD("[%s]", __func__); - if (!m_notification_db) { - BROWSER_LOGE("m_notification_db is null"); - return EINA_FALSE; - } - - notification_h noti_h = NULL; - notification_error_e error = NOTIFICATION_ERROR_NONE; - bundle *b = NULL; - int priv_id = 0; - - if (!_print_grouping_list()) - BROWSER_LOGE("_print_grouping_list failed"); - - noti_h = notification_new(NOTIFICATION_TYPE_NOTI, - NOTIFICATION_GROUP_ID_NONE, noti_id); - if (!noti_h) { - BROWSER_LOGE("notification_new failed"); - return EINA_FALSE; - } - - std::string title; - if (!m_notification_db->get_title_by_id(noti_id, title)) { - BROWSER_LOGE("get_title_by_id failed"); - return EINA_FALSE; - } - if (title.empty()) { - BROWSER_LOGE("title is empty"); - return EINA_FALSE; - } - - BROWSER_LOGD("title=[%s]", title.c_str()); - error = notification_set_text(noti_h, NOTIFICATION_TEXT_TYPE_TITLE, title.c_str(), NULL, - NOTIFICATION_VARIABLE_TYPE_NONE); - if (error != NOTIFICATION_ERROR_NONE) { - BROWSER_LOGD("Fail to set title [%d]\n", error); - notification_free(noti_h); - return EINA_FALSE; - } - - std::string msg_body; - if (!m_notification_db->get_body_by_id(noti_id, msg_body)) { - BROWSER_LOGD("get_body_by_id failed\n"); - return EINA_FALSE; - } - if (msg_body.empty()) { - BROWSER_LOGE("msg_body is empty"); - return EINA_FALSE; - } - BROWSER_LOGD("msg_body=[%s]", msg_body.c_str()); - error = notification_set_text(noti_h, NOTIFICATION_TEXT_TYPE_CONTENT, msg_body.c_str(), - NULL, NOTIFICATION_VARIABLE_TYPE_NONE); - if (error != NOTIFICATION_ERROR_NONE) { - BROWSER_LOGD("Fail to set content. [%d]\n", error); - notification_free(noti_h); - return EINA_FALSE; - } - - char icon_path[512] = {0, }; - if (set_image) { - sprintf(icon_path, WEBKIT_SOUP_CACHE_DIR"%d.ico", noti_id); - error = notification_set_image(noti_h, NOTIFICATION_IMAGE_TYPE_ICON, icon_path); - if (error != NOTIFICATION_ERROR_NONE) { - BROWSER_LOGD("Fail to set icon. [%d]\n", error); - return EINA_FALSE; - } - } - - error = notification_insert(noti_h, &priv_id); - if (error != NOTIFICATION_ERROR_NONE) { - BROWSER_LOGD("Fail to insert [%d]\n", error); - notification_free(noti_h); - return EINA_FALSE; - } - BROWSER_LOGD("Notification inserted successfully: priv id [%d], noti_id [%d]\n", priv_id, noti_id); - - if (!_print_grouping_list()) - BROWSER_LOGE("_print_grouping_list failed"); - - if (!m_is_notification_cb_registered) - if (notification_resister_changed_cb(__notification_changed_cb, this) - == NOTIFICATION_ERROR_NONE) - m_is_notification_cb_registered = EINA_TRUE; - - if (noti_h) { - error = notification_free(noti_h); - if (error != NOTIFICATION_ERROR_NONE) - BROWSER_LOGD("Fail to free noti data [%d]\n", error); - noti_h = NULL; - } - - if (set_image) { - if (!m_notification_db->update_icon_validity(noti_id)) - BROWSER_LOGE("update_icon_validity failed"); - } - - return EINA_TRUE; -} - -void Browser_Notification_Manager::__notification_changed_cb(void *data, notification_type_e type) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Notification_Manager *notification_manager = (Browser_Notification_Manager *)data; - - if (type == NOTIFICATION_TYPE_NOTI) - BROWSER_LOGD("notificationChangedCb called [type: NOTI]\n"); - else if (type == NOTIFICATION_TYPE_ONGOING) - BROWSER_LOGD("notificationChangedCb called [type: ONGOING]\n"); - else if (type == NOTIFICATION_TYPE_NONE) - BROWSER_LOGD("notificationChangedCb called [type: NONE]\n"); - else - BROWSER_LOGD("notificationChangedCb called [type: unknown]\n"); - - int count = -1; - notification_error_e error = NOTIFICATION_ERROR_NONE; - - error = notification_get_count(NOTIFICATION_TYPE_NONE, NULL, - NOTIFICATION_GROUP_ID_NONE, NOTIFICATION_PRIV_ID_NONE, &count); - - if (error == NOTIFICATION_ERROR_NONE) - BROWSER_LOGD("Notification count : %d\n", count); - else - BROWSER_LOGD("notification_get_count error\n"); - - if (count > 0) - return; - - if (!notification_manager->m_notification_db->delete_notifications()) - BROWSER_LOGE("delete_notifications failed"); - - if (notification_manager->m_is_notification_cb_registered) { - if (notification_unresister_changed_cb(__notification_changed_cb) == NOTIFICATION_ERROR_NONE) - notification_manager->m_is_notification_cb_registered = EINA_FALSE; - } -} - -void Browser_Notification_Manager::__notification_contents_show_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) - return; - - Browser_Notification_Manager *notification_manager = NULL; - notification_manager = (Browser_Notification_Manager *)data; - Ewk_Notification *ewk_notification = (Ewk_Notification *)event_info; - Evas_Object *webkit = elm_webview_webkit_get(notification_manager->m_webview); - - if (!ewk_notification->iconURL || !ewk_notification->title || !ewk_notification->body) { - BROWSER_LOGE("ewk_notification member is null"); - return; - } - - if (!notification_manager->_register_notification(ewk_notification)) - BROWSER_LOGE("_register_notification failed"); - - ewk_view_notification_displayed(webkit, ewk_notification); -} - -void Browser_Notification_Manager::__notification_contents_cancel_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); -} - -void Browser_Notification_Manager::__notification_contents_request_permission_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) - return; - - Browser_Notification_Manager *notification_manager = NULL; - notification_manager = (Browser_Notification_Manager *)data; - if (!notification_manager->m_notification_db) { - BROWSER_LOGE("m_notification_db is null"); - return; - } - - char *domain = (char *)event_info; - BROWSER_LOGD("domain(%s)", domain); - - if (notification_manager->m_notification_db->has_domain(domain)) { - Evas_Object *webkit = elm_webview_webkit_get(notification_manager->m_webview); - ewk_view_notification_allowed_set(webkit, EINA_TRUE, domain); - BROWSER_LOGD("notification_manager->m_notification_db->has_domain() returns TRUE"); - return; - } else { - BROWSER_LOGD("notification_manager->m_notification_db->has_domain() returns FALSE"); - } - - if (notification_manager->m_confirm_popup) - evas_object_del(notification_manager->m_confirm_popup); - notification_manager->m_confirm_popup = elm_popup_add(notification_manager->m_webview); - if (!notification_manager->m_confirm_popup) { - BROWSER_LOGE("elm_popup_add failed"); - return; - } - evas_object_size_hint_weight_set(notification_manager->m_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_text_set(notification_manager->m_confirm_popup, BR_STRING_PERMISSION_CHECK, "elm.text"); - elm_object_text_set(notification_manager->m_confirm_popup, BR_STRING_WEB_NOTIFICATION_Q); - - notification_manager->m_domain_to_save = std::string(domain); - - Evas_Object *ok_button = elm_button_add(notification_manager->m_confirm_popup); - elm_object_text_set(ok_button, BR_STRING_YES); - elm_object_part_content_set(notification_manager->m_confirm_popup, "button1", ok_button); - evas_object_smart_callback_add(ok_button, "clicked", __confirm_popup_response_cb, notification_manager); - - Evas_Object *cancel_button = elm_button_add(notification_manager->m_confirm_popup); - elm_object_text_set(cancel_button, BR_STRING_NO); - elm_object_part_content_set(notification_manager->m_confirm_popup, "button2", cancel_button); - evas_object_smart_callback_add(cancel_button, "clicked", __confirm_popup_cancel_cb, notification_manager); - - evas_object_show(notification_manager->m_confirm_popup); -} - -void Browser_Notification_Manager::__confirm_popup_response_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Notification_Manager *notification_manager = NULL; - notification_manager = (Browser_Notification_Manager *)data; - - if (!notification_manager->m_notification_db->save_domain(notification_manager->m_domain_to_save.c_str())) - BROWSER_LOGE("save_domain failed"); - - Evas_Object *webkit = elm_webview_webkit_get(notification_manager->m_webview); - ewk_view_notification_allowed_set(webkit, EINA_TRUE, notification_manager->m_domain_to_save.c_str()); - - if (notification_manager->m_confirm_popup != NULL) { - evas_object_del(notification_manager->m_confirm_popup); - notification_manager->m_confirm_popup = NULL; - } -} - -void Browser_Notification_Manager::__confirm_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Notification_Manager *notification_manager = NULL; - notification_manager = (Browser_Notification_Manager *)data; - - Evas_Object *webkit = elm_webview_webkit_get(notification_manager->m_webview); - ewk_view_notification_allowed_set(webkit, EINA_FALSE, notification_manager->m_domain_to_save.c_str()); - - if (notification_manager->m_confirm_popup != NULL) { - evas_object_del(notification_manager->m_confirm_popup); - notification_manager->m_confirm_popup = NULL; - } -} - diff --git a/src/browser-extension/browser-notification-manager.h b/src/browser-extension/browser-notification-manager.h deleted file mode 100755 index fc8c3b97..00000000 --- a/src/browser-extension/browser-notification-manager.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_NOTIFICATION_MANAGER_H -#define BROWSER_NOTIFICATION_MANAGER_H - -#include "browser-config.h" - -#include - -using namespace std; - -class Browser_Notification_DB; -class Browser_Notification_Manager { -public: - Browser_Notification_Manager(void); - ~Browser_Notification_Manager(void); - - void init(Evas_Object *webview); - void deinit(void); -private: - Eina_Bool _register_notification(Ewk_Notification *ewk_notification); - void _download_icon(int noti_id, const char *icon_url); - Eina_Bool _print_grouping_list(void); - Eina_Bool _finalize_download_icon(int noti_id, Eina_Bool set_image); - - static void __http_finished_cb(SoupSession *session, SoupMessage *msg, gpointer data); - static void __notification_changed_cb(void *data, notification_type_e type); - static void __confirm_popup_response_cb(void *data, Evas_Object *obj, void *event_info); - static void __confirm_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info); - - static void __notification_contents_show_cb(void *data, - Evas_Object *obj, void *event_info); - static void __notification_contents_cancel_cb(void *data, - Evas_Object *obj, void *event_info); - static void __notification_contents_request_permission_cb(void *data, - Evas_Object *obj, void *event_info); - - Evas_Object *m_webview; - Evas_Object *m_confirm_popup; - Browser_Notification_DB *m_notification_db; - Eina_Bool m_is_notification_cb_registered; - std::string m_domain_to_save; - int m_noti_id; -}; - -#endif /* BROWSER_NOTIFICATION_MANAGER_H */ - diff --git a/src/browser-extension/browser-picker-handler.cpp b/src/browser-extension/browser-picker-handler.cpp deleted file mode 100755 index af052b10..00000000 --- a/src/browser-extension/browser-picker-handler.cpp +++ /dev/null @@ -1,517 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-picker-handler.h" -#include "browser-view.h" - -#include - -Browser_Picker_Handler::Browser_Picker_Handler(Browser_View *browser_view) -: m_browser_view(browser_view) - ,m_webview(NULL) - ,m_picker_ug(NULL) - ,m_picker_layout(NULL) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Picker_Handler::~Browser_Picker_Handler(void) -{ - BROWSER_LOGD("[%s]", __func__); - _destroy_options(); - - if (m_picker_layout) { - elm_object_part_content_unset(m_picker_layout, "elm.swallow.picker"); - evas_object_del(m_picker_layout); - } - - if (m_picker_ug) { - ug_destroy(m_picker_ug); - m_picker_ug = NULL; - } -} - -void Browser_Picker_Handler::destroy_picker_layout(void) -{ - BROWSER_LOGD("[%s]", __func__); - _destroy_options(); - - if (m_picker_layout) { - elm_object_part_content_unset(m_picker_layout, "elm.swallow.picker"); - evas_object_del(m_picker_layout); - } - - if (m_picker_ug) { - ug_destroy(m_picker_ug); - m_picker_ug = NULL; - } -} - -void Browser_Picker_Handler::init(Evas_Object *webview) -{ - BROWSER_LOGD("[%s]", __func__); - deinit(); - - m_webview = webview; - memset(&m_selected_info, 0x00, sizeof(selected_info)); - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_add(webkit, "one,single,tap", __one_single_tap_cb, this); - evas_object_smart_callback_add(webkit, "inputmethod,changed", __input_method_changed_cb, this); -} - -void Browser_Picker_Handler::deinit(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_webview) { - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - - _destroy_options(); - - if (m_picker_layout) { - elm_object_part_content_unset(m_picker_layout, "elm.swallow.picker"); - evas_object_del(m_picker_layout); - } - - if (m_picker_ug) { - ug_destroy(m_picker_ug); - m_picker_ug = NULL; - } - - evas_object_smart_callback_del(webkit, "one,single,tap", __one_single_tap_cb); - evas_object_event_callback_del(m_win, EVAS_CALLBACK_RESIZE, __win_resize_cb); - evas_object_smart_callback_del(webkit, "inputmethod,changed", __input_method_changed_cb); - } -} - -void Browser_Picker_Handler::_destroy_options(void) -{ - BROWSER_LOGD("[%s]", __func__); - for (int i = 0 ; i < m_selected_info.option_number ; i++) { - if (m_selected_info.option_list[i]) { - free(m_selected_info.option_list[i]); - m_selected_info.option_list[i] = NULL; - } - } - - memset(&m_selected_info, 0x00, sizeof(selected_info)); -} - -Eina_Bool Browser_Picker_Handler::_show_picker(void) -{ - BROWSER_LOGD("[%s]", __func__); - - if (m_picker_ug) { - ug_destroy(m_picker_ug); - m_picker_ug = NULL; - } - - bundle *b = NULL; - struct ug_cbs cbs = {0,}; - b = bundle_create(); - if (!b) { - BROWSER_LOGE("bundle_create failed"); - return EINA_FALSE; - } - - char bundle_buf[100] = {0, }; - sprintf(bundle_buf, "%d", m_selected_info.option_number); - if (bundle_add(b, "Count", bundle_buf)) { - BROWSER_LOGE("bundle_add failed"); - bundle_free(b); - return EINA_FALSE; - } - - char item_title[100] = {0, }; - for (int i = 0 ; i < m_selected_info.option_number ; i++) { - sprintf(item_title, "%d", i); - if (bundle_add(b, item_title, m_selected_info.option_list[i])) { - BROWSER_LOGE("bundle_add failed"); - bundle_free(b); - return EINA_FALSE; - } - } - - cbs.layout_cb = __picker_layout_cb; - cbs.result_cb = __picker_result_cb; - cbs.destroy_cb = __picker_destroy_cb; - cbs.priv = (void *)this; - - m_picker_ug = ug_create(NULL, "picker-efl", UG_MODE_FRAMEVIEW, b, &cbs); - if (!m_picker_ug) { - BROWSER_LOGE("ug_create failed"); - return EINA_FALSE; - } - bundle_free(b); - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_call(webkit, "make,select,visible", (void*)(&m_selected_info.rect)); - - evas_object_event_callback_del(m_win, EVAS_CALLBACK_RESIZE, __win_resize_cb); - evas_object_event_callback_add(m_win, EVAS_CALLBACK_RESIZE, __win_resize_cb, this); - - bundle *option_bundle = NULL; - option_bundle = bundle_create(); - if (!option_bundle) { - BROWSER_LOGE("bundle_create failed"); - return EINA_FALSE; - } - - BROWSER_LOGD("prev=%d, next=%d", m_selected_info.is_prev, m_selected_info.is_next); - if (!m_selected_info.is_prev) { - if (bundle_add(option_bundle, "PrevButton", "Disable")) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(option_bundle); - return EINA_FALSE; - } - } - if (!m_selected_info.is_next) { - if (bundle_add(option_bundle, "NextButton", "Disable")) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(option_bundle); - return EINA_FALSE; - } - } - if (m_picker_ug) { - if (ug_send_message(m_picker_ug, option_bundle)) - BROWSER_LOGE("ug_send_message is failed.\n"); - } - bundle_free(option_bundle); - - return EINA_TRUE; -} - -void Browser_Picker_Handler::__win_resize_cb(void* data, Evas* evas, Evas_Object* obj, void* ev) -{ - if (!data) - return; - - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)data; - - int window_w = 0; - int window_h = 0; - evas_object_geometry_get(m_win, NULL, NULL, &window_w, &window_h); - BROWSER_LOGD("window w=%d, h=%d", window_w, window_h); - evas_object_resize(picker_handler->m_picker_layout, window_w, window_h); -} - -void Browser_Picker_Handler::__picker_layout_cb(struct ui_gadget *ug, enum ug_mode mode, void *priv) -{ - BROWSER_LOGD("[%s]", __func__); - if (!ug || !priv) - return; - - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)priv; - - if (picker_handler->m_picker_layout) { - elm_object_part_content_unset(picker_handler->m_picker_layout, "elm.swallow.picker"); - evas_object_del(picker_handler->m_picker_layout); - } - - picker_handler->m_picker_layout = elm_layout_add(m_navi_bar); - if (!picker_handler->m_picker_layout) { - BROWSER_LOGE("elm_layout_add"); - return; - } - elm_object_focus_allow_set(picker_handler->m_picker_layout, EINA_FALSE); - - if (!elm_layout_file_set(picker_handler->m_picker_layout, BROWSER_EDJE_DIR"/browser-picker-layout.edj", - "picker_layout")) { - BROWSER_LOGE("elm_layout_file_set failed"); - return; - } - evas_object_size_hint_weight_set(picker_handler->m_picker_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - int window_w = 0; - int window_h = 0; - evas_object_geometry_get(m_win, NULL, NULL, &window_w, &window_h); - - evas_object_resize(picker_handler->m_picker_layout, window_w, window_h); - evas_object_move(picker_handler->m_picker_layout, 0, 0); - evas_object_show(picker_handler->m_picker_layout); - - Evas_Object *base = (Evas_Object *)ug_get_layout(ug); - if (!base) { - BROWSER_LOGE("base is null"); - return; - } - - switch (mode) { - case UG_MODE_FRAMEVIEW: - elm_object_part_content_set(picker_handler->m_picker_layout, "elm.swallow.picker", base); - break; - default: - break; - } -} - -Eina_Bool Browser_Picker_Handler::_move_to_next_node(Eina_Bool is_next_node) -{ - BROWSER_LOGD("[%s]", __func__); - - _destroy_options(); - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - if (is_next_node) { - m_selected_info.option_list = ewk_view_dropdown_get_next_options(webkit, - &m_selected_info.option_number, - &m_selected_info.current_option_index, - &m_selected_info.rect, - &m_selected_info.is_prev, - &m_selected_info.is_next); - } else { - m_selected_info.option_list = ewk_view_dropdown_get_prev_options(webkit, - &m_selected_info.option_number, - &m_selected_info.current_option_index, - &m_selected_info.rect, - &m_selected_info.is_prev, - &m_selected_info.is_next); - } - - bundle *b = bundle_create(); - if (!b) { - BROWSER_LOGE("bundle_create failed"); - return EINA_FALSE; - } - - if (bundle_add(b, "Command", "Refill")) { - BROWSER_LOGE("bundle_add failed"); - bundle_free(b); - return EINA_FALSE; - } - char bundle_buf[100] = {0, }; - sprintf(bundle_buf, "%d", m_selected_info.option_number); - if (bundle_add(b, "Count", bundle_buf)) { - BROWSER_LOGE("bundle_add failed"); - bundle_free(b); - return EINA_FALSE; - } - - BROWSER_LOGD("prev=%d, next=%d", m_selected_info.is_prev, m_selected_info.is_next); - if (!m_selected_info.is_prev) { - if (bundle_add(b, "PrevButton", "Disable")) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(b); - return EINA_FALSE; - } - } else { - if (bundle_add(b, "PrevButton", "Enable")) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(b); - return EINA_FALSE; - } - } - - if (!m_selected_info.is_next) { - if (bundle_add(b, "NextButton", "Disable")) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(b); - return EINA_FALSE; - } - } else { - if (bundle_add(b, "NextButton", "Enable")) { - BROWSER_LOGE("bundle_add is failed."); - bundle_free(b); - return EINA_FALSE; - } - } - - char item_title[100] = {0, }; - for (int i = 0 ; i < m_selected_info.option_number ; i++) { - sprintf(item_title, "%d", i); - if (bundle_add(b, item_title, m_selected_info.option_list[i])) { - BROWSER_LOGE("bundle_add failed"); - bundle_free(b); - return EINA_FALSE; - } - } - - if (m_picker_ug) { - if (ug_send_message(m_picker_ug, b)) - BROWSER_LOGE("ug_send_message is failed.\n"); - } - - bundle_free(b); - - evas_object_smart_callback_call(webkit, "make,select,visible", (void*)(&m_selected_info.rect)); -} - -void Browser_Picker_Handler::__picker_result_cb(struct ui_gadget *ug, bundle *result, void *priv) -{ - BROWSER_LOGD("[%s]", __func__); - if (!ug || !priv || !result) - return; - - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)priv; - const char *response = bundle_get_val(result, "Result"); - if (response) { - if (!strncmp(response, "Success", strlen("Success"))) - picker_handler->__picker_destroy_cb(ug, priv); - else if (!strncmp(response, "Prev", strlen("Prev"))) - picker_handler->_move_to_next_node(EINA_FALSE); - else if (!strncmp(response, "Next", strlen("Next"))) - picker_handler->_move_to_next_node(EINA_TRUE); - } - - const char *index = bundle_get_val(result, "Index"); - if (index) { - Evas_Object *webkit = elm_webview_webkit_get(picker_handler->m_webview); - if (atoi(index)) { - if (!ewk_page_dropdown_set_current_index(webkit, atoi(index))) - BROWSER_LOGE("ewk_page_dropdown_set_current_index is failed.\n"); - } - } -} - -void Browser_Picker_Handler::__picker_destroy_cb(struct ui_gadget *ug, void *priv) -{ - BROWSER_LOGD("[%s]", __func__); - if (!ug || !priv) - return; - - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)priv; - - if (ug_destroy(ug)) - BROWSER_LOGE("ug_destroy is failed.\n"); - - picker_handler->m_picker_ug = NULL; - - elm_object_part_content_unset(picker_handler->m_picker_layout, "elm.swallow.picker"); - evas_object_del(picker_handler->m_picker_layout); - picker_handler->m_picker_layout = NULL; -} - -void Browser_Picker_Handler::__one_single_tap_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) - return; - - Evas_Point *position = (Evas_Point *)event_info; - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)data; - Evas_Object *webkit = elm_webview_webkit_get(picker_handler->m_webview); - double zoom_rate = 1.0f; - int webview_y = 0; - evas_object_geometry_get(webkit, NULL, &webview_y, NULL, NULL); - - picker_handler->_destroy_options(); - - if (ewk_view_zoom_cairo_scaling_get(webkit) == EINA_TRUE) - zoom_rate = ewk_view_zoom_get(webkit); - - picker_handler->m_selected_info.clicked_x = position->x / zoom_rate; - picker_handler->m_selected_info.clicked_y = (position->y - webview_y) / zoom_rate; - - picker_handler->m_selected_info.option_list = ewk_page_dropdown_get_options(webkit, - picker_handler->m_selected_info.clicked_x, - picker_handler->m_selected_info.clicked_y, - &picker_handler->m_selected_info.option_number, - &picker_handler->m_selected_info.current_option_index, - &picker_handler->m_selected_info.rect, - &picker_handler->m_selected_info.is_prev, - &picker_handler->m_selected_info.is_next); - - if (picker_handler->m_selected_info.option_list) { - if (!picker_handler->_show_picker()) - BROWSER_LOGE("_show_picker failed"); - } -} - -void Browser_Picker_Handler::__input_method_changed_cb(void *data, Evas_Object *obj, void *event_info) -{ - if (!data) - return; - - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)data; - Evas_Object *webkit = elm_webview_webkit_get(picker_handler->m_webview); - int imh_type = ewk_view_imh_get(obj); - BROWSER_LOGD("imh_type = %d", imh_type); - if (imh_type == EWK_IMH_DATE) { - const char *current_date = ewk_view_focused_input_element_value_get(webkit); - BROWSER_LOGD("current_date=[%s]", current_date); - - if (!picker_handler->_show_calendar_picker(current_date, INPUT_TYPE_DATE)) - BROWSER_LOGE("_show_calendar_picker failed"); - - if (current_date) - free((char *)current_date); - } else if (imh_type == EWK_IMH_TIME) { - /* To do. */ - } -} - -Eina_Bool Browser_Picker_Handler::_show_calendar_picker(const char *date, input_type type) -{ - BROWSER_LOGD("date=[%s], type=%d", date, type); - - if (m_picker_ug) { - ug_destroy(m_picker_ug); - m_picker_ug = NULL; - } - - bundle *b = NULL; - struct ug_cbs cbs = {0,}; - b = bundle_create(); - if (!b) { - BROWSER_LOGE("bundle_create failed"); - return EINA_FALSE; - } - - if (bundle_add(b, "date", date)) { - BROWSER_LOGE("bundle_add failed"); - bundle_free(b); - return EINA_FALSE; - } - - cbs.layout_cb = __picker_layout_cb; - cbs.destroy_cb = __picker_destroy_cb; - if (type == INPUT_TYPE_DATE) - cbs.result_cb = __calendar_picker_date_result_cb; - cbs.priv = (void *)this; - - m_picker_ug = ug_create(NULL, "calendar-picker-efl", UG_MODE_FRAMEVIEW, b, &cbs); - if (!m_picker_ug) { - BROWSER_LOGE("ug_create failed"); - return EINA_FALSE; - } - bundle_free(b); - - return EINA_TRUE; -} - -void Browser_Picker_Handler::__calendar_picker_date_result_cb(struct ui_gadget *ug, - bundle *result, void *priv) -{ - BROWSER_LOGD("[%s]", __func__); - if (!ug || !priv || !result) - return; - - Browser_Picker_Handler *picker_handler = (Browser_Picker_Handler *)priv; - const char *value = bundle_get_val(result, "Result"); - if (value) { - if (!strncmp(value, "Done", strlen("Done"))) { - picker_handler->__picker_destroy_cb(ug, priv); - return; - } - } - const char *date = bundle_get_val(result, "Date"); - if (date) { - Evas_Object *webkit = elm_webview_webkit_get(picker_handler->m_webview); - if (!ewk_view_focused_input_element_value_set(webkit, date)) - BROWSER_LOGE("ewk_view_focused_input_element_value_set failed"); - } -} - diff --git a/src/browser-extension/browser-picker-handler.h b/src/browser-extension/browser-picker-handler.h deleted file mode 100755 index dfcd3057..00000000 --- a/src/browser-extension/browser-picker-handler.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_PICKER_HANDLER_H -#define BROWSER_PICKER_HANDLER_H - -#include "browser-common-view.h" -#include "browser-config.h" - -class Browser_View; -class Browser_Picker_Handler : public Browser_Common_View { -public: - Browser_Picker_Handler(Browser_View *browser_view); - ~Browser_Picker_Handler(void); - - Eina_Bool init(void) {} - - void init(Evas_Object *webview); - void deinit(void); - - void destroy_picker_layout(void); - - typedef enum _input_type { - INPUT_TYPE_DATE, - INPUT_TYPE_DATE_TIME, - INPUT_TYPE_DATE_TIME_LOCAL, - INPUT_TYPE_UNKNOWN - } input_type; -private: - typedef struct _selected_info { - int clicked_x; - int clicked_y; - int option_number; - int current_option_index; - char **option_list; - Eina_Rectangle rect; - bool is_prev; - bool is_next; - } selected_info; - - void _destroy_options(void); - Eina_Bool _show_picker(void); - Eina_Bool _show_calendar_picker(const char *date, input_type type); - Eina_Bool _move_to_next_node(Eina_Bool is_next_node); - - static void __one_single_tap_cb(void *data, Evas_Object *obj, void *event_info); - static void __input_method_changed_cb(void *data, Evas_Object *obj, void *event_info); - static void __win_resize_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); - - static void __picker_layout_cb(struct ui_gadget *ug, enum ug_mode mode, void *priv); - static void __picker_result_cb(struct ui_gadget *ug, bundle *result, void *priv); - static void __picker_destroy_cb(struct ui_gadget *ug, void *priv); - static void __calendar_picker_date_result_cb(struct ui_gadget *ug, bundle *result, void *priv); - - Browser_View *m_browser_view; - Evas_Object *m_webview; - Evas_Object *m_picker_layout; - selected_info m_selected_info; - - struct ui_gadget *m_picker_ug; -}; - -#endif /* BROWSER_PICKER_HANDLER_H */ - diff --git a/src/browser-extension/browser-scissorbox-view.cpp b/src/browser-extension/browser-scissorbox-view.cpp new file mode 100755 index 00000000..850f2e39 --- /dev/null +++ b/src/browser-extension/browser-scissorbox-view.cpp @@ -0,0 +1,89 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#include "browser-scissorbox-view.h" +#include "browser-view.h" +#include "browser-window.h" +#include "scissorbox.h" + +//#define DEFAULT_SCISSORBOX_SIZE (200 * elm_scale_get()) +#define DEFAULT_SCISSORBOX_SIZE_1 172 +#define DEFAULT_SCISSORBOX_SIZE_2 348 +#define DEFAULT_SCISSORBOX_SIZE_3 700 +#define SCISSORBOX_SNAPSHOT_PATH BROWSER_SCREEN_SHOT_DIR"add_to_home.png" + +Browser_Scissorbox_View::Browser_Scissorbox_View(Browser_View *browser_view) +: m_browser_view(browser_view) + ,m_scissorbox(NULL) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Scissorbox_View::~Browser_Scissorbox_View(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (m_scissorbox) { + evas_object_smart_callback_del(m_scissorbox, "changed", __scissorbox_changed_cb); + evas_object_del(m_scissorbox); + } +} + +Eina_Bool Browser_Scissorbox_View::init(void) +{ + BROWSER_LOGD("[%s]", __func__); + + return _create_main_layout(); +} + +Eina_Bool Browser_Scissorbox_View::_create_main_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + Evas_Object *webview = m_browser_view->m_focused_window->m_ewk_view; + m_scissorbox = br_scissorbox_add(webview); + if (!m_scissorbox) { + BROWSER_LOGE("br_scissorbox_add failed"); + return EINA_FALSE; + } + + int webview_x = 0; + int webview_y = 0; + int webview_w = 0; + int webview_h = 0; + evas_object_geometry_get(webview, &webview_x, &webview_y, &webview_w, &webview_h); + + int scroller_y = 0; + evas_object_geometry_get(m_browser_view->m_scroller, NULL, &scroller_y, NULL, NULL); + + br_scissorbox_region_set(m_scissorbox, webview_w / 4, webview_y + webview_h / 4, + DEFAULT_SCISSORBOX_SIZE_1, DEFAULT_SCISSORBOX_SIZE_1); + br_scissorbox_bound_set(m_scissorbox, webview_x, webview_y, webview_w, webview_h - webview_y + scroller_y); + + evas_object_smart_callback_add(m_scissorbox, "changed", __scissorbox_changed_cb, this); + + evas_object_show(m_scissorbox); + + return EINA_TRUE; +} + +void Browser_Scissorbox_View::__scissorbox_changed_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); +} + diff --git a/src/browser-extension/browser-scissorbox-view.h b/src/browser-extension/browser-scissorbox-view.h new file mode 100755 index 00000000..edbc6527 --- /dev/null +++ b/src/browser-extension/browser-scissorbox-view.h @@ -0,0 +1,42 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef BROWSER_SCISSORBOX_VIEW_H +#define BROWSER_SCISSORBOX_VIEW_H + +#include "browser-config.h" + +class Browser_View; +class Browser_Scissorbox_View { +public: + Browser_Scissorbox_View(Browser_View *browser_view); + ~Browser_Scissorbox_View(void); + + Eina_Bool init(void); + Evas_Object *get_layout(void) { return m_scissorbox; } +private: + Eina_Bool _create_main_layout(void); + + static void __scissorbox_changed_cb(void *data, + Evas_Object *obj, void *event_info); + + Evas_Object *m_scissorbox; + Browser_View *m_browser_view; +}; + +#endif /* BROWSER_SCISSORBOX_VIEW_H */ + diff --git a/src/browser-history/browser-history-layout.cpp b/src/browser-history/browser-history-layout.cpp index 8e2581b4..540e46a2 100755 --- a/src/browser-history/browser-history-layout.cpp +++ b/src/browser-history/browser-history-layout.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-add-to-bookmark-view.h" #include "browser-view.h" @@ -50,6 +52,7 @@ Browser_History_Layout::Browser_History_Layout(void) ,m_edit_mode_select_all_check_button(NULL) ,m_content_box(NULL) ,m_no_history_label(NULL) + ,m_current_sweep_item(NULL) ,m_processing_popup_timer(NULL) ,m_processed_it(NULL) ,m_processed_count(0) @@ -63,6 +66,7 @@ Browser_History_Layout::Browser_History_Layout(void) ,m_no_content_search_result(NULL) ,m_searchbar(NULL) ,m_delete_confirm_popup(NULL) + ,m_is_bookmark_on_off_icon_clicked(EINA_FALSE) { BROWSER_LOGD("[%s]", __func__); } @@ -98,6 +102,7 @@ Browser_History_Layout::~Browser_History_Layout(void) if (m_delete_confirm_popup) evas_object_del(m_delete_confirm_popup); + } Eina_Bool Browser_History_Layout::init(void) @@ -457,7 +462,7 @@ void Browser_History_Layout::_show_selection_info(void) show_notify_popup(BR_STRING_ONE_ITEM_SELECTED, 0, EINA_TRUE); } else if (selected_count > 1) { char *small_popup_text = NULL; - int string_len = strlen(BR_STRING_ITEMS_SELECTED) + 4; + int string_len = strlen(BR_STRING_ITEMS_SELECTED) + 1; small_popup_text = (char *)malloc(string_len * sizeof(char)); memset(small_popup_text, 0x00, string_len); @@ -621,7 +626,7 @@ Eina_Bool Browser_History_Layout::__delete_processing_popup_timer_cb(void *data) while (history_layout->m_processed_it) { Browser_History_DB::history_item *item = NULL; item = (Browser_History_DB::history_item *)elm_object_item_data_get(history_layout->m_processed_it); - if (item) { + if (item) { if(item->is_delete && elm_genlist_item_select_mode_get(history_layout->m_processed_it) != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) { Eina_Bool ret = m_data_manager->get_history_db()->delete_history(item->id); @@ -787,7 +792,7 @@ Eina_Bool Browser_History_Layout::__select_processing_popup_timer_cb(void *data) while (history_layout->m_processed_it) { Browser_History_DB::history_item *item = NULL; - item = (Browser_History_DB::history_item *)elm_object_item_data_get(history_layout->m_processed_it); + item = (Browser_History_DB::history_item *)elm_object_item_data_get(history_layout->m_processed_it); if (item && (elm_genlist_item_select_mode_get(history_layout->m_processed_it) != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)) { item->is_delete = !check_value; elm_genlist_item_update(history_layout->m_processed_it); @@ -830,7 +835,7 @@ void Browser_History_Layout::__edit_mode_select_all_check_changed_cb(void *data, while (it) { Browser_History_DB::history_item *item = NULL; item = (Browser_History_DB::history_item *)elm_object_item_data_get(it); - if (item) { + if (item) { if (elm_genlist_item_select_mode_get(it) != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) { item->is_delete = value; elm_genlist_item_update(it); @@ -883,6 +888,13 @@ void Browser_History_Layout::__history_item_clicked_cb(void *data, Evas_Object * Browser_History_Layout *history_layout = (Browser_History_Layout *)data; + if (history_layout->m_is_bookmark_on_off_icon_clicked) { + history_layout->m_is_bookmark_on_off_icon_clicked = EINA_FALSE; + Elm_Object_Item *selected_item = (Elm_Object_Item *)eventInfo; + elm_genlist_item_selected_set(selected_item, EINA_FALSE); + return; + } + Elm_Object_Item *seleted_item = elm_genlist_selected_item_get(obj); Elm_Object_Item *index_item = elm_genlist_first_item_get(obj); int index = 0; @@ -1147,7 +1159,8 @@ Eina_Bool Browser_History_Layout::_create_main_layout(void) return EINA_FALSE; } - m_history_genlist_item_class.item_style = "2text.1icon.4"; + m_history_genlist_item_class.decorate_item_style = "mode/slide2"; + m_history_genlist_item_class.item_style = "2text.2icon.4"; m_history_genlist_item_class.decorate_all_item_style = "edit_default"; m_history_genlist_item_class.func.text_get = __genlist_label_get_cb; m_history_genlist_item_class.func.content_get = __genlist_icon_get_cb; @@ -1195,6 +1208,58 @@ Evas_Object *Browser_History_Layout::_show_delete_confirm_popup(void) return ok_button; } + +#if defined(GENLIST_SWEEP) +void Browser_History_Layout::__sweep_right_genlist_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data || elm_genlist_decorate_mode_get(obj)) + return; + else { + elm_genlist_item_decorate_mode_set((Elm_Object_Item *)event_info, "slide", EINA_TRUE); + elm_genlist_item_select_mode_set((Elm_Object_Item *)event_info, ELM_OBJECT_SELECT_MODE_NONE); + } + + Browser_History_Layout *history_layout = (Browser_History_Layout *)data; + if (history_layout->m_current_sweep_item) + elm_genlist_item_select_mode_set(history_layout->m_current_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT); + history_layout->m_current_sweep_item = (Elm_Object_Item *)event_info; +} + +void Browser_History_Layout::__sweep_cancel_genlist_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) + return; + + Browser_History_Layout *history_layout = (Browser_History_Layout *)data; + Elm_Object_Item *it = (Elm_Object_Item*)elm_genlist_decorated_item_get(obj); + if (it) { + elm_genlist_item_decorate_mode_set(it, "slide", EINA_FALSE); + elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DEFAULT); + + if (it == history_layout->m_current_sweep_item) + history_layout->m_current_sweep_item = NULL; + } +} + +void Browser_History_Layout::__sweep_left_genlist_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data || elm_genlist_decorate_mode_get(obj)) + return; + else { + elm_genlist_item_decorate_mode_set((Elm_Object_Item *)event_info, "slide", EINA_FALSE); + elm_genlist_item_select_mode_set((Elm_Object_Item *)event_info, ELM_OBJECT_SELECT_MODE_DEFAULT); + } + + Browser_History_Layout *history_layout = (Browser_History_Layout *)data; + history_layout->m_current_sweep_item = NULL; +} +#endif + char *Browser_History_Layout::__genlist_label_get_cb(void *data, Evas_Object *obj, const char *part) { if (!data) @@ -1207,11 +1272,13 @@ char *Browser_History_Layout::__genlist_label_get_cb(void *data, Evas_Object *ob char *mark_up = NULL; if (!strncmp(part, "elm.text.1", strlen("elm.text.1")) - || !strncmp(part, "elm.base.text", strlen("elm.base.text"))) + || !strncmp(part, "elm.base.text", strlen("elm.base.text")) + || !strncmp(part, "elm.slide.text.1", strlen("elm.slide.text.1"))) { mark_up = elm_entry_utf8_to_markup(item->title.c_str()); return mark_up; - } else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) { + } else if (!strncmp(part, "elm.text.2", strlen("elm.text.2")) + || !strncmp(part, "elm.slide.text.2", strlen("elm.slide.text.2"))) { mark_up = elm_entry_utf8_to_markup(item->url.c_str()); return mark_up; } @@ -1259,6 +1326,79 @@ char *Browser_History_Layout::__genlist_date_label_get_cb(void *data, Evas_Objec return NULL; } +void Browser_History_Layout::__slide_add_to_bookmark_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_History_DB::history_item *item = (Browser_History_DB::history_item *)data; + Browser_History_Layout *history_layout = (Browser_History_Layout *)item->user_data; + + /* If add to bookmark is excuted in searched list, remove the searched list. */ + Evas_Object *searchbar = NULL; + searchbar = edje_object_part_external_object_get(elm_layout_edje_get(history_layout->m_searchbar_layout), + "searchbar"); + br_elm_searchbar_text_set(searchbar, ""); + + if (!m_data_manager->create_add_to_bookmark_view(item->title, item->url)) { + BROWSER_LOGE("create_add_to_bookmark_view failed"); + return; + } + + if (!m_data_manager->get_add_to_bookmark_view()->init()) { + BROWSER_LOGE("get_add_to_bookmark_view()->init() failed"); + m_data_manager->destroy_add_to_bookmark_view(); + return; + } +} + +void Browser_History_Layout::_delete_history_item_by_slide_button(Browser_History_DB::history_item *item) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_History_Layout *history_layout = (Browser_History_Layout *)(item->user_data); + + int ret = EINA_TRUE; + ret = m_data_manager->get_history_db()->delete_history(item->id); + if (!ret) { + BROWSER_LOGE("m_data_manager->get_history_db()->delete_history failed"); + return; + } + + elm_object_item_del(history_layout->m_current_sweep_item); + + /* If the item is deleted in searched list, then delete it from original history genlist also. */ + Elm_Object_Item *it = elm_genlist_first_item_get(history_layout->m_history_genlist); + while (it) { + Browser_History_DB::history_item *item_data = NULL; + item_data = (Browser_History_DB::history_item *)elm_object_item_data_get(it); + if (item_data && (elm_genlist_item_select_mode_get(it) != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)) { + if (item_data->id == item->id) { + elm_object_item_del(it); + break; + } + } + it = elm_genlist_item_next_get(it); + } + + for(int i = 0 ; i < history_layout->m_history_list.size() ; i++) { + if (history_layout->m_history_list[i]->id == item->id) { + delete history_layout->m_history_list[i]; + history_layout->m_history_list.erase(history_layout->m_history_list.begin() + i); + break; + } + } + + if (history_layout->m_history_list.size() == 0) { + history_layout->_reload_history_genlist(); + } + + history_layout->_delete_date_only_label_genlist_item(); + + show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + void Browser_History_Layout::__delete_confirm_response_by_edit_mode_cb(void *data, Evas_Object *obj, void *event_info) { @@ -1276,8 +1416,29 @@ void Browser_History_Layout::__delete_confirm_response_by_edit_mode_cb(void *dat history_layout->_delete_selected_history(); - history_layout->_set_edit_mode(EINA_FALSE); + if (history_layout->m_history_list.size() < BROWSER_BOOKMARK_PROCESS_BLOCK_COUNT) { + history_layout->_set_edit_mode(EINA_FALSE); + } +} + +void Browser_History_Layout::__delete_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("event_info = %d", (int)event_info); + + if (!data) + return; + + Browser_History_DB::history_item *item = (Browser_History_DB::history_item *)data; + Browser_History_Layout *history_layout = (Browser_History_Layout *)(item->user_data); + if (history_layout->m_delete_confirm_popup) { + evas_object_del(history_layout->m_delete_confirm_popup); + history_layout->m_delete_confirm_popup = NULL; + } + + history_layout->_delete_history_item_by_slide_button(item); } + void Browser_History_Layout::__cancel_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, void *event_info) { @@ -1310,6 +1471,39 @@ void Browser_History_Layout::_delete_date_only_label_genlist_item(void) } } +void Browser_History_Layout::__slide_delete_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_History_DB::history_item *item = (Browser_History_DB::history_item *)data; + Browser_History_Layout *history_layout = (Browser_History_Layout *)item->user_data; + + Evas_Object *ok_button = history_layout->_show_delete_confirm_popup(); + if (ok_button) + evas_object_smart_callback_add(ok_button, "clicked", + __delete_confirm_response_by_slide_button_cb, item); +} + +void Browser_History_Layout::__bookmark_on_off_icon_clicked_cb(void* data, Evas* evas, Evas_Object* obj, void* ev) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_History_DB::history_item *item = (Browser_History_DB::history_item *)data; + Browser_History_Layout *history_layout = (Browser_History_Layout *)item->user_data; + + history_layout->m_is_bookmark_on_off_icon_clicked = EINA_TRUE; + + int bookmark_id = -1; + if (m_data_manager->get_history_db()->is_in_bookmark(item->url.c_str(), &bookmark_id)) { + evas_object_image_file_set(obj, BROWSER_IMAGE_DIR"/I01_icon_bookmark_off.png", NULL); + m_data_manager->get_bookmark_view()->delete_bookmark_item(bookmark_id); + } else { + evas_object_image_file_set(obj, BROWSER_IMAGE_DIR"/I01_icon_bookmark_on.png", NULL); + m_data_manager->get_bookmark_view()->append_bookmark_item(item->title.c_str(), item->url.c_str()); + } +} + Evas_Object *Browser_History_Layout::__genlist_icon_get_cb(void *data, Evas_Object *obj, const char *part) { if (!data || !part) @@ -1320,7 +1514,7 @@ Evas_Object *Browser_History_Layout::__genlist_icon_get_cb(void *data, Evas_Obje if (!history_layout) return NULL; - if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + if (!strncmp(part, "elm.icon.1", strlen("elm.icon.1"))) { Evas_Object *favicon = NULL; favicon = m_data_manager->get_browser_view()->get_favicon(item->url.c_str()); if (favicon) @@ -1335,6 +1529,23 @@ Evas_Object *Browser_History_Layout::__genlist_icon_get_cb(void *data, Evas_Obje evas_object_size_hint_aspect_set(default_favicon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); return default_favicon; } + } else if (!strncmp(part, "elm.icon.2", strlen("elm.icon.2"))) { + Evas_Object *bookmark_icon = evas_object_image_add(evas_object_evas_get(obj)); + evas_object_image_load_size_set(bookmark_icon, 64 * elm_scale_get(), 64 * elm_scale_get()); + evas_object_image_fill_set(bookmark_icon, 0, 0, 64 * elm_scale_get(), 64 * elm_scale_get()); + + if (m_data_manager->get_history_db()->is_in_bookmark(item->url.c_str(), NULL)) + evas_object_image_file_set(bookmark_icon, BROWSER_IMAGE_DIR"/I01_icon_bookmark_on.png", NULL); + else + evas_object_image_file_set(bookmark_icon, BROWSER_IMAGE_DIR"/I01_icon_bookmark_off.png", NULL); + + evas_object_propagate_events_set(bookmark_icon, EINA_FALSE); + evas_object_repeat_events_set(bookmark_icon, EINA_FALSE); + + evas_object_event_callback_add(bookmark_icon, EVAS_CALLBACK_MOUSE_DOWN, + __bookmark_on_off_icon_clicked_cb, item); + + return bookmark_icon; } else if (!strncmp(part, "elm.edit.icon.1", strlen("elm.edit.icon.1"))) { if (elm_genlist_decorate_mode_get(obj)) { Evas_Object *check_button = elm_check_add(obj); @@ -1347,6 +1558,26 @@ Evas_Object *Browser_History_Layout::__genlist_icon_get_cb(void *data, Evas_Obje evas_object_smart_callback_add(check_button, "changed", __edit_mode_item_check_changed_cb, item); return check_button; } + } else if (!strncmp(part, "elm.slide.swallow.1", strlen("elm.slide.swallow.1"))) { + Evas_Object *button = elm_button_add(obj); + if (!button) { + LOGD("elm_button_add() is failed."); + return NULL; + } + elm_object_style_set(button, "sweep/multiline"); + elm_object_text_set(button, BR_STRING_ADD_TO_BOOKMARKS); + evas_object_smart_callback_add(button, "clicked", __slide_add_to_bookmark_button_clicked_cb, item); + return button; + } else if (!strncmp(part, "elm.slide.swallow.2", strlen("elm.slide.swallow.2"))) { + Evas_Object *button = elm_button_add(obj); + if (!button) { + LOGD("elm_button_add() is failed."); + return NULL; + } + elm_object_style_set(button, "sweep/multiline"); + elm_object_text_set(button, BR_STRING_DELETE); + evas_object_smart_callback_add(button, "clicked", __slide_delete_button_clicked_cb, item); + return button; } return NULL; @@ -1390,6 +1621,13 @@ Evas_Object *Browser_History_Layout::_create_history_genlist(void) if (genlist) { evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); + +#if defined(GENLIST_SWEEP) + evas_object_smart_callback_add(genlist, "drag,start,right", __sweep_right_genlist_cb, this); + evas_object_smart_callback_add(genlist, "drag,start,left", __sweep_left_genlist_cb, this); + evas_object_smart_callback_add(genlist, "drag,start,up", __sweep_cancel_genlist_cb, this); + evas_object_smart_callback_add(genlist, "drag,start,down", __sweep_cancel_genlist_cb, this); +#endif } return genlist; diff --git a/src/browser-history/browser-history-layout.h b/src/browser-history/browser-history-layout.h index c024a0a8..245717fe 100755 --- a/src/browser-history/browser-history-layout.h +++ b/src/browser-history/browser-history-layout.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_HISTORY_LAYOUT_H #define BROWSER_HISTORY_LAYOUT_H @@ -58,6 +60,7 @@ private: void _show_selection_info(void); void _delete_selected_history(void); Evas_Object *_show_delete_confirm_popup(void); + void _delete_history_item_by_slide_button(Browser_History_DB::history_item *item); void _show_select_processing_popup(void); void _show_delete_processing_popup(void); void _enable_searchbar_layout(Eina_Bool enable); @@ -65,15 +68,25 @@ private: void _delete_date_only_label_genlist_item(void); /* elementary event callback functions. */ +#if defined(GENLIST_SWEEP) + static void __sweep_left_genlist_cb(void *data, Evas_Object *obj, void *event_info); + static void __sweep_right_genlist_cb(void *data, Evas_Object *obj, void *event_info); + static void __sweep_cancel_genlist_cb(void *data, Evas_Object *obj, void *event_info); +#endif static void __history_item_clicked_cb(void *data, Evas_Object *obj, void *eventInfo); static void __edit_mode_item_check_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __edit_mode_select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info); + static void __slide_add_to_bookmark_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __slide_delete_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __delete_confirm_response_by_edit_mode_cb(void *data, Evas_Object *obj, void *event_info); + static void __delete_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, void *event_info); static void __cancel_confirm_response_by_slide_button_cb(void *data, Evas_Object *obj, void *event_info); static void __select_processing_popup_response_cb(void *data, Evas_Object *obj, void *event_info); static void __delete_processing_popup_response_cb(void *data, Evas_Object *obj, void *event_info); static void __search_delay_changed_cb(void *data, Evas_Object *obj, void *event_info); + static void __bookmark_on_off_icon_clicked_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); + /* evas object event callback functions */ static void __edit_mode_select_all_clicked_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info); @@ -90,6 +103,8 @@ private: Elm_Genlist_Item_Class m_history_genlist_item_class; Elm_Genlist_Item_Class m_history_group_title_class; + Elm_Object_Item *m_current_sweep_item; + Evas_Object *m_searchbar_layout; Evas_Object *m_searchbar; Evas_Object *m_history_genlist; @@ -117,6 +132,7 @@ private: int m_total_item_count; Evas_Object *m_delete_confirm_popup; + Eina_Bool m_is_bookmark_on_off_icon_clicked; }; #endif /* BROWSER_HISTORY_LAYOUT_H */ diff --git a/src/browser-main.cpp b/src/browser-main.cpp index dd2d53c6..18ebd814 100755 --- a/src/browser-main.cpp +++ b/src/browser-main.cpp @@ -1,29 +1,28 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ extern "C" { #include +#include } -#include - -#include "browser-class.h" +#include #include "browser-config.h" - -using namespace std; +#include "browser-class.h" struct browser_data { Evas_Object *main_win; @@ -33,15 +32,16 @@ struct browser_data { Elm_Theme *browser_theme; Browser_Class *browser_instance; + + Eina_Bool is_paused; }; static void __br_set_env(void) { - /* enable gl */ - if (!getenv("ELM_ENGINE")) { - if (setenv("ELM_ENGINE", "gl", 1)) - BROWSER_LOGD("ELM_ENGINE's value is overwrited"); - } +#if !defined(TIZEN_PUBLIC) + /* manual enabling of CoreGL fastpath */ + setenv("COREGL_FASTPATH", "1", 1); +#endif /* set image cache suze */ if (setenv("ELM_IMAGE_CACHE", "0", 1)) @@ -66,7 +66,51 @@ static void __br_destroy(void *data) static void __main_win_del_cb(void *data, Evas_Object *obj, void *event) { - BROWSER_LOGD("<< window delete callback [%d]>>", appcore_measure_time()); + BROWSER_LOGD("[Browser-Launching time measure]<< window delete callback >>"); +} + +static bool __init_preference() +{ + BROWSER_LOGD("[%s]", __func__); + + if (!br_preference_create_bool(SHOW_MY_SITES_GUIDE, true)) + return false; + if (!br_preference_create_str(LAST_VISITED_URL_KEY, "")) + return false; +#if defined(FEATURE_MOST_VISITED_SITES) + if (!br_preference_create_str(HOMEPAGE_KEY, MOST_VISITED_SITES)) + return false; +#else + if (!br_preference_create_str(HOMEPAGE_KEY, USER_HOMEPAGE)) + return false; +#endif + if (!br_preference_create_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE)) + return false; + if (!br_preference_create_str(SEARCHURL_KEY, "http://search.yahoo.com/search?p=")) + return false; + if (!br_preference_create_str(DEFAULT_VIEW_LEVEL_KEY, "READABLE")) + return false; + if (!br_preference_create_bool(RUN_JAVASCRIPT_KEY, true)) + return false; + if (!br_preference_create_bool(DISPLAY_IMAGES_KEY, true)) + return false; + if (!br_preference_create_bool(BLOCK_POPUP_KEY, true)) + return false; + if (!br_preference_create_bool(SHOW_SECURITY_WARNINGS_KEY, true)) + return false; + if (!br_preference_create_bool(ACCEPT_COOKIES_KEY, true)) + return false; + if (!br_preference_create_bool(AUTO_SAVE_ID_PASSWORD_KEY, false)) + return false; + if (!br_preference_create_bool(AUTO_SAVE_FORM_DATA_KEY, false)) + return false; + if (!br_preference_create_bool(ENABLE_LOCATION_KEY, true)) + return false; +#ifdef ZOOM_BUTTON + if (!br_preference_create_bool(ZOOM_BUTTON_KEY, true)) + return false; +#endif + return true; } static Evas_Object *__create_main_win(void *app_data) @@ -138,14 +182,27 @@ static Evas_Object *__create_navi_bar(void *app_data) return navi_bar; } -static Eina_Bool __process_app_service(bundle *b, void *app_data) +static Eina_Bool __process_app_service(service_h service, void *app_data) { BROWSER_LOGD("[%s]", __func__); struct browser_data *ad = (struct browser_data *)app_data; - const char *operation = appsvc_get_operation(b); - const char *request_uri = appsvc_get_uri(b); - const char *request_mime_type = appsvc_get_mime(b); + char *operation = NULL; + char *request_uri = NULL; + char *request_mime_type = NULL; + + if (service_get_operation(service, &operation) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service operation failed"); + return EINA_FALSE; + } + + if (service_get_uri(service, &request_uri) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service uri failed"); + } + + if (service_get_mime(service, &request_mime_type) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service mime failed"); + } if (!operation && !request_uri && !request_mime_type) { BROWSER_LOGD("Not app svc"); @@ -157,16 +214,15 @@ static Eina_Bool __process_app_service(bundle *b, void *app_data) std::string full_path; if (request_mime_type) { - if (!strncmp(request_mime_type, "http.uri", strlen("http.uri")) - || !strncmp(request_mime_type, "file.uri", strlen("file.uri"))) { - if (request_uri) - full_path = std::string(request_uri); - } else if (!strncmp(request_mime_type, "application/x-shockwave-flash", strlen("application/x-shockwave-flash")) + if (!strncmp(request_mime_type, "application/x-shockwave-flash", strlen("application/x-shockwave-flash")) || !strncmp(request_mime_type, "image/svg+xml", strlen("image/svg+xml")) || !strncmp(request_mime_type, "text/html", strlen("text/html")) || !strncmp(request_mime_type, "application/xml", strlen("application/xml"))) { if (request_uri) - full_path = "file://" + std::string(request_uri); + full_path = std::string(request_uri); + } else { + BROWSER_LOGD("Not allowed mime type : [%s]", request_mime_type); + return EINA_FALSE; } } else if (request_uri) { full_path = std::string(request_uri); @@ -182,36 +238,54 @@ static Eina_Bool __process_app_service(bundle *b, void *app_data) return EINA_TRUE; } -static void __br_load_url(bundle *b, void *app_data) +static void __br_load_url(service_h service, void *app_data) { BROWSER_LOGD("[%s]", __func__); struct browser_data *ad = (struct browser_data *)app_data; - if (__process_app_service(b, app_data)) { + if (__process_app_service(service, app_data)) { BROWSER_LOGD("app service"); return; } std::string full_path; - const char *mime_type = bundle_get_val(b, AUL_K_MIME_TYPE); - const char *content_url = bundle_get_val(b, AUL_K_MIME_CONTENT); - const char *search_keyword = bundle_get_val(b, "search_keyword"); - const char *goto_url = bundle_get_val(b, "goto_url"); - const char *url = bundle_get_val(b, "url"); - if (mime_type && content_url) { - BROWSER_LOGD("mime type=[%s], url=[%s]", mime_type, content_url); - if (!strcmp(mime_type, "http.uri") || !strcmp(mime_type, "file.uri")) { - full_path = content_url; - } else if (!strcmp(mime_type, "application/x-shockwave-flash") + char *mime_type = NULL; + char *search_keyword = NULL; + char *goto_url = NULL; + char *url = NULL; + + if (service_get_uri(service, &url) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service uri failed"); + } + + if (service_get_mime(service, &mime_type) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service mime failed"); + } + + if (service_get_extra_data(service, "search_keyword", &search_keyword) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service extra data(search keyword) failed"); + } + + if (service_get_extra_data(service, "goto_url", &search_keyword) != SERVICE_ERROR_NONE) { + BROWSER_LOGD("get service extra data(search keyword) failed"); + } + + if (mime_type && url) { + BROWSER_LOGD("mime type=[%s], url=[%s]", mime_type, url); + if (!strcmp(mime_type, "application/x-shockwave-flash") || !strcmp(mime_type, "image/svg+xml") || !strcmp(mime_type, "text/html") || !strcmp(mime_type, "application/xml")) { - full_path = "file://" + std::string(content_url); + full_path = std::string(url); } } else if (search_keyword) { BROWSER_LOGD("search_keyword=[%s]", search_keyword); if (search_keyword) { - char *search_url = vconf_get_str(SEARCHURL_KEY); + char *search_url = NULL; + if (br_preference_get_str(SEARCHURL_KEY, &search_url) == false) { + BROWSER_LOGE("failed to get %s preference\n", SEARCHURL_KEY); + return; + } if (search_url) { full_path = std::string(search_url) + std::string(search_keyword); free(search_url); @@ -244,14 +318,45 @@ static Eina_Bool __br_keydown_event(void *data, int type, void *event) return EXIT_FAILURE; } -static int __br_lang_changed_cb(void *data) +#if defined(HORIZONTAL_UI) +static void __br_rotate_cb(app_device_orientation_e mode, void *data) { - BROWSER_LOGD("[%s]", __func__); - /* To do */ - return 0; + BROWSER_LOGD("[%s] rotation mode = %d", __func__, mode); + struct browser_data *ad = (struct browser_data *)data; + int rotation_value; + + switch (mode) { + case APP_DEVICE_ORIENTATION_0: + rotation_value = 0; + ug_send_event(UG_EVENT_ROTATE_PORTRAIT); + break; + case APP_DEVICE_ORIENTATION_90: + rotation_value = 90; + ug_send_event(UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN); + break; + case APP_DEVICE_ORIENTATION_180: + rotation_value = 180; + ug_send_event(UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN); + break; + case APP_DEVICE_ORIENTATION_270: + rotation_value = 270; + ug_send_event(UG_EVENT_ROTATE_LANDSCAPE); + break; + default: + rotation_value = -1; + break; + } + + if (rotation_value >= 0 && ad->browser_instance) { + if (ad->browser_instance->is_available_to_rotate()) { + elm_win_rotation_with_resize_set(ad->main_win, rotation_value); + ad->browser_instance->rotate(rotation_value); + } + } } +#endif -static int __br_low_memory_cb(void* data) +static void __br_low_memory_cb(void* data) { BROWSER_LOGD("[%s]", __func__); /* To do */ @@ -259,29 +364,87 @@ static int __br_low_memory_cb(void* data) if (ad && ad->browser_instance) ad->browser_instance->clean_up_windows(); +} - return 0; +static void __br_low_battery_cb(void* data) +{ + BROWSER_LOGD("[%s]", __func__); + /* To do */ + return; } -static void __br_register_system_event(void *app_data) +static void __br_lang_changed_cb(void *data) { - struct browser_data *ad = (struct browser_data *)app_data; + BROWSER_LOGD("[%s]", __func__); + /* To do */ + return; +} - /* add system event callback */ - if (0 != appcore_set_event_callback(APPCORE_EVENT_LANG_CHANGE, __br_lang_changed_cb, ad)) - BROWSER_LOGE("appcore_set_event_callback is failed.\n"); +static void __br_region_changed_cb(void *data) +{ + BROWSER_LOGD("[%s]", __func__); + /* To do */ + return; +} - if (0 != appcore_set_event_callback(APPCORE_EVENT_LOW_MEMORY, __br_low_memory_cb, ad)) - BROWSER_LOGE("appcore_set_event_callback is failed.\n"); +static void __br_register_system_event(void *app_data) +{ + /* To do */ + struct browser_data *ad = (struct browser_data *)app_data; +} - ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __br_keydown_event, ad); +static int __browser_set_i18n(const char *domain, const char *dir) +{ + char *r = NULL; + + if (domain == NULL) { + BROWSER_LOGE("domain is NULL"); + return -1; + } + + r = setlocale(LC_ALL, ""); + + /* if locale is not set properly, try again to set as language base */ + if (r == NULL) { + char *lang_set = vconf_get_str(VCONFKEY_LANGSET); + if (!lang_set && strlen(lang_set) > 0) + r = setlocale(LC_ALL, lang_set); + + BROWSER_LOGE("setlocale as [%s]", r); + if (lang_set) + free(lang_set); + } + + if (r == NULL) { + BROWSER_LOGE("setlocale failed"); + return -1; + } + + r = bindtextdomain(domain, dir); + if (r == NULL) { + BROWSER_LOGE("bindtextdomain failed"); + return -1; + } + + r = textdomain(domain); + if (r == NULL) { + BROWSER_LOGE("textdomain failed"); + return -1; + } + + return 0; } -static int __br_app_create(void *app_data) +static bool __br_app_create(void *app_data) { - BROWSER_LOGD("<< theme extenstion [%d]>>", appcore_measure_time()); + BROWSER_LOGD("[Browser-Launching time measure] << theme extenstion >>"); struct browser_data *ad = (struct browser_data *)app_data; + elm_config_preferred_engine_set("opengl_x11"); + + if(!__init_preference()) + return false; + ad->browser_theme = elm_theme_new(); elm_theme_ref_set(ad->browser_theme, NULL); elm_theme_extension_add(ad->browser_theme, BROWSER_NAVIFRAME_THEME); @@ -291,59 +454,64 @@ static int __br_app_create(void *app_data) elm_theme_extension_add(ad->browser_theme, BROWSER_URL_LAYOUT_THEME); elm_theme_extension_add(ad->browser_theme, BROWSER_PREDICTIVE_HISTORY_THEME); elm_theme_extension_add(ad->browser_theme, BROWSER_SETTINGS_THEME); - elm_theme_extension_add(ad->browser_theme, BROWSER_MOST_VISITED_SITES_THEME); - elm_theme_extension_add(ad->browser_theme, BROWSER_MOST_VISITED_THEME); elm_theme_extension_add(ad->browser_theme, BROWSER_BOOKMARK_THEME); elm_theme_extension_add(ad->browser_theme, BROWSER_FIND_WORD_LAYOUT_THEME); - BROWSER_LOGD("<< create main window [%d]>>", appcore_measure_time()); + BROWSER_LOGD("[Browser-Launching time measure] << create main window >>"); ad->main_win = __create_main_win(ad); if (!ad->main_win) { BROWSER_LOGE("fail to create window"); - return -1; + return false; } - BROWSER_LOGD("<< create background [%d]>>", appcore_measure_time()); + BROWSER_LOGD("[Browser-Launching time measure] << create background >>"); ad->bg = __create_bg(ad->main_win); if (!ad->bg) { BROWSER_LOGE("fail to create bg"); - return -1; + return false; } - BROWSER_LOGD("<< create layout main [%d]>>", appcore_measure_time()); + BROWSER_LOGD("[Browser-Launching time measure] << create layout main >>"); ad->main_layout = __create_main_layout(ad->main_win); if (!ad->main_layout) { BROWSER_LOGE("fail to create main layout"); - return -1; + return false; } ad->navi_bar = __create_navi_bar(ad); if (!ad->navi_bar) { BROWSER_LOGE("fail to create navi bar"); - return -1; + return false; } /* create browser instance & init */ - ad->browser_instance = new(nothrow) Browser_Class(ad->main_win, ad->navi_bar, ad->bg, ad->main_layout); + ad->browser_instance = new(nothrow) Browser_Class(ad->main_win, ad->navi_bar, ad->bg); if (!ad->browser_instance) { BROWSER_LOGE("fail to Browser_Class"); - return -1; + return false; } if (ad->browser_instance->init() == EINA_FALSE) { BROWSER_LOGE("fail to browser init"); - return -1; + return false; } /* init internationalization */ - int ret = appcore_set_i18n(BROWSER_PACKAGE_NAME, BROWSER_LOCALE_DIR); + int ret = __browser_set_i18n(BROWSER_PACKAGE_NAME, BROWSER_LOCALE_DIR); if (ret) { - BROWSER_LOGE("fail to appcore_set_i18n"); - return -1; + BROWSER_LOGE("fail to __browser_set_i18n"); + return false; } - __br_register_system_event(ad); +#if defined(HORIZONTAL_UI) + app_device_orientation_e rotation_value = app_get_device_orientation(); - return 0; + if (rotation_value != APP_DEVICE_ORIENTATION_0) { + elm_win_rotation_with_resize_set(ad->main_win, rotation_value); + ad->browser_instance->rotate(rotation_value); + } +#endif + + return true; } /* GCF test requirement */ @@ -356,16 +524,17 @@ static void __send_termination_event_to_tapi(void) event_data.eventDownloadType = TAPI_EVENT_SAT_DW_TYPE_BROWSER_TERMINATION; event_data.u.browserTerminationEventReqInfo.browserTerminationCause = TAPI_SAT_BROWSER_TERMINATED_BY_USER; - tel_init(); - tel_register_app_name((char*)"org.tizen.browser"); - tel_download_sat_event(&event_data, &request_id); + TapiHandle *handle = NULL; + handle = tel_init(NULL); + + ret = tel_download_sat_event(handle, &event_data, NULL, NULL); if(ret != TAPI_API_SUCCESS && ret != TAPI_API_SAT_EVENT_NOT_REQUIRED_BY_USIM) BROWSER_LOGE("failed to tel_download_sat_event"); - tel_deinit(); + tel_deinit(handle); } -static int __br_app_terminate(void *app_data) +static void __br_app_terminate(void *app_data) { BROWSER_LOGD("[%s]", __func__); struct browser_data *ad = (struct browser_data *)app_data; @@ -377,8 +546,6 @@ static int __br_app_terminate(void *app_data) elm_theme_extension_del(ad->browser_theme, BROWSER_PROGRESSBAR_THEME); elm_theme_extension_del(ad->browser_theme, BROWSER_PREDICTIVE_HISTORY_THEME); elm_theme_extension_del(ad->browser_theme, BROWSER_SETTINGS_THEME); - elm_theme_extension_del(ad->browser_theme, BROWSER_MOST_VISITED_SITES_THEME); - elm_theme_extension_del(ad->browser_theme, BROWSER_MOST_VISITED_THEME); elm_theme_extension_del(ad->browser_theme, BROWSER_BOOKMARK_THEME); elm_theme_extension_del(ad->browser_theme, BROWSER_FIND_WORD_LAYOUT_THEME); elm_theme_free(ad->browser_theme); @@ -392,67 +559,71 @@ static int __br_app_terminate(void *app_data) if (ad->browser_instance) delete ad->browser_instance; - BROWSER_LOGD("<< __br_app_terminate ends [%d]>>", appcore_measure_time()); - return 0; + BROWSER_LOGD("[Browser-Launching time measure] << __br_app_terminate ends >>"); } -static int __br_app_pause(void *app_data) +static void __br_app_pause(void *app_data) { BROWSER_LOGD("[%s]", __func__); struct browser_data *ad = (struct browser_data *)app_data; if (!ad || !ad->browser_instance) - return 0; + return; ad->browser_instance->pause(); - return 0; + ad->is_paused = EINA_TRUE; } -static int __br_app_resume(void *app_data) +static void __br_app_resume(void *app_data) { BROWSER_LOGD("[%s]", __func__); struct browser_data *ad = (struct browser_data *)app_data; if (!ad || !ad->browser_instance) - return 0; + return; ad->browser_instance->resume(); - return 0; + ad->is_paused = EINA_FALSE; } -static int __br_app_reset(bundle *b, void *app_data) +static void __br_app_reset(service_h service, void *app_data) { struct browser_data *ad = (struct browser_data *)app_data; BROWSER_LOGD("[%s]", __func__); + ad->browser_instance->reset(); - __br_load_url(b, app_data); + __br_load_url(service, app_data); - return 0; + ad->is_paused = EINA_FALSE; } int main(int argc, char *argv[]) { __br_set_env(); - appcore_measure_start(); - - struct appcore_ops ops; + app_event_callback_s ops; + memset(&ops, 0x0, sizeof(app_event_callback_s)); ops.create = __br_app_create; ops.terminate = __br_app_terminate; ops.pause = __br_app_pause; ops.resume = __br_app_resume; - ops.reset = __br_app_reset; + ops.service = __br_app_reset; + ops.low_memory = __br_low_memory_cb; + ops.low_battery = __br_low_battery_cb; +#if defined(HORIZONTAL_UI) + ops.device_orientation = __br_rotate_cb; +#endif + ops.language_changed = __br_lang_changed_cb; + ops.region_format_changed = __br_region_changed_cb; struct browser_data ad; memset(&ad, 0x0, sizeof(struct browser_data)); - ops.data = &ad; - - int ret = appcore_efl_main(BROWSER_PACKAGE_NAME, &argc, &argv, &ops); + int ret = app_efl_main(&argc, &argv, &ops, &ad); return ret; } diff --git a/src/browser-multi-window/browser-multi-window-view.cpp b/src/browser-multi-window/browser-multi-window-view.cpp index af41f279..01783a49 100755 --- a/src/browser-multi-window/browser-multi-window-view.cpp +++ b/src/browser-multi-window/browser-multi-window-view.cpp @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-class.h" #include "browser-multi-window-view.h" @@ -29,9 +30,6 @@ Browser_Multi_Window_View::Browser_Multi_Window_View(void) ,m_scroll_move_transit(NULL) ,m_scroller(NULL) ,m_item_box(NULL) - ,m_close_multi_window_button(NULL) - ,m_new_window_button(NULL) - ,m_view_change_button(NULL) ,m_dummy_front_item_layout(NULL) ,m_dummy_end_item_layout(NULL) ,m_dummy_front_item_snapshot(NULL) @@ -40,8 +38,14 @@ Browser_Multi_Window_View::Browser_Multi_Window_View(void) ,m_current_position_index(0) ,m_page_control(NULL) ,m_gengrid(NULL) - ,m_is_reodering(EINA_FALSE) + ,m_is_reordering(EINA_FALSE) ,m_zoom_out_effect_idler(NULL) + ,m_zoom_out_duration(0.5) + ,m_change_view_button(NULL) + ,m_cancel_button(NULL) + ,m_controlbar(NULL) + ,m_new_window_button(NULL) + ,m_init_grid_mode(EINA_FALSE) { BROWSER_LOGD("[%s]", __func__); memset(m_index_items, 0x00, sizeof(Elm_Object_Item *) * BROWSER_MULTI_WINDOW_MAX_COUNT); @@ -62,14 +66,6 @@ Browser_Multi_Window_View::~Browser_Multi_Window_View(void) evas_object_del(m_item_box); m_item_box = NULL; } - if (m_close_multi_window_button) { - evas_object_del(m_close_multi_window_button); - m_close_multi_window_button = NULL; - } - if (m_new_window_button) { - evas_object_del(m_new_window_button); - m_new_window_button = NULL; - } if (m_dummy_front_item_layout) { evas_object_del(m_dummy_front_item_layout); m_dummy_front_item_layout = NULL; @@ -102,10 +98,6 @@ Browser_Multi_Window_View::~Browser_Multi_Window_View(void) evas_object_del(m_flip_effect_image); m_flip_effect_image = NULL; } - if (m_view_change_button) { - evas_object_del(m_view_change_button); - m_view_change_button = NULL; - } if (m_zoom_move_transit) { elm_transit_del(m_zoom_move_transit); m_zoom_move_transit = NULL; @@ -130,9 +122,11 @@ Browser_Multi_Window_View::~Browser_Multi_Window_View(void) } } -Eina_Bool Browser_Multi_Window_View::init(void) +Eina_Bool Browser_Multi_Window_View::init(double duration, Eina_Bool grid_mode) { BROWSER_LOGD("[%s]", __func__); + m_zoom_out_duration = duration; + m_init_grid_mode = grid_mode; if (!_create_main_layout()) { BROWSER_LOGD("_create_main_layout failed"); @@ -186,12 +180,36 @@ void Browser_Multi_Window_View::__zoom_out_finished(void) const char *title = browser_view->get_title().c_str(); const char *url = browser_view->get_url().c_str(); + BROWSER_LOGD("title=[%s]", title); + BROWSER_LOGD("url=[%s]", url); if (!title || strlen(title) == 0) { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY_PAGE); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", ""); + Evas_Object *entry = br_elm_editfield_entry_get(browser_view->m_option_header_url_edit_field); + const char *entry_text = elm_entry_entry_get(entry); + if (entry_text && strlen(entry_text)) { + BROWSER_LOGD("[%s][%s]", entry_text, entry_text); + char *markup = elm_entry_utf8_to_markup(entry_text); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } + } else { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY); + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", ""); + } } else { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", title); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", url); + BROWSER_LOGD("[%s][%s]", title, url); + char *markup = elm_entry_utf8_to_markup(title); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + free(markup); + } + + markup = elm_entry_utf8_to_markup(url); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } } _show_grey_effect(); @@ -260,8 +278,9 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_effect(Evas_Object *item) evas_object_hide(item); - /* Destroy most visited sites little eariler because of blinking issue. */ + /* Destroy speed dial little eariler because of blinking issue. */ Browser_View *browser_view = m_data_manager->get_browser_view(); + std::vector window_list = m_browser->get_window_list(); int webview_x = 0; @@ -275,11 +294,13 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_effect(Evas_Object *item) int snapshot_y = 0; int snapshot_w = 0; int snapshot_h = 0; - if (!is_landscape()) - evas_object_geometry_get(window_list[index]->m_portrait_snapshot_image, +#if defined(HORIZONTAL_UI) + if (is_landscape()) + evas_object_geometry_get(window_list[index]->m_landscape_snapshot_image, &snapshot_x, &snapshot_y, &snapshot_w, &snapshot_h); else - evas_object_geometry_get(window_list[index]->m_landscape_snapshot_image, +#endif + evas_object_geometry_get(window_list[index]->m_portrait_snapshot_image, &snapshot_x, &snapshot_y, &snapshot_w, &snapshot_h); if (!window_list[index]->m_ewk_view || browser_view->get_url(window_list[index]).empty()) { @@ -328,6 +349,11 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_effect(Evas_Object *item) m_select_item_index = index; +#if defined(FEATURE_MOST_VISITED_SITES) + if (!(browser_view->get_url(window_list[m_select_item_index]).empty())) + browser_view->_show_most_visited_sites(EINA_FALSE); +#endif + /* Without this code, the url is empty shortly when create deleted-window in multi window. */ if (browser_view->get_url().empty() && !browser_view->m_focused_window->m_url.empty()) browser_view->_set_url_entry(window_list[m_select_item_index]->m_url.c_str(), EINA_FALSE); @@ -339,10 +365,16 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_effect(Evas_Object *item) elm_transit_tween_mode_set(m_zoom_transit, ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL); elm_transit_objects_final_state_keep_set(m_zoom_transit, EINA_FALSE); elm_transit_effect_resizable_flip_add(m_zoom_transit, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE); - elm_transit_duration_set(m_zoom_transit, 0.8); + elm_transit_duration_set(m_zoom_transit, 0.5); elm_transit_del_cb_set(m_zoom_transit, __zoom_in_finished_cb, this); elm_transit_go(m_zoom_transit); +#if defined(FEATURE_MOST_VISITED_SITES) + /* If speed dial is running, just zoom in effect is enough. */ + if (browser_view->is_most_visited_sites_running()) + return EINA_TRUE; +#endif + /* If the url bar in browser scroller is being displayed, * the zoom animation should be move up because of the url bar gap. * So add translation effect as well. */ @@ -373,7 +405,7 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_effect(Evas_Object *item) elm_transit_effect_translation_add(m_zoom_move_transit, 0, 0, 0, (url_layout_h - browser_scroller_y - scroller_y - (6 * elm_scale_get()))); - elm_transit_duration_set(m_zoom_move_transit, 0.8); + elm_transit_duration_set(m_zoom_move_transit, 0.5); elm_transit_go(m_zoom_move_transit); return EINA_TRUE; @@ -394,6 +426,13 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_out_effect(void) Browser_View *browser_view = m_data_manager->get_browser_view(); + if (m_zoom_out_duration == 0) { + Elm_Transit *tmp = m_zoom_transit = elm_transit_add(); + __zoom_out_finished_cb(this, NULL); + elm_transit_del(tmp); + return EINA_TRUE; + } + /* m_zoom_effect_image is only for zoom out effect for the first time. */ m_zoom_transit = elm_transit_add(); if (!m_zoom_transit) { @@ -415,11 +454,13 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_out_effect(void) int current_snapshot_w = 0; int current_snapshot_h = 0; std::vector window_list = m_browser->get_window_list(); - if (!is_landscape()) - evas_object_geometry_get(window_list[0]->m_portrait_snapshot_image, +#if defined(HORIZONTAL_UI) + if (is_landscape()) + evas_object_geometry_get(window_list[0]->m_landscape_snapshot_image, ¤t_snapshot_x, ¤t_snapshot_y, ¤t_snapshot_w, ¤t_snapshot_h); else - evas_object_geometry_get(window_list[0]->m_landscape_snapshot_image, +#endif + evas_object_geometry_get(window_list[0]->m_portrait_snapshot_image, ¤t_snapshot_x, ¤t_snapshot_y, ¤t_snapshot_w, ¤t_snapshot_h); evas_object_move(m_flip_effect_image, current_snapshot_x, current_snapshot_y); @@ -431,10 +472,9 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_out_effect(void) elm_transit_object_add(m_zoom_transit, m_flip_effect_image); elm_transit_tween_mode_set(m_zoom_transit, ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL); elm_transit_objects_final_state_keep_set(m_zoom_transit, EINA_FALSE); -// elm_transit_effect_zoom_add(m_zoom_transit, 1.0, BROWSER_MULTI_WINDOW_ITEM_RATIO); elm_transit_effect_resizable_flip_add(m_zoom_transit, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE); - elm_transit_duration_set(m_zoom_transit, 0.8); + elm_transit_duration_set(m_zoom_transit, m_zoom_out_duration); elm_transit_del_cb_set(m_zoom_transit, __zoom_out_finished_cb, this); elm_transit_go(m_zoom_transit); @@ -461,7 +501,6 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_out_effect(void) int scroller_y = 0; evas_object_geometry_get(browser_view->m_scroller, NULL, &scroller_y, NULL, NULL); - if (browser_scroller_y > url_layout_h) browser_scroller_y = url_layout_h; @@ -469,7 +508,7 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_out_effect(void) elm_transit_effect_translation_add(m_zoom_move_transit, 0, 0, 0, (url_layout_h - browser_scroller_y - scroller_y - (6 * elm_scale_get())) * (-1)); - elm_transit_duration_set(m_zoom_move_transit, 0.8); + elm_transit_duration_set(m_zoom_move_transit, m_zoom_out_duration); elm_transit_go(m_zoom_move_transit); return EINA_TRUE; @@ -671,15 +710,37 @@ void Browser_Multi_Window_View::_delete_window_scroll_finished(void) const char *title = browser_view->get_title(window_list[m_current_position_index]).c_str(); const char *url = browser_view->get_url(window_list[m_current_position_index]).c_str(); if (!title || strlen(title) == 0) { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY_PAGE); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", ""); + Evas_Object *entry = br_elm_editfield_entry_get(browser_view->m_option_header_url_edit_field); + const char *entry_text = elm_entry_entry_get(entry); + if (entry_text && strlen(entry_text)) { + BROWSER_LOGD("[%s][%s]", entry_text, entry_text); + char *markup = elm_entry_utf8_to_markup(entry_text); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } + } else { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY); + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", ""); + } } else { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", title); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", url); + BROWSER_LOGD("[%s][%s]", title, url); + char *markup = elm_entry_utf8_to_markup(title); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + free(markup); + } + + markup = elm_entry_utf8_to_markup(url); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } } if (BROWSER_MULTI_WINDOW_MAX_COUNT > window_list.size()) - elm_object_disabled_set(m_new_window_button, EINA_FALSE); + elm_object_item_disabled_set(m_new_window_button, EINA_FALSE); _show_grey_effect(); } @@ -787,10 +848,12 @@ Eina_Bool Browser_Multi_Window_View::_fill_multi_window_items(void) evas_object_size_hint_align_set(item, 0.5, 0.5); Evas_Object *snapshot_image = NULL; - if (!is_landscape()) - snapshot_image = window_list[i]->m_portrait_snapshot_image; - else +#if defined(HORIZONTAL_UI) + if (is_landscape()) snapshot_image = window_list[i]->m_landscape_snapshot_image; + else +#endif + snapshot_image = window_list[i]->m_portrait_snapshot_image; elm_object_part_content_set(item, "elm.swallow.snapshot", snapshot_image); @@ -862,25 +925,42 @@ void Browser_Multi_Window_View::__close_multi_window_button_clicked_cb(void *dat * The snapshot is kept. */ elm_object_part_content_unset(multi_window_view->m_item_list[i], "elm.swallow.snapshot"); - +#if defined(HORIZONTAL_UI) if (window_list[i]->m_landscape_snapshot_image) { evas_object_hide(window_list[i]->m_landscape_snapshot_image); } +#endif if (window_list[i]->m_portrait_snapshot_image) { evas_object_hide(window_list[i]->m_portrait_snapshot_image); } } + Browser_View *browser_view = m_data_manager->get_browser_view(); + + elm_object_part_content_set(browser_view->m_main_layout, "elm.swallow.control_bar", browser_view->m_control_bar); + evas_object_show(browser_view->m_control_bar); + + if (multi_window_view->m_controlbar) { + evas_object_del(multi_window_view->m_controlbar); + multi_window_view->m_controlbar = NULL; + } multi_window_view->_set_multi_window_mode(EINA_FALSE); m_data_manager->destroy_multi_window_view(); - Browser_View *browser_view = m_data_manager->get_browser_view(); browser_view->_set_multi_window_controlbar_text(window_list.size()); + + browser_view->_update_back_forward_buttons(); + + if (window_list.size() >= BROWSER_MULTI_WINDOW_MAX_COUNT) + elm_object_item_disabled_set(browser_view->m_new_window_button, EINA_TRUE); + else + elm_object_item_disabled_set(browser_view->m_new_window_button, EINA_FALSE); + /* Set the title if enter the multi window while loading. */ browser_view->return_to_browser_view(); - browser_view->resume_webview(browser_view->m_focused_window->m_ewk_view); + browser_view->resume_ewk_view(browser_view->m_focused_window->m_ewk_view); } void Browser_Multi_Window_View::__new_window_scroll_finished_cb(void *data, @@ -931,7 +1011,11 @@ void Browser_Multi_Window_View::__new_window_zoom_in_finished_cb(void *data, __close_multi_window_button_clicked_cb(multi_window_view, NULL, NULL); Browser_View *browser_view = m_data_manager->get_browser_view(); +#if defined(FEATURE_MOST_VISITED_SITES) browser_view->load_url(BROWSER_MOST_VISITED_SITES_URL); +#else + browser_view->load_url(BROWSER_BLANK_PAGE_URL); +#endif } Eina_Bool Browser_Multi_Window_View::_show_zoom_in_new_window_effect(void) @@ -974,11 +1058,13 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_new_window_effect(void) int snapshot_h = 0; int scroll_size = _get_scroll_page_size(); - if (!is_landscape()) - evas_object_geometry_get(window_list[m_item_list.size() - 1]->m_portrait_snapshot_image, +#if defined(HORIZONTAL_UI) + if (is_landscape()) + evas_object_geometry_get(window_list[m_item_list.size() - 1]->m_landscape_snapshot_image, &snapshot_x, &snapshot_y, &snapshot_w, &snapshot_h); else - evas_object_geometry_get(window_list[m_item_list.size() - 1]->m_landscape_snapshot_image, +#endif + evas_object_geometry_get(window_list[m_item_list.size() - 1]->m_portrait_snapshot_image, &snapshot_x, &snapshot_y, &snapshot_w, &snapshot_h); evas_object_resize(m_zoom_effect_image, snapshot_w, snapshot_h); @@ -1000,13 +1086,10 @@ Eina_Bool Browser_Multi_Window_View::_show_zoom_in_new_window_effect(void) elm_transit_tween_mode_set(m_zoom_transit, ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL); elm_transit_objects_final_state_keep_set(m_zoom_transit, EINA_FALSE); elm_transit_effect_resizable_flip_add(m_zoom_transit, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE); - elm_transit_duration_set(m_zoom_transit, 0.8); + elm_transit_duration_set(m_zoom_transit, 0.5); elm_transit_del_cb_set(m_zoom_transit, __new_window_zoom_in_finished_cb, this); elm_transit_go(m_zoom_transit); - /* window_list[window_list.size() - 1] is new created window. */ -// m_browser->set_focused_window(window_list[window_list.size() - 1]); - return EINA_TRUE; } @@ -1056,15 +1139,19 @@ void Browser_Multi_Window_View::__new_window_button_clicked_cb(void *data, multi_window_view->_show_new_window_scroll_effect(); - /* The new window & close button can be clicked while the new window animation. - * So delete the event callback during new window animation. */ - evas_object_smart_callback_del(multi_window_view->m_new_window_button, "clicked", - __new_window_button_clicked_cb); - evas_object_smart_callback_del(multi_window_view->m_close_multi_window_button, "clicked", - __close_multi_window_button_clicked_cb); + Browser_View *browser_view = m_data_manager->get_browser_view(); + + elm_object_part_content_unset(browser_view->m_main_layout, "elm.swallow.control_bar"); + + elm_object_part_content_set(browser_view->m_main_layout, "elm.swallow.control_bar", browser_view->m_control_bar); + + if (multi_window_view->m_new_window_button) + elm_object_item_disabled_set(multi_window_view->m_new_window_button, EINA_TRUE); + if (multi_window_view->m_change_view_button) + elm_object_item_disabled_set(multi_window_view->m_change_view_button, EINA_TRUE); + elm_object_disabled_set(multi_window_view->m_cancel_button, EINA_TRUE); /* clear url entry filed when click new window button. */ - Browser_View *browser_view = m_data_manager->get_browser_view(); browser_view->_set_url_entry(""); edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), "hide,favicon,signal", ""); edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_entry_layout), @@ -1089,11 +1176,13 @@ int Browser_Multi_Window_View::_get_scroll_page_size(void) int snapshot_w = 0; std::vector window_list = m_browser->get_window_list(); - if (!is_landscape()) - evas_object_geometry_get(window_list[m_current_position_index]->m_portrait_snapshot_image, +#if defined(HORIZONTAL_UI) + if (is_landscape()) + evas_object_geometry_get(window_list[m_current_position_index]->m_landscape_snapshot_image, NULL, NULL, &snapshot_w, NULL); else - evas_object_geometry_get(window_list[m_current_position_index]->m_landscape_snapshot_image, +#endif + evas_object_geometry_get(window_list[m_current_position_index]->m_portrait_snapshot_image, NULL, NULL, &snapshot_w, NULL); int padding = 22 * elm_scale_get(); @@ -1128,30 +1217,58 @@ void Browser_Multi_Window_View::_scroller_animation_stop(void) std::string title_string = window_list[m_current_position_index]->m_title; std::string url_string = window_list[m_current_position_index]->m_url; if (title_string.empty()) { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY_PAGE); + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY); edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", ""); } else { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", title_string.c_str()); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", url_string.c_str()); + BROWSER_LOGD("[%s][%s]", title_string.c_str(), url_string.c_str()); + char *markup = elm_entry_utf8_to_markup(title_string.c_str()); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + free(markup); + } + + markup = elm_entry_utf8_to_markup(url_string.c_str()); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } } } else if (!window_list[m_current_position_index]->m_title.empty()) { + BROWSER_LOGD("[%s][%s]", window_list[m_current_position_index]->m_title.c_str(), window_list[m_current_position_index]->m_url.c_str()); /* If the ewk view is deleted because of unused case(etc. low memory), * and it is re-created, then set the title. */ - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", - window_list[m_current_position_index]->m_title.c_str()); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", - window_list[m_current_position_index]->m_url.c_str()); + char *markup = elm_entry_utf8_to_markup(window_list[m_current_position_index]->m_title.c_str()); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + free(markup); + } + markup = elm_entry_utf8_to_markup(window_list[m_current_position_index]->m_url.c_str()); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } } else { std::string title = browser_view->get_title(window_list[m_current_position_index]); std::string url = browser_view->get_url(window_list[m_current_position_index]); if (title.empty()) { - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY_PAGE); + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", BR_STRING_EMPTY); edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", ""); } else { std::string title_string = std::string(title); std::string url_string = std::string(url); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", title_string.c_str()); - edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", url_string.c_str()); + + char *markup = elm_entry_utf8_to_markup(title_string.c_str()); + BROWSER_LOGD("[%s][%s]", title_string.c_str(), url_string.c_str()); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.title", markup); + free(markup); + } + + markup = elm_entry_utf8_to_markup(url_string.c_str()); + if (markup) { + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), "elm.url", markup); + free(markup); + } } } @@ -1189,7 +1306,7 @@ Eina_Bool Browser_Multi_Window_View::_show_grid_mode_zoom_in_effect(int index) gengrid_item = elm_gengrid_item_next_get(gengrid_item); } - const Evas_Object *snapshot_layout = elm_object_item_part_content_get(gengrid_item, "elm.swallow.content"); + const Evas_Object *snapshot_layout = elm_object_item_part_content_get(gengrid_item, "elm.swallow.icon"); int snapshot_x = 0; int snapshot_y = 0; @@ -1233,13 +1350,25 @@ Eina_Bool Browser_Multi_Window_View::_show_grid_mode_zoom_in_effect(int index) (float)((float)snapshot_w / (float)current_ewk_view_w)); if (!m_zoom_effect_image) { BROWSER_LOGE("_capture_snapshot failed"); - return EINA_FALSE; + m_zoom_effect_image = evas_object_rectangle_add(evas_object_evas_get(m_navi_bar)); + if (!m_zoom_effect_image) { + BROWSER_LOGE("evas_object_rectangle_add failed"); + return EINA_FALSE; + } + evas_object_resize(m_zoom_effect_image, snapshot_w, snapshot_h); + evas_object_color_set(m_zoom_effect_image, 255, 255, 255, 255); } m_flip_effect_image = _capture_snapshot(window_list[index], 1.0); if (!m_flip_effect_image) { BROWSER_LOGE("_capture_snapshot failed"); - return EINA_FALSE; + m_flip_effect_image = evas_object_rectangle_add(evas_object_evas_get(m_navi_bar)); + if (!m_flip_effect_image) { + BROWSER_LOGE("evas_object_rectangle_add failed"); + return EINA_FALSE; + } + evas_object_resize(m_flip_effect_image, current_ewk_view_w, current_ewk_view_h); + evas_object_color_set(m_flip_effect_image, 255, 255, 255, 255); } } evas_object_move(m_flip_effect_image, current_ewk_view_x, current_ewk_view_y); @@ -1258,12 +1387,18 @@ Eina_Bool Browser_Multi_Window_View::_show_grid_mode_zoom_in_effect(int index) m_select_item_index = index; +#if defined(FEATURE_MOST_VISITED_SITES) + /* Destroy speed dial little eariler because of blinking issue. */ + if (!(browser_view->get_url(window_list[m_select_item_index]).empty())) + browser_view->_show_most_visited_sites(EINA_FALSE); +#endif + elm_transit_object_add(m_zoom_transit, m_zoom_effect_image); elm_transit_object_add(m_zoom_transit, m_flip_effect_image); elm_transit_tween_mode_set(m_zoom_transit, ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL); elm_transit_objects_final_state_keep_set(m_zoom_transit, EINA_FALSE); elm_transit_effect_resizable_flip_add(m_zoom_transit, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE); - elm_transit_duration_set(m_zoom_transit, 0.8); + elm_transit_duration_set(m_zoom_transit, 0.5); elm_transit_del_cb_set(m_zoom_transit, __zoom_in_finished_cb, this); elm_transit_go(m_zoom_transit); @@ -1286,7 +1421,7 @@ Eina_Bool Browser_Multi_Window_View::_show_grid_mode_zoom_in_effect(int index) BROWSER_LOGD("to_x = %d, to_y = %d", to_x, to_y); elm_transit_effect_translation_add(m_zoom_move_transit, 0, 0, to_x, to_y); - elm_transit_duration_set(m_zoom_move_transit, 0.8); + elm_transit_duration_set(m_zoom_move_transit, 0.5); elm_transit_go(m_zoom_move_transit); return EINA_TRUE; @@ -1333,9 +1468,9 @@ void Browser_Multi_Window_View::__delete_window_icon_grid_mode_clicked_cb(void * Browser_Multi_Window_View *multi_window_view = NULL; multi_window_view = (Browser_Multi_Window_View *)(param->multi_window_view); - if (multi_window_view->m_is_reodering) { + if (multi_window_view->m_is_reordering) { BROWSER_LOGD("reodering mode"); - multi_window_view->m_is_reodering = EINA_FALSE; + multi_window_view->m_is_reordering = EINA_FALSE; return; } @@ -1353,9 +1488,9 @@ void Browser_Multi_Window_View::__snapshot_grid_mode_clicked_cb(void *data, gengrid_callback_param *param = (gengrid_callback_param *)data; Browser_Multi_Window_View *multi_window_view = NULL; multi_window_view = (Browser_Multi_Window_View *)(param->multi_window_view); - if (multi_window_view->m_is_reodering) { + if (multi_window_view->m_is_reordering) { BROWSER_LOGD("reodering mode"); - multi_window_view->m_is_reodering = EINA_FALSE; + multi_window_view->m_is_reordering = EINA_FALSE; return; } if (multi_window_view->m_zoom_transit) { @@ -1389,18 +1524,21 @@ Evas_Object *Browser_Multi_Window_View::_get_gengrid_icon_cb(void *data, std::vector window_list = m_browser->get_window_list(); int snapshot_w = 0; int snapshot_h = 0; - if (!multi_window_view->is_landscape()) { - evas_object_image_source_set(snapshot_image, window_list[index]->m_portrait_snapshot_image); - evas_object_geometry_get(window_list[index]->m_portrait_snapshot_image, NULL, NULL, - &snapshot_w, &snapshot_h); - BROWSER_LOGD("portrait, snapshot_w=%d, snapshot_h=%d", snapshot_w, snapshot_h); - } - else { +#if defined(HORIZONTAL_UI) + if (multi_window_view->is_landscape()) { evas_object_image_source_set(snapshot_image, window_list[index]->m_landscape_snapshot_image); evas_object_geometry_get(window_list[index]->m_landscape_snapshot_image, NULL, NULL, &snapshot_w, &snapshot_h); BROWSER_LOGD("landscape, snapshot_w=%d, snapshot_h=%d", snapshot_w, snapshot_h); } + else +#endif + { + evas_object_image_source_set(snapshot_image, window_list[index]->m_portrait_snapshot_image); + evas_object_geometry_get(window_list[index]->m_portrait_snapshot_image, NULL, NULL, + &snapshot_w, &snapshot_h); + BROWSER_LOGD("portrait, snapshot_w=%d, snapshot_h=%d", snapshot_w, snapshot_h); + } int item_w = 0; int item_h = 0; @@ -1445,7 +1583,7 @@ void Browser_Multi_Window_View::__gengrid_item_longpress_cb(void *data, Evas_Obj return; Browser_Multi_Window_View *multi_window_view = (Browser_Multi_Window_View *)data; - multi_window_view->m_is_reodering = EINA_TRUE; + multi_window_view->m_is_reordering = EINA_TRUE; } Eina_Bool Browser_Multi_Window_View::_reorder_windows(void) @@ -1559,6 +1697,10 @@ void Browser_Multi_Window_View::__view_change_button_clicked_cb(void *data, return; Browser_Multi_Window_View *multi_window_view = (Browser_Multi_Window_View *)data; + + if (multi_window_view->m_zoom_transit) + return; + if (!multi_window_view->_is_grid_mode()) { if (!multi_window_view->_create_gengrid()) { BROWSER_LOGE("_create_gengrid failed"); @@ -1566,12 +1708,17 @@ void Browser_Multi_Window_View::__view_change_button_clicked_cb(void *data, } edje_object_signal_emit(elm_layout_edje_get(multi_window_view->m_main_layout), "show,grid_mode,signal", ""); + + elm_toolbar_item_icon_set(multi_window_view->m_change_view_button, + BROWSER_IMAGE_DIR"/I01_controlbar_icon_view_change.png"); } else { /* To sync grid mode, if the window is deleted or reodered at grid mode. */ evas_object_smart_callback_call(multi_window_view->m_scroller, "scroll,anim,stop", NULL); edje_object_signal_emit(elm_layout_edje_get(multi_window_view->m_main_layout), "show,normal_mode,signal", ""); + elm_toolbar_item_icon_set(multi_window_view->m_change_view_button, + BROWSER_IMAGE_DIR"/I01_controlbar_icon_view_change_3x3.png"); } } @@ -1598,6 +1745,16 @@ Eina_Bool Browser_Multi_Window_View::__zoom_out_effect_idler_cb(void *data) Browser_Multi_Window_View *multi_window_view = (Browser_Multi_Window_View *)data; multi_window_view->m_zoom_out_effect_idler = NULL; + if (multi_window_view->m_init_grid_mode) { + multi_window_view->__zoom_out_finished(); + + __view_change_button_clicked_cb(multi_window_view, NULL, NULL); + edje_object_signal_emit(elm_layout_edje_get(multi_window_view->m_main_layout), + "show,bg,signal", ""); + multi_window_view->m_init_grid_mode = EINA_FALSE; + return ECORE_CALLBACK_CANCEL; + } + /* zoom out effect for the first time when user excutes multi window. */ if (!multi_window_view->_show_zoom_out_effect()) { BROWSER_LOGD("_show_zoom_out_effect failed"); @@ -1635,6 +1792,63 @@ void Browser_Multi_Window_View::__index_selected_cb(void *data, Evas_Object *obj scroller_y, scroller_w, scroller_h); } +Evas_Object *Browser_Multi_Window_View::_create_control_bar(void) +{ + BROWSER_LOGD("[%s]", __func__); + Evas_Object *controlbar_layout; + controlbar_layout = elm_layout_add(m_main_layout); + if (!controlbar_layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + if (!elm_layout_file_set(controlbar_layout, BROWSER_EDJE_DIR"/browser-view-control-bar.edj", + "browser-view-controlbar")) { + BROWSER_LOGE("Can not set layout browser-view-controlbar\n"); + return NULL; + } + evas_object_size_hint_weight_set(controlbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(controlbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(controlbar_layout); + + Evas_Object *control_bar; + control_bar = elm_toolbar_add(controlbar_layout); + if (control_bar) { + elm_object_style_set(control_bar, "browser/browser-view"); + + elm_toolbar_shrink_mode_set(control_bar, ELM_TOOLBAR_SHRINK_EXPAND); + m_new_window_button = elm_toolbar_item_append(control_bar, BROWSER_IMAGE_DIR"/I01_controlbar_icon_new_window.png", + NULL, __new_window_button_clicked_cb, this); + + Elm_Object_Item *item = elm_toolbar_item_append(control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(item, EINA_TRUE); + + m_change_view_button = elm_toolbar_item_append(control_bar, + BROWSER_IMAGE_DIR"/I01_controlbar_icon_view_change_3x3.png", NULL, + __view_change_button_clicked_cb, this); + + item = elm_toolbar_item_append(control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(item, EINA_TRUE); + + elm_object_part_content_set(controlbar_layout, "elm.swallow.controlbar", control_bar); + + m_cancel_button = elm_button_add(control_bar); + if (!m_cancel_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_cancel_button, "browser/multi_window_cancel_button"); + elm_object_text_set(m_cancel_button, BR_STRING_CANCEL); + + elm_object_part_content_set(controlbar_layout, "elm.swallow.back_button", m_cancel_button); + evas_object_smart_callback_add(m_cancel_button, "clicked", __close_multi_window_button_clicked_cb, this); + evas_object_show(m_cancel_button); + + evas_object_show(control_bar); + } + + return controlbar_layout; +} + Eina_Bool Browser_Multi_Window_View::_create_main_layout(void) { BROWSER_LOGD("[%s]", __func__); @@ -1751,44 +1965,15 @@ Eina_Bool Browser_Multi_Window_View::_create_main_layout(void) elm_object_content_set(m_scroller, m_item_box); evas_object_show(m_item_box); - m_close_multi_window_button = elm_button_add(m_navi_bar); - if (!m_close_multi_window_button) { - BROWSER_LOGD("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_close_multi_window_button, "text_only/style2"); - elm_object_text_set(m_close_multi_window_button, BR_STRING_CLOSE); - elm_object_part_content_set(m_main_layout, "elm.swallow.close_multi_window_button", - m_close_multi_window_button); - evas_object_smart_callback_add(m_close_multi_window_button, "clicked", - __close_multi_window_button_clicked_cb, this); - evas_object_show(m_close_multi_window_button); - - m_view_change_button = elm_button_add(m_navi_bar); - if (!m_view_change_button) { - BROWSER_LOGD("elm_button_add failed"); + m_controlbar = _create_control_bar(); + if (!m_controlbar) { + BROWSER_LOGE("_create_control_bar failed"); return EINA_FALSE; } - elm_object_style_set(m_view_change_button, "text_only/style2"); - elm_object_text_set(m_view_change_button, BR_STRING_VIEW_CHANGE); - elm_object_part_content_set(m_main_layout, "elm.swallow.view_change_button", - m_view_change_button); - evas_object_smart_callback_add(m_view_change_button, "clicked", - __view_change_button_clicked_cb, this); - evas_object_show(m_view_change_button); + elm_object_part_content_unset(browser_view->m_main_layout, "elm.swallow.control_bar"); + evas_object_hide(browser_view->m_control_bar); - m_new_window_button = elm_button_add(m_navi_bar); - if (!m_new_window_button) { - BROWSER_LOGD("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_new_window_button, "text_only/style2"); - elm_object_text_set(m_new_window_button, BR_STRING_NEW_WINDOW); - elm_object_part_content_set(m_main_layout, "elm.swallow.new_window_button", - m_new_window_button); - evas_object_smart_callback_add(m_new_window_button, "clicked", - __new_window_button_clicked_cb, this); - evas_object_show(m_new_window_button); + elm_object_part_content_set(browser_view->m_main_layout, "elm.swallow.control_bar", m_controlbar); int index = 0; std::vector window_list = m_browser->get_window_list(); @@ -1827,22 +2012,23 @@ Eina_Bool Browser_Multi_Window_View::_create_main_layout(void) evas_object_show(m_page_control); if (BROWSER_MULTI_WINDOW_MAX_COUNT <= window_list.size()) - elm_object_disabled_set(m_new_window_button, EINA_TRUE); + elm_object_item_disabled_set(m_new_window_button, EINA_TRUE); _set_multi_window_mode(EINA_TRUE); - if (!is_landscape()) { - /* Portrait mode */ - if (browser_view->m_focused_window->m_portrait_snapshot_image) - evas_object_del(browser_view->m_focused_window->m_portrait_snapshot_image); - browser_view->m_focused_window->m_portrait_snapshot_image = snapshot_image; +#if defined(HORIZONTAL_UI) + if (is_landscape()) { + /* Landscape mode */ + if (browser_view->m_focused_window->m_landscape_snapshot_image) + evas_object_del(browser_view->m_focused_window->m_landscape_snapshot_image); + browser_view->m_focused_window->m_landscape_snapshot_image = snapshot_image; for (int i = 0 ; i < window_list.size() ; i++) { /* Focused window is already captured above. So skip it. */ if ((window_list[i] != browser_view->m_focused_window) - && !(window_list[i]->m_portrait_snapshot_image)) { + && !(window_list[i]->m_landscape_snapshot_image)) { Evas_Object *snapshot_image = NULL; - if (window_list[i]->m_ewk_view == NULL || browser_view->get_url(window_list[i]).empty()) { + if (!window_list[i]->m_ewk_view || browser_view->get_url(window_list[i]).empty()) { snapshot_image = evas_object_rectangle_add(evas_object_evas_get(m_navi_bar)); if (!snapshot_image) { BROWSER_LOGE("evas_object_rectangle_add failed"); @@ -1866,21 +2052,24 @@ Eina_Bool Browser_Multi_Window_View::_create_main_layout(void) return EINA_FALSE; } } - window_list[i]->m_portrait_snapshot_image = snapshot_image; + window_list[i]->m_landscape_snapshot_image = snapshot_image; } } - } else { - /* Landscape mode */ - if (browser_view->m_focused_window->m_landscape_snapshot_image) - evas_object_del(browser_view->m_focused_window->m_landscape_snapshot_image); - browser_view->m_focused_window->m_landscape_snapshot_image = snapshot_image; + } + else +#endif + { + /* Portrait mode */ + if (browser_view->m_focused_window->m_portrait_snapshot_image) + evas_object_del(browser_view->m_focused_window->m_portrait_snapshot_image); + browser_view->m_focused_window->m_portrait_snapshot_image = snapshot_image; for (int i = 0 ; i < window_list.size() ; i++) { /* Focused window is already captured above. So skip it. */ if ((window_list[i] != browser_view->m_focused_window) - && !(window_list[i]->m_landscape_snapshot_image)) { + && !(window_list[i]->m_portrait_snapshot_image)) { Evas_Object *snapshot_image = NULL; - if (!window_list[i]->m_ewk_view || browser_view->get_url(window_list[i]).empty()) { + if (window_list[i]->m_ewk_view == NULL || browser_view->get_url(window_list[i]).empty()) { snapshot_image = evas_object_rectangle_add(evas_object_evas_get(m_navi_bar)); if (!snapshot_image) { BROWSER_LOGE("evas_object_rectangle_add failed"); @@ -1904,7 +2093,7 @@ Eina_Bool Browser_Multi_Window_View::_create_main_layout(void) return EINA_FALSE; } } - window_list[i]->m_landscape_snapshot_image = snapshot_image; + window_list[i]->m_portrait_snapshot_image = snapshot_image; } } } diff --git a/src/browser-multi-window/browser-multi-window-view.h b/src/browser-multi-window/browser-multi-window-view.h index 90735161..508d4fe3 100755 --- a/src/browser-multi-window/browser-multi-window-view.h +++ b/src/browser-multi-window/browser-multi-window-view.h @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_MULTI_WINDOW_VIEW_H #define BROWSER_MULTI_WINDOW_VIEW_H @@ -27,13 +28,16 @@ public: Browser_Multi_Window_View(void); ~Browser_Multi_Window_View(void); - Eina_Bool init(void); + Eina_Bool init(double duration = 0.5, Eina_Bool grid_mode = EINA_FALSE); void close_multi_window(void); typedef struct _gengrid_callback_param { void *multi_window_view; int index; } gengrid_callback_param; + + Eina_Bool _is_grid_mode(void); + Eina_Bool is_reordering_mode(void) { return m_is_reordering; } private: Eina_Bool _create_main_layout(void); Eina_Bool _show_zoom_out_effect(void); @@ -49,12 +53,12 @@ private: int _get_scroll_page_size(void); void __delete_window_icon_clicked(Evas_Object *layout_edje); void _delete_window_scroll_finished(void); - Eina_Bool _is_grid_mode(void); Eina_Bool _create_gengrid(void); Eina_Bool _show_grid_mode_zoom_in_effect(int index); Eina_Bool __delete_window_icon_grid_mode(int index); Eina_Bool _reorder_windows(void); void _show_grey_effect(void); + Evas_Object *_create_control_bar(void); /* gengrid event callback functions */ static Evas_Object *_get_gengrid_icon_cb(void *data, Evas_Object *obj, const char *part); @@ -99,9 +103,6 @@ private: Evas_Object *m_item_box; Evas_Object *m_zoom_effect_image; Evas_Object *m_flip_effect_image; - Evas_Object *m_close_multi_window_button; - Evas_Object *m_new_window_button; - Evas_Object *m_view_change_button; Elm_Transit *m_zoom_transit; Elm_Transit *m_zoom_move_transit; Elm_Transit *m_scroll_move_transit; @@ -121,10 +122,17 @@ private: Elm_Gengrid_Item_Class m_gengrid_item_class; gengrid_callback_param m_callback_param[BROWSER_MULTI_WINDOW_MAX_COUNT]; - Eina_Bool m_is_reodering; + Eina_Bool m_is_reordering; Ecore_Idler *m_zoom_out_effect_idler; + double m_zoom_out_duration; Elm_Object_Item *m_index_items[BROWSER_MULTI_WINDOW_MAX_COUNT]; + Elm_Object_Item *m_new_window_button; + Elm_Object_Item *m_change_view_button; + Evas_Object *m_cancel_button; + Evas_Object *m_controlbar; + + Eina_Bool m_init_grid_mode; }; #endif /* BROWSER_MULTI_WINDOW_VIEW_H */ diff --git a/src/browser-policy-client/browser-policy-decision-maker.cpp b/src/browser-policy-client/browser-policy-decision-maker.cpp new file mode 100755 index 00000000..42c2e5e9 --- /dev/null +++ b/src/browser-policy-client/browser-policy-decision-maker.cpp @@ -0,0 +1,611 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#include +#include + +#include "browser-common-view.h" +#include "browser-policy-decision-maker.h" + +Browser_Policy_Decision_Maker::Browser_Policy_Decision_Maker(Evas_Object *navi_bar, Browser_View *browser_view) +: + m_wk_page_ref(NULL) + ,m_list_popup(NULL) + ,m_app_list(NULL) + ,m_navi_bar(navi_bar) + ,m_browser_view(browser_view) +{ + BROWSER_LOGD("[%s]", __func__); + + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_did_start_download_callback_set(ewk_context, __download_did_start_cb, this); +} + +Browser_Policy_Decision_Maker::~Browser_Policy_Decision_Maker(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_app_list) { + evas_object_del(m_app_list); + m_app_list = NULL; + } + if(m_list_popup) { + evas_object_del(m_list_popup); + m_list_popup = NULL; + } +} + +void Browser_Policy_Decision_Maker::init(WKPageRef page_ref) +{ + BROWSER_LOGD("[%s]", __func__); + + m_wk_page_ref = page_ref; + + WKPagePolicyClient policy_client = { + kWKPagePolicyClientCurrentVersion, /* version */ + this, /* clientInfo */ + __decide_policy_for_navigation_action, /* decidePolicyForNavigationAction */ + 0, /* decidePolicyForNewWindowAction; */ + __decide_policy_for_response_cb, /* decidePolicyForResponse */ + 0, /* unableToImplementPolicy */ + }; + + WKPageSetPagePolicyClient(m_wk_page_ref, &policy_client); +} + +void Browser_Policy_Decision_Maker::deinit(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (m_wk_page_ref) { + WKPagePolicyClient policy_client = {0, }; + WKPageSetPagePolicyClient(m_wk_page_ref, &policy_client); + } +} + +void Browser_Policy_Decision_Maker::pause(void) +{ + if (m_list_popup) + __popup_response_cb(this, NULL, NULL); +} + +void Browser_Policy_Decision_Maker::__download_did_start_cb(const char *download_url, void *user_data) +{ + BROWSER_LOGD("[%s]", __func__); + if (!user_data) + return; + + Browser_Policy_Decision_Maker *decision_maker = (Browser_Policy_Decision_Maker *)user_data; + BROWSER_LOGD("download_url=[%s]", download_url); + + if (!decision_maker->_launch_download_app(download_url)) + BROWSER_LOGE("_launch_download_app failed"); +} + +Eina_Bool Browser_Policy_Decision_Maker::_handle_exscheme(void) +{ + BROWSER_LOGD("request_url = [%s]", m_url.c_str()); + if (m_url.empty()) { + BROWSER_LOGE("url is null"); + return EINA_FALSE; + } + + if (!m_url.compare(0, strlen(BROWSER_HTTP_SCHEME), BROWSER_HTTP_SCHEME) + || !m_url.compare(0, strlen(BROWSER_HTTPS_SCHEME), BROWSER_HTTPS_SCHEME) + || !m_url.compare(0, strlen(BROWSER_FILE_SCHEME), BROWSER_FILE_SCHEME)) + return EINA_FALSE; + + if (!m_url.compare(0, strlen(BROWSER_RTSP_SCHEME), BROWSER_RTSP_SCHEME)) { + BROWSER_LOGD("rtsp scheme"); + if (!_launch_streaming_player(m_url.c_str())) + BROWSER_LOGE("_launch_streaming_player failed"); + return EINA_TRUE; + } else if (!m_url.compare(0, strlen(BROWSER_MAIL_TO_SCHEME), BROWSER_MAIL_TO_SCHEME)) { + BROWSER_LOGD("mail to scheme"); + if (_send_via_email(m_url.c_str()) != EINA_TRUE) + BROWSER_LOGE("_send_via_email failed"); + return EINA_TRUE; + } else if (!m_url.compare(0, strlen(BROWSER_SMS_SCHEME), BROWSER_SMS_SCHEME)) { + BROWSER_LOGD("sms scheme"); + std::string body_string; + + if (m_url.find("?body=") != string::npos) { + body_string = m_url.substr(m_url.find("?body=")); + m_url = m_url.substr(0, m_url.length() - body_string.length()); + } + + if (!body_string.empty()) + body_string = std::string(body_string.c_str() + strlen("?body=")); + _send_via_message(body_string, std::string(m_url.c_str() + strlen(BROWSER_SMS_SCHEME))); + return EINA_TRUE; + } else if (!m_url.compare(0, strlen(BROWSER_SMS_TO_SCHEME), BROWSER_SMS_TO_SCHEME)) { + BROWSER_LOGD("sms scheme"); + std::string body_string; + + if (m_url.find("?body=") != string::npos) { + body_string = m_url.substr(m_url.find("?body=")); + m_url = m_url.substr(0, m_url.length() - body_string.length()); + } + + if (!body_string.empty()) + body_string = std::string(body_string.c_str() + strlen("?body=")); + _send_via_message(body_string, std::string(m_url.c_str() + strlen(BROWSER_SMS_TO_SCHEME))); + return EINA_TRUE; + } else if (!m_url.compare(0, strlen(BROWSER_MMS_SCHEME), BROWSER_MMS_SCHEME)) { + BROWSER_LOGD("mms scheme"); + std::string body_string; + + if (m_url.find("?body=") != string::npos || m_url.find("&body=") != string::npos) { + if (m_url.find("?body=") != string::npos) + body_string = m_url.substr(m_url.find("?body=")); + else + body_string = m_url.substr(m_url.find("&body=")); + m_url = m_url.substr(0, m_url.length() - body_string.length()); + } + if (m_url.find("?subject=") != string::npos) { + m_url = m_url.substr(0, m_url.length() - m_url.substr(m_url.find("?subject=")).length()); + } + + if (!body_string.empty()) + body_string = std::string(body_string.c_str() + strlen("?body=")); + _send_via_message(body_string, std::string(m_url.c_str() + strlen(BROWSER_MMS_SCHEME))); + return EINA_TRUE; + } else if (!m_url.compare(0, strlen(BROWSER_MMS_TO_SCHEME), BROWSER_MMS_TO_SCHEME)) { + BROWSER_LOGD("mms scheme"); + std::string body_string; + + if (m_url.find("?body=") != string::npos || m_url.find("&body=") != string::npos) { + if (m_url.find("?body=") != string::npos) + body_string = m_url.substr(m_url.find("?body=")); + else + body_string = m_url.substr(m_url.find("&body=")); + + m_url = m_url.substr(0, m_url.length() - body_string.length()); + } + if (m_url.find("?subject=") != string::npos) { + m_url = m_url.substr(0, m_url.length() - m_url.substr(m_url.find("?subject=")).length()); + } + + if (!body_string.empty()) + body_string = std::string(body_string.c_str() + strlen("?body=")); + _send_via_message(body_string, std::string(m_url.c_str() + strlen(BROWSER_MMS_TO_SCHEME))); + + return EINA_TRUE; + } else if (!m_url.compare(0, strlen(BROWSER_WTAI_WP_AP_SCHEME), BROWSER_WTAI_WP_AP_SCHEME)) { + BROWSER_LOGD("wtai://wp/mc or wtai://wp/ap"); + m_url = std::string(m_url.c_str() + strlen(BROWSER_WTAI_WP_AP_SCHEME)); + + if (m_url.find(";") != string::npos) { + m_url = m_url.substr(0, m_url.length() - m_url.substr(m_url.find(";")).length()); + } + + BROWSER_LOGD("phone number = [%s]", m_url.c_str()); + + _add_to_contact(m_url); + + return EINA_TRUE; + } + + return EINA_FALSE; +} + +void Browser_Policy_Decision_Maker::__decide_policy_for_navigation_action( + WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, + WKEventModifiers modifiers, WKEventMouseButton mouseButton, + WKURLRequestRef request, WKFramePolicyListenerRef listener, + WKTypeRef userData, const void* client_info) +{ + if (!client_info) + return; + + BROWSER_LOGD("%s", __func__); + Browser_Policy_Decision_Maker *decision_maker = (Browser_Policy_Decision_Maker *)client_info; + + WKURLRef url_ref = WKURLRequestCopyURL(request); + WKStringRef url_string_ref = WKURLCopyString(url_ref); + decision_maker->m_url = decision_maker->_convert_WKStringRef_to_string(url_string_ref); + WKRelease(url_string_ref); + WKRelease(url_ref); + + decision_maker->m_cookies.clear(); + + if (decision_maker->_handle_exscheme()) + WKFramePolicyListenerIgnore(listener); + else + WKFramePolicyListenerUse(listener); +} + +void Browser_Policy_Decision_Maker::__decide_policy_for_response_cb( + WKPageRef page, WKFrameRef frame, + WKURLResponseRef response, WKURLRequestRef request, + WKFramePolicyListenerRef listener, WKTypeRef user_data, + const void *client_info) +{ + if (!client_info) + return; + + Browser_Policy_Decision_Maker *decision_maker = (Browser_Policy_Decision_Maker *)client_info; + + WKStringRef content_type_ref = WKURLResponseEflCopyContentType(response); + string content_type = decision_maker->_convert_WKStringRef_to_string(content_type_ref); + int policy_type = decision_maker->_decide_policy_type(frame, content_type_ref, content_type); + WKRelease(content_type_ref); + + switch (policy_type) { + case policy_use: + BROWSER_LOGD("policy_use"); + WKFramePolicyListenerUse(listener); + break; + + case policy_download: + BROWSER_LOGD("policy_download"); + decision_maker->_request_download(request, response, content_type); + WKFramePolicyListenerIgnore(listener); + break; + + case policy_ignore: + default: + BROWSER_LOGD("policy_ignore"); + WKFramePolicyListenerIgnore(listener); + break; + } +} + +/* Warning : MUST free() returned char* */ +char *Browser_Policy_Decision_Maker::_convert_WKStringRef_to_cstring(WKStringRef string_ref) +{ + if (!string_ref) + return NULL; + + size_t length = WKStringGetMaximumUTF8CStringSize(string_ref); + if (length <= 1) /* returned length is 1 if string_ref is blank. */ + return NULL; + + char *cstring = (char *)calloc(length, sizeof(char)); + if (!cstring) { + BROWSER_LOGE("calloc failed!"); + return NULL; + } + + WKStringGetUTF8CString(string_ref, cstring, length); + return cstring; +} + +string Browser_Policy_Decision_Maker::_convert_WKStringRef_to_string(WKStringRef string_ref) +{ + char *cstring = _convert_WKStringRef_to_cstring(string_ref); + if (!cstring) + return string(); + + string str(cstring); + free(cstring); + return str; +} + +int Browser_Policy_Decision_Maker::_decide_policy_type(WKFrameRef frame, WKStringRef content_type_ref, string &content_type) +{ + /* ToDo making a decision for SLP browser's policy system first */ + if (content_type.empty()) + return policy_download; + + if (WKFrameCanShowMIMEType(frame, content_type_ref)) + return policy_use; + + return policy_download; +} + +void Browser_Policy_Decision_Maker::_request_download(WKURLRequestRef request, WKURLResponseRef response, string& content_type) +{ + + string extension_name; + string ambiguous_mime1 = "text/plain"; + string ambiguous_mime2 = "application/octet-stream"; + int ret = 0; + char buff[256] = {0,}; + + BROWSER_LOGD("[%s]", __func__); + + m_url.clear(); + m_cookies.clear(); + m_default_player_pkg_name.clear(); + + WKURLRef url_ref = WKURLRequestCopyURL(request); + WKStringRef url_string_ref = WKURLCopyString(url_ref); + m_url = _convert_WKStringRef_to_string(url_string_ref); + WKRelease(url_string_ref); + WKRelease(url_ref); + + WKStringRef cookies_ref = WKURLRequestEflCopyCookies(request); + m_cookies = _convert_WKStringRef_to_string(cookies_ref); + WKRelease(cookies_ref); + + BROWSER_LOGD("url=[%s]", m_url.c_str()); + BROWSER_LOGD("cookie=[%s]", m_cookies.c_str()); + + if (content_type.empty()) { + BROWSER_LOGD("Download linked file from cotent menu"); + if (!_launch_download_app(m_url.c_str(), m_cookies.c_str())) + BROWSER_LOGE("_launch_download_app failed"); + return; + } + BROWSER_LOGD("mime type [%s]", content_type.c_str()); + /* If mime is ambiguous mime or not. If it is, get extension name from url */ + if (content_type.compare(ambiguous_mime1) == 0 + || content_type.compare(ambiguous_mime2) == 0) { + extension_name = _get_extension_name_from_url(m_url); + } + /* If mime is ambiguous and extension name is existed, + * decide streaming player according to extension name from url + * 1. mp4, 3gp : streaming video player case + * 2. mp3 : streaming music player case + * 3. otherewise : download app case + */ + if (!extension_name.empty()) { + BROWSER_LOGD("extension name from url [%s]", extension_name.c_str()); +#ifdef SUPPORT_HLS + if (extension_name.compare("m3u") == 0 || + extension_name.compare("m3u8") == 0) { + _launch_streaming_player(m_url.c_str(), m_cookies.c_str()); + return; + } else +#endif + if (extension_name.compare("mp4") == 0 || extension_name.compare("3gp") == 0) { + m_default_player_pkg_name = SEC_VIDEO_PLAYER; + if (!_show_app_list_popup()) + BROWSER_LOGE("_show_app_list_popup failed"); + } else if (extension_name.compare("mp3") == 0) { + m_default_player_pkg_name = SEC_MUSIC_PLAYER; + if (!_show_app_list_popup()) + BROWSER_LOGE("_show_app_list_popup failed"); + } else { + if (!_launch_download_app(m_url.c_str(), m_cookies.c_str())) + BROWSER_LOGE("_launch_download_app failed"); + } + return; + } + +#ifdef SUPPORT_HLS + if (content_type.compare("application/vnd.apple.mpegurl") == 0 || + content_type.compare("application/x-mpegurl") == 0 || + content_type.compare("application/m3u") == 0 || + content_type.compare("audio/x-mpegurl") == 0 || + content_type.compare("audio/m3u") == 0 || + content_type.compare("audio/x-m3u") == 0) { + _launch_streaming_player(m_url.c_str(), m_cookies.c_str()); + return; + } +#endif + + /* If the default player is registered at AUL db, show list popup with the name of it */ + ret = aul_get_defapp_from_mime(content_type.c_str(), buff, (sizeof(buff)-1)); + if (ret == AUL_R_OK) { + m_default_player_pkg_name = buff; + BROWSER_LOGD("default app [%s]", m_default_player_pkg_name.c_str()); + } else { + BROWSER_LOGE("Fail to get default app"); + } + + /* Call streaming player app only if the default player is samsung music player or samsung video plyaer + * Otherwiser, call download app + */ + if (!m_default_player_pkg_name.empty() && (m_default_player_pkg_name.compare(SEC_VIDEO_PLAYER) == 0 || + m_default_player_pkg_name.compare(SEC_MUSIC_PLAYER) == 0)) { + if (!_show_app_list_popup()) + BROWSER_LOGE("_show_app_list_popup failed"); + } else { + if (!_launch_download_app(m_url.c_str(), m_cookies.c_str())) + BROWSER_LOGE("_launch_download_app failed"); + } +} + +Eina_Bool Browser_Policy_Decision_Maker::_launch_download_app(const char *url, const char* cookie) +{ + service_h service_handle = NULL; + BROWSER_LOGD("%s", __func__); + if (url && strlen(url)) { + + if (service_create(&service_handle) < 0) { + BROWSER_LOGE("Fail to create service handle"); + return EINA_FALSE; + } + + if (!service_handle) { + BROWSER_LOGE("service handle is NULL"); + return EINA_FALSE; + } + + if (service_set_operation(service_handle, SERVICE_OPERATION_DOWNLOAD) < 0) { + BROWSER_LOGE("Fail to set service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + + if (service_set_uri(service_handle, url) < 0) { + BROWSER_LOGE("Fail to set uri"); + service_destroy(service_handle); + return EINA_FALSE; + } + if (cookie && strlen(cookie)) { + if (service_add_extra_data(service_handle, "cookie", cookie) < 0) { + BROWSER_LOGE("Fail to set extra data"); + service_destroy(service_handle); + return EINA_FALSE; + } + } + + if (service_send_launch_request(service_handle, NULL, NULL) < 0) { + BROWSER_LOGE("Fail to launch service operation"); + service_destroy(service_handle); + return EINA_FALSE; + } + service_destroy(service_handle); + + return EINA_TRUE; + } + + return EINA_FALSE; +} + +string Browser_Policy_Decision_Maker::_get_extension_name_from_url(string& url) +{ + string ext; + size_t pos = 0; + + if(url.empty()) { + BROWSER_LOGE("url is NULL"); + return string(); + } + pos = url.find_last_of("/"); + + if (pos != string::npos) { + string tmp; + tmp = url.substr(pos + 1); + pos = tmp.find_last_of("."); + if (pos != string::npos) { + string tmp2; + size_t end = 0; + tmp2 = tmp.substr(pos+1); + pos = tmp2.find_last_of("?"); + if (pos != string::npos) + ext = tmp2.substr(0, pos - 1); + else + ext = tmp2; + } + } + BROWSER_LOGD("extension name[%s]\n",ext.c_str()); + return ext; +} + +const char *Browser_Policy_Decision_Maker::_get_app_name_from_pkg_name(string& pkg_name) +{ + ail_appinfo_h handle; + ail_error_e ret; + string app_name; + char *str = NULL; + + ret = ail_package_get_appinfo(pkg_name.c_str(), &handle); + if (ret != AIL_ERROR_OK) { + return NULL; + } + + ret = ail_appinfo_get_str(handle, AIL_PROP_NAME_STR, &str); + if (ret != AIL_ERROR_OK) { + return NULL; + } + app_name = (const char*) str; + BROWSER_LOGD("pkg's name[%s]pkg[%s]\n",app_name.c_str(),pkg_name.c_str()); + + ret = ail_package_destroy_appinfo(handle); + if (ret != AIL_ERROR_OK) + return NULL; + + return app_name.c_str(); +} + +void Browser_Policy_Decision_Maker::__player_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("%s", __func__); + if (!data) + return; + + Browser_Policy_Decision_Maker *decision_maker = (Browser_Policy_Decision_Maker *)data; + + if (!decision_maker->_launch_streaming_player(decision_maker->m_url.c_str(), decision_maker->m_cookies.c_str())) + BROWSER_LOGE("_launch_streaming_player failed"); + + __popup_response_cb(decision_maker, NULL, NULL); +} + +void Browser_Policy_Decision_Maker::__internet_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("%s", __func__); + if (!data) + return; + + Browser_Policy_Decision_Maker *decision_maker = (Browser_Policy_Decision_Maker *)data; + + if (!decision_maker->_launch_download_app(decision_maker->m_url.c_str(), decision_maker->m_cookies.c_str())) + BROWSER_LOGE("_launch_download_app failed"); + + __popup_response_cb(decision_maker, NULL, NULL); +} + +Eina_Bool Browser_Policy_Decision_Maker::_show_app_list_popup(void) +{ + if (m_url.empty()) { + BROWSER_LOGE("url is empty"); + return EINA_FALSE; + } + + m_list_popup = elm_popup_add(m_navi_bar); + if (!m_list_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + elm_object_style_set(m_list_popup, "menustyle"); + elm_object_part_text_set(m_list_popup, "title,text", BR_STRING_TITLE_SELECT_AN_ACTION); + evas_object_size_hint_weight_set(m_list_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + m_app_list = elm_list_add(m_list_popup); + if (!m_app_list) { + BROWSER_LOGE("elm_list_add failed"); + return EINA_FALSE; + } + evas_object_size_hint_weight_set(m_app_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_app_list, EVAS_HINT_FILL, EVAS_HINT_FILL); + + const char *app_name = _get_app_name_from_pkg_name(m_default_player_pkg_name); + if (app_name && strlen(app_name)) + elm_list_item_append(m_app_list, app_name, NULL, NULL, __player_cb, this); + + elm_list_item_append(m_app_list, BR_STRING_INTERNET, NULL, NULL, __internet_cb, this); + evas_object_show(m_app_list); + + elm_object_content_set(m_list_popup, m_app_list); + evas_object_show(m_list_popup); + + Evas_Object *cancel_button = elm_button_add(m_list_popup); + if (!cancel_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(cancel_button, BR_STRING_CLOSE); + elm_object_part_content_set(m_list_popup, "button1", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __popup_response_cb, this); + + return EINA_TRUE; +} + +void Browser_Policy_Decision_Maker::__popup_response_cb(void* data, Evas_Object* obj, + void* event_info) +{ + BROWSER_LOGD("%s", __func__); + + if (!data) + return; + + Browser_Policy_Decision_Maker *decision_maker = (Browser_Policy_Decision_Maker *)data; + if (decision_maker->m_app_list) { + evas_object_del(decision_maker->m_app_list); + decision_maker->m_app_list = NULL; + } + if(decision_maker->m_list_popup) { + evas_object_del(decision_maker->m_list_popup); + decision_maker->m_list_popup = NULL; + } +} + diff --git a/src/browser-policy-client/browser-policy-decision-maker.h b/src/browser-policy-client/browser-policy-decision-maker.h new file mode 100755 index 00000000..e78090a4 --- /dev/null +++ b/src/browser-policy-client/browser-policy-decision-maker.h @@ -0,0 +1,87 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#ifndef BROWSER_POLICY_DECISION_MAKER_H +#define BROWSER_POLICY_DECISION_MAKER_H + +#include "browser-config.h" +#include "browser-view.h" + +#include + +using namespace std; + +class Browser_Common_View; + +class Browser_Policy_Decision_Maker : public Browser_Common_View { +public: + Browser_Policy_Decision_Maker(Evas_Object *navi_bar, Browser_View *browser_view); + ~Browser_Policy_Decision_Maker(void); + + void init(WKPageRef page_ref); + void deinit(void); + void pause(void); +private: + enum { + policy_use, + policy_download, + policy_ignore + }; + + /* ewk view event callback functions */ + static void __decide_policy_for_navigation_action( + WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, + WKEventModifiers modifiers, WKEventMouseButton mouseButton, + WKURLRequestRef request, WKFramePolicyListenerRef listener, + WKTypeRef userData, const void* clientInfo); + static void __decide_policy_for_response_cb(WKPageRef page, WKFrameRef frame, + WKURLResponseRef response, WKURLRequestRef request, + WKFramePolicyListenerRef listener, WKTypeRef user_data, + const void *client_info); + + /* download client callback functions */ + static void __download_did_start_cb(const char *download_url, void *user_data); + + /* Elementary event callback functions */ + static void __popup_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __player_cb(void *data, Evas_Object *obj, void *event_info); + static void __internet_cb(void *data, Evas_Object *obj, void *event_info); + + /* Warning : MUST free() returned char* */ + char *_convert_WKStringRef_to_cstring(WKStringRef string_ref); + string _convert_WKStringRef_to_string(WKStringRef string_ref); + int _decide_policy_type(WKFrameRef frame, WKStringRef content_type_ref, string &content_type); + void _request_download(WKURLRequestRef request, WKURLResponseRef response, string& content_type); + Eina_Bool _launch_download_app(const char *url, const char *cookies = NULL); + string _get_extension_name_from_url(string &url); + Eina_Bool _show_app_list_popup(void); + const char *_get_app_name_from_pkg_name(string& pkg_name); + Eina_Bool _handle_exscheme(void); + + WKPageRef m_wk_page_ref; + Evas_Object *m_navi_bar; + Evas_Object *m_list_popup; + Evas_Object *m_app_list; + Browser_View *m_browser_view; + + string m_url; + string m_cookies; + string m_default_player_pkg_name; +}; +#endif /* BROWSER_POLICY_DECISION_MAKER_H */ + diff --git a/src/browser-security/browser-authentication-manager.cpp b/src/browser-security/browser-authentication-manager.cpp deleted file mode 100755 index 9693f71e..00000000 --- a/src/browser-security/browser-authentication-manager.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-authentication-manager.h" - -Evas_Object *Browser_Authetication_Manager::m_popup; -Evas_Object *Browser_Authetication_Manager::m_user_name_edit_field; -Evas_Object *Browser_Authetication_Manager::m_password_edit_field; - -Browser_Authetication_Manager::Browser_Authetication_Manager(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Authetication_Manager::~Browser_Authetication_Manager(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_popup) - evas_object_del(m_popup); - if (m_user_name_edit_field) - evas_object_del(m_user_name_edit_field); - if (m_password_edit_field) - evas_object_del(m_password_edit_field); -} - -Eina_Bool Browser_Authetication_Manager::init(void) -{ - BROWSER_LOGD("[%s]", __func__); - - /* Why this callback doesn't support user data? !!! */ - ewk_auth_show_dialog_callback_set(__show_auth_dialog_cb); - - return EINA_TRUE; -} - -void Browser_Authetication_Manager::__show_auth_dialog_cb(const char* msg, const char* uri, void* data) -{ - BROWSER_LOGD("[%s]", __func__); - - m_popup = elm_popup_add(m_navi_bar); - if (!m_popup) { - BROWSER_LOGE("elm_popup_add failed"); - return; - } - - evas_object_size_hint_weight_set(m_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_popup_orient_set(m_popup, ELM_POPUP_ORIENT_TOP); - elm_object_part_text_set(m_popup, msg, "elm.text"); - - Evas_Object *ok_button = elm_button_add(m_popup); - elm_object_text_set(ok_button, "OK"); - elm_object_part_content_set(m_popup, "button1", ok_button); - evas_object_smart_callback_add(ok_button, "clicked", __popup_reponse_cb, data); - - Evas_Object *cancel_button = elm_button_add(m_popup); - elm_object_text_set(cancel_button, "Cancel"); - elm_object_part_content_set(m_popup, "button2", cancel_button); - evas_object_smart_callback_add(cancel_button, "clicked", __popup_cancel_cb, data); - - Evas_Object *content_box = elm_box_add(m_popup); - if (!content_box) { - BROWSER_LOGE("elm_box_add failed"); - return; - } - evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(content_box, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(content_box); - - m_user_name_edit_field = br_elm_editfield_add(m_popup); - if (!m_user_name_edit_field) { - BROWSER_LOGE("elm_editfield_add failed"); - return; - } - br_elm_editfield_guide_text_set(m_user_name_edit_field, BR_STRING_USER_NAME); - evas_object_size_hint_weight_set(m_user_name_edit_field, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(m_user_name_edit_field, EVAS_HINT_FILL, EVAS_HINT_FILL); - br_elm_editfield_entry_single_line_set(m_user_name_edit_field, EINA_TRUE); - evas_object_show(m_user_name_edit_field); - elm_box_pack_end(content_box, m_user_name_edit_field); - - m_password_edit_field = br_elm_editfield_add(m_popup); - if (!m_password_edit_field) { - BROWSER_LOGE("elm_editfield_add failed"); - return; - } - br_elm_editfield_guide_text_set(m_password_edit_field, BR_STRING_PASSWORD); - evas_object_size_hint_weight_set(m_password_edit_field, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(m_password_edit_field, EVAS_HINT_FILL, EVAS_HINT_FILL); - br_elm_editfield_entry_single_line_set(m_password_edit_field, EINA_TRUE); - elm_entry_password_set(br_elm_editfield_entry_get(m_password_edit_field), EINA_TRUE); - evas_object_show(m_password_edit_field); - elm_box_pack_end(content_box, m_password_edit_field); - - elm_object_content_set(m_popup, content_box); - - evas_object_show(m_popup); - - elm_object_focus_set(m_user_name_edit_field, EINA_TRUE); -} - -void Browser_Authetication_Manager::__popup_reponse_cb(void* data, Evas_Object* obj, void* event_info) -{ - BROWSER_LOGD("[%s]", __func__); - char *user_name = NULL; - char *password = NULL; - - user_name = strdup(elm_entry_entry_get(br_elm_editfield_entry_get(m_user_name_edit_field))); - password = strdup(elm_entry_entry_get(br_elm_editfield_entry_get(m_password_edit_field))); - - BROWSER_LOGD("user_name=[%s], passwrd=[%s]", user_name, password); - ewk_auth_credentials_set(user_name, password, data); - - Ecore_IMF_Context *ic = (Ecore_IMF_Context *)elm_entry_imf_context_get(br_elm_editfield_entry_get(m_user_name_edit_field)); - if (!ic) - ic = (Ecore_IMF_Context *)elm_entry_imf_context_get(br_elm_editfield_entry_get(m_password_edit_field)); - if (ic) - ecore_imf_context_input_panel_hide(ic); - - if (m_popup) { - evas_object_del(m_popup); - m_popup = NULL; - } - if (m_user_name_edit_field) { - evas_object_del(m_user_name_edit_field); - m_user_name_edit_field = NULL; - } - if (m_password_edit_field) { - evas_object_del(m_password_edit_field); - m_password_edit_field = NULL; - } - - if (user_name) - free(user_name); - if (password) - free(password); -} - -void Browser_Authetication_Manager::__popup_cancel_cb(void* data, Evas_Object* obj, void* event_info) -{ - BROWSER_LOGD("[%s]", __func__); - - Ecore_IMF_Context *ic = (Ecore_IMF_Context *)elm_entry_imf_context_get(br_elm_editfield_entry_get(m_user_name_edit_field)); - if (!ic) - ic = (Ecore_IMF_Context *)elm_entry_imf_context_get(br_elm_editfield_entry_get(m_password_edit_field)); - if (ic) - ecore_imf_context_input_panel_hide(ic); - - if (m_popup) { - evas_object_del(m_popup); - m_popup = NULL; - } - if (m_user_name_edit_field) { - evas_object_del(m_user_name_edit_field); - m_user_name_edit_field = NULL; - } - if (m_password_edit_field) { - evas_object_del(m_password_edit_field); - m_password_edit_field = NULL; - } -} - diff --git a/src/browser-security/browser-authentication-manager.h b/src/browser-security/browser-authentication-manager.h deleted file mode 100755 index 639e69b1..00000000 --- a/src/browser-security/browser-authentication-manager.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_PERSONAL_DATA_MANAGER_H -#define BROWSER_PERSONAL_DATA_MANAGER_H - -#include "browser-common-view.h" -#include "browser-config.h" - -#include - -using namespace std; - -class Browser_Authetication_Manager : public Browser_Common_View { -public: - Browser_Authetication_Manager(void); - ~Browser_Authetication_Manager(void); - - Eina_Bool init(void); -private: - static void __show_auth_dialog_cb(const char *msg, const char *uri, void *data); - static void __popup_reponse_cb(void* data, Evas_Object* obj, void* event_info); - static void __popup_cancel_cb(void* data, Evas_Object* obj, void* event_info); - - static Evas_Object *m_popup; - static Evas_Object *m_user_name_edit_field; - static Evas_Object *m_password_edit_field; -}; - -#endif /* BROWSER_PERSONAL_DATA_MANAGER_H */ - diff --git a/src/browser-security/browser-certificate-manager.cpp b/src/browser-security/browser-certificate-manager.cpp deleted file mode 100755 index b6d321a1..00000000 --- a/src/browser-security/browser-certificate-manager.cpp +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include - -#include "browser-class.h" -#include "browser-certificate-manager.h" -#include "browser-view.h" -#include "browser-window.h" - -Browser_Certificate_Manager::Browser_Certificate_Manager(void) -: m_certificate_list(NULL) - ,m_certificate(NULL) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Certificate_Manager::~Browser_Certificate_Manager(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_certificate) { - delete [] m_certificate->data; - delete m_certificate; - m_certificate = NULL; - } - - _destroy_certificate_list(); - - remove(CERTIFICATES_TMP_FILE); -} - -Eina_Bool Browser_Certificate_Manager::init(void) -{ - BROWSER_LOGD("[%s]", __func__); - - if (!_create_crt_file(CERTIFICATES_DIR, CERTIFICATES_TMP_FILE)) { - BROWSER_LOGE("_create_crt_file failed"); - return EINA_FALSE; - } - - ewk_set_certificate_file(CERTIFICATES_TMP_FILE); - ewk_set_certificate_confirmation_callback(__certificate_confirm_cb); - - return EINA_TRUE; -} - -void Browser_Certificate_Manager::reset_certificate(void) -{ - BROWSER_LOGD("[%s]", __func__); - _destroy_certificate_list(); -} - -Eina_Bool Browser_Certificate_Manager::__certificate_confirm_cb(Eina_Bool is_trused, const char *uri, - char *certificate_source, int error) -{ - BROWSER_LOGD("[%s]", __func__); - - std::string domain = m_data_manager->get_browser_view()->get_domain_name(uri); - BROWSER_LOGD("domain=[%s], error=%d", domain.c_str(), error); - - Evas_Object *webview = m_data_manager->get_browser_view()->get_focused_webview(); - Evas_Object *webkit = elm_webview_webkit_get(webview); - - Browser_Certificate_Manager *certificate_manager = NULL; - certificate_manager = m_browser->get_certificate_manager(); - gnutls_datum_t *certificate = certificate_manager->_create_certificate(certificate_source); - if (!certificate) - BROWSER_LOGE("_create_certificate failed"); - - std::string error_string; - if (error & UNKNOWN_CA) { - /* SS_UNKNOWN_CERTIFICATE_AUTHORITY */ - error_string = "Unknown certificate authority"; - } else if (error & BAD_IDENTITY) { - error_string = "Certificate : Bad-Identity"; - } else if (error & NOT_ACTIVATED) { - error_string = "Certificate is not activated"; - } else if (error & EXPIRED) { - /* SS_CERTIFICATE_EXPIRED */ - error_string = "Certificate expired"; - } else if (error & REVOKED) { - /* SS_CERTIFICATE_REVOKED */ - error_string = "Certificate revoked"; - } else if (error & INSECURE) { - error_string = "Certificate insecured"; - } else if (error & GENERIC_ERROR) { - /* SS_CERTIFICATE_ERROR */ - error_string = "Certificate error"; - } - - if (certificate) - certificate_manager->_print_certificate(certificate); - - if (!error_string.empty()) { - ewk_view_suspend_request(webkit); - - if (!certificate_manager->show_modal_popup(error_string.c_str())) - BROWSER_LOGE("show_modal_popup failed"); - - ewk_view_resume_request(webkit); - } - - if (certificate) - delete certificate; - - return EINA_TRUE; -} - -void Browser_Certificate_Manager::_destroy_certificate_list(void) -{ - BROWSER_LOGD("[%s]", __func__); - void *item_data = NULL; - EINA_LIST_FREE(m_certificate_list, item_data) { - if (item_data) { - gnutls_datum_t *certificate_item = (gnutls_datum_t *)item_data; - delete [] certificate_item->data; - delete certificate_item; - } - } -} - -static int _pem_file_selector(const struct dirent *dir_entity) -{ - BROWSER_LOGD("[%s]", __func__); - if (!dir_entity->d_name) - return 0; - - int len = strlen(dir_entity->d_name); - if (len < 4) - return 0; - - if (strncmp(dir_entity->d_name + (len - 4), ".pem", 4 ) == 0) - return 1; - - return 0; -} - -Eina_Bool Browser_Certificate_Manager::_create_crt_file(const char *dir_path, const char *des_file_path) -{ - BROWSER_LOGD("[%s]", __func__); - struct dirent **name_list = NULL; - int result = scandir(dir_path, &name_list, _pem_file_selector, alphasort); - if (result < 0) - return EINA_FALSE; - - ofstream dest_file(des_file_path); - dest_file.seekp (0, ios::end); - std::string line; - - if (!dest_file.is_open()) - return EINA_FALSE; - - while (result--) { - std::string full_patch = std::string(dir_path) + std::string(name_list[result]->d_name); - ifstream src_file(full_patch.c_str()); - if( src_file.is_open()) { - while (!src_file.eof()) { - getline(src_file, line); - dest_file << line; - if (!src_file.eof()) - dest_file << std::endl; - } - src_file.close(); - } - - free(name_list[result]); - } - - free(name_list); - dest_file.close(); - - return EINA_TRUE; -} - -void Browser_Certificate_Manager::_print_certificate(const gnutls_datum_t *certificate) -{ - BROWSER_LOGD("[%s]", __func__); - gnutls_datum_t cinfo; - gnutls_x509_crt_t cert; - - gnutls_x509_crt_init(&cert); - gnutls_x509_crt_import(cert, certificate, GNUTLS_X509_FMT_DER); - - int ret = gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_ONELINE, &cinfo); - if (!ret) { - BROWSER_LOGD ("%s", cinfo.data); - gnutls_free (cinfo.data); - } -} - -gnutls_datum_t *Browser_Certificate_Manager::_create_certificate(char *certificate_source) -{ - BROWSER_LOGD("[%s]", __func__); - if (!certificate_source || !strlen(certificate_source)) { - BROWSER_LOGE("certificate_source is null"); - return NULL; - } - - gnutls_datum_t *certificate = new(nothrow) gnutls_datum_t; - if (!certificate) { - BROWSER_LOGE("new(nothrow) gnutls_datum_t failed"); - return NULL; - } - certificate->size = strlen(certificate_source); - certificate->data = new(nothrow) unsigned char[certificate->size]; - if (!certificate->data) { - BROWSER_LOGE("new(nothrow) failed"); - return NULL; - } - memcpy(certificate->data, certificate_source, certificate->size); - - return certificate; -} - -Eina_Bool Browser_Certificate_Manager::_create_certificate_list(Eina_List *certificate_list) -{ - BROWSER_LOGD("[%s]", __func__); - if (!certificate_list) { - BROWSER_LOGE("certificate_list failed"); - return EINA_FALSE; - } - - const gnutls_datum_t *certificate; - Eina_List *list = NULL; - void *item_data = NULL; - - EINA_LIST_FOREACH(certificate_list, list, item_data) { - certificate = reinterpret_cast(item_data); - gnutls_datum_t *certificate_item = new(nothrow) gnutls_datum_t; - if (!certificate_item) { - BROWSER_LOGE("new gnutls_datum_t failed"); - return EINA_FALSE; - } - certificate_item->size = certificate->size; - certificate_item->data = new(nothrow) unsigned char[certificate_item->size]; - if (!certificate_item->data) { - BROWSER_LOGE("new unsigned char failed"); - return EINA_FALSE; - } - memcpy(certificate_item->data, certificate->data, certificate_item->size); - - m_certificate_list = eina_list_append(m_certificate_list, certificate_item); - } - - return EINA_TRUE; -} diff --git a/src/browser-security/browser-certificate-manager.h b/src/browser-security/browser-certificate-manager.h deleted file mode 100755 index 296079a6..00000000 --- a/src/browser-security/browser-certificate-manager.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_CERTIFICATE_MANAGER_H -#define BROWSER_CERTIFICATE_MANAGER_H - -#include -#include -#include - -#include "browser-common-view.h" -#include "browser-config.h" - -using namespace std; - -class Browser_Certificate_Manager : public Browser_Common_View { -public: - Browser_Certificate_Manager(void); - ~Browser_Certificate_Manager(void); - - Eina_Bool init(void); - void reset_certificate(void); - - typedef enum { - UNKNOWN_CA = (1 << 0), - BAD_IDENTITY = (1 << 1), - NOT_ACTIVATED = (1 << 2), - EXPIRED = (1 << 3), - REVOKED = (1 << 4), - INSECURE = (1 << 5), - GENERIC_ERROR = (1 << 6), - VALIDATE_ALL = 0x007f - } certificate_error_code; -private: - void _destroy_certificate_list(void); - Eina_Bool _create_crt_file(const char *dir_path, const char *des_file_path); - Eina_Bool _create_certificate_list(Eina_List *certificate_list); - gnutls_datum_t *_create_certificate(char *certificate_source); - void _print_certificate(const gnutls_datum_t *certificate); - - static Eina_Bool __certificate_confirm_cb(Eina_Bool is_trused, const char *uri, - char *certificate_source, int error); - - Eina_List *m_certificate_list; - gnutls_datum_t* m_certificate; -}; - -#endif /* BROWSER_CERTIFICATE_MANAGER_H */ - diff --git a/src/browser-security/browser-personal-data-manager.cpp b/src/browser-security/browser-personal-data-manager.cpp deleted file mode 100755 index fc0ab0c9..00000000 --- a/src/browser-security/browser-personal-data-manager.cpp +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-personal-data-manager.h" - -Browser_Personal_Data_Manager::Browser_Personal_Data_Manager(void) -: m_webview(NULL) - ,m_popup(NULL) -{ - BROWSER_LOGD("[%s]", __func__); - - m_personal_data_db = new(nothrow) Browser_Personal_Data_DB; - if (!m_personal_data_db) { - BROWSER_LOGE("new Browser_Personal_Data_DB failed"); - } -} - -Browser_Personal_Data_Manager::~Browser_Personal_Data_Manager(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_popup) - evas_object_del(m_popup); - - if (m_personal_data_db) - delete m_personal_data_db; -} - -Eina_Bool Browser_Personal_Data_Manager::clear_personal_data(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_personal_data_db) { - return m_personal_data_db->clear_personal_data(); - } - - return EINA_FALSE; -} - -personal_data_save_mode Browser_Personal_Data_Manager::_get_save_mode(void) -{ - BROWSER_LOGD("[%s]", __func__); - char *save_mode = vconf_get_str(AUTO_SAVE_ID_PASSWORD_KEY); - if (!save_mode) { - BROWSER_LOGE("vconf_get_str failed"); - return SAVE_PERSONAL_DATA_ALWAYS_ASK; - } - - personal_data_save_mode mode; - if (!strncmp(save_mode, ALWAYS_ASK, strlen(ALWAYS_ASK))) { - BROWSER_LOGD("SAVE_PERSONAL_DATA_ALWAYS_ASK"); - mode = SAVE_PERSONAL_DATA_ALWAYS_ASK; - } else if (!strncmp(save_mode, ALWAYS_ON, strlen(ALWAYS_ON))) { - BROWSER_LOGD("SAVE_PERSONAL_DATA_ON"); - mode = SAVE_PERSONAL_DATA_ON; - } else { - BROWSER_LOGD("SAVE_PERSONAL_DATA_OFF"); - mode = SAVE_PERSONAL_DATA_OFF; - } - - free(save_mode); - - return mode; -} - -Eina_Bool Browser_Personal_Data_Manager::set_personal_data(const char *url) -{ - if (_get_save_mode() == SAVE_PERSONAL_DATA_OFF || !m_personal_data_db) { - BROWSER_LOGE("SAVE_PERSONAL_DATA_OFF"); - return EINA_FALSE; - } - - std::string user_name; - std::string password; - std::string domain = get_domain_name(url); - if (!m_personal_data_db->get_personal_data(user_name, password, domain)) { - BROWSER_LOGE("get_personal_data failed"); - return EINA_FALSE; - } - - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - if (!ewk_view_autofill_personal_data(webkit, user_name.c_str(), password.c_str())) - BROWSER_LOGE("ewk_view_autofill_personal_data failed"); -} - -Eina_Bool Browser_Personal_Data_Manager::_save_personal_data(std::string user_name, - std::string password, std::string url) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_personal_data_db) - return m_personal_data_db->save_personal_data(url, user_name, password); - - return EINA_FALSE; -} - -int Browser_Personal_Data_Manager::_show_ask_confirm_popup(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_popup) - evas_object_del(m_popup); - - m_popup = elm_popup_add(m_navi_bar); - if (!m_popup) { - BROWSER_LOGE("elm_popup_add failed"); - return 1; - } - - evas_object_size_hint_weight_set(m_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - std::string confirm_msg = std::string("Remember private data?"); - elm_object_text_set(m_popup, confirm_msg.c_str()); - - evas_object_show(m_popup); - - evas_object_focus_set(m_popup, EINA_TRUE); - - return 1; -} - -void Browser_Personal_Data_Manager::__submit_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Personal_Data_Manager *manager = (Browser_Personal_Data_Manager *)data; - const char **personal_data = (const char **)event_info; - std::string user_name = personal_data[0]; - std::string password = personal_data[1]; - std::string url = manager->get_domain_name(personal_data[2]); - BROWSER_LOGD("user_name=[%s], password=[%s], url=[%s]", user_name.c_str(), password.c_str(), url.c_str()); - - personal_data_save_mode save_mode = manager->_get_save_mode(); - if (save_mode == SAVE_PERSONAL_DATA_OFF) { - BROWSER_LOGD("SAVE_PERSONAL_DATA_OFF"); - return; - } else if (save_mode == SAVE_PERSONAL_DATA_ON) { - BROWSER_LOGD("SAVE_PERSONAL_DATA_ON"); - if (!manager->_save_personal_data(user_name, password, url)) - BROWSER_LOGE("_save_personal_data failed"); - } else { - if (!manager->_save_personal_data(user_name, password, url)) - BROWSER_LOGE("_save_personal_data failed"); - evas_object_del(manager->m_popup); - manager->m_popup = NULL; - } -} - -void Browser_Personal_Data_Manager::init(Evas_Object *webview) -{ - BROWSER_LOGD("[%s]", __func__); - deinit(); - - m_webview = webview; - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_add(ewk_view_frame_main_get(webkit), - "submit,clicked", __submit_clicked_cb, this); -} - -void Browser_Personal_Data_Manager::deinit(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_webview) { - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_del(ewk_view_frame_main_get(webkit), - "submit,clicked", __submit_clicked_cb); - } -} - diff --git a/src/browser-security/browser-personal-data-manager.h b/src/browser-security/browser-personal-data-manager.h deleted file mode 100755 index 64be0ce8..00000000 --- a/src/browser-security/browser-personal-data-manager.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_PERSONAL_DATA_MANAGER_H -#define BROWSER_PERSONAL_DATA_MANAGER_H - -#include "browser-common-view.h" -#include "browser-personal-data-db.h" - -#include - -using namespace std; - -typedef enum _personal_data_save_mode { - SAVE_PERSONAL_DATA_ALWAYS_ASK, - SAVE_PERSONAL_DATA_ON, - SAVE_PERSONAL_DATA_OFF, -} personal_data_save_mode; - -class Browser_Personal_Data_Manager : public Browser_Common_View { -public: - Browser_Personal_Data_Manager(void); - ~Browser_Personal_Data_Manager(void); - - Eina_Bool init(void) {} - - void init(Evas_Object *webview); - void deinit(void); - - Eina_Bool clear_personal_data(void); - Eina_Bool set_personal_data(const char *url); -private: - personal_data_save_mode _get_save_mode(void); - Eina_Bool _save_personal_data(std::string user_name, - std::string password, std::string url); - int _show_ask_confirm_popup(void); - - /* Elementary event callback functions */ - static void __submit_clicked_cb(void *data, Evas_Object *obj, void *event_info); - - Evas_Object *m_webview; - Browser_Personal_Data_DB *m_personal_data_db; - Evas_Object *m_popup; -}; - -#endif /* BROWSER_PERSONAL_DATA_MANAGER_H */ - diff --git a/src/browser-settings/browser-settings-accelerated-composition.cpp b/src/browser-settings/browser-settings-accelerated-composition.cpp deleted file mode 100755 index 928d246d..00000000 --- a/src/browser-settings/browser-settings-accelerated-composition.cpp +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-settings-accelerated-composition.h" - -Browser_Settings_Accelerated_Composition::Browser_Settings_Accelerated_Composition(Browser_Settings_Main_View *main_view) -: - m_genlist(NULL) - ,m_back_button(NULL) - ,m_accelerated_composition_check_button(NULL) - ,m_external_video_player_check_button(NULL) - ,m_main_view(main_view) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Settings_Accelerated_Composition::~Browser_Settings_Accelerated_Composition(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Eina_Bool Browser_Settings_Accelerated_Composition::init(void) -{ - BROWSER_LOGD("[%s]", __func__); - - if (!_create_main_layout()) { - BROWSER_LOGE("_create_main_layout failed"); - return EINA_FALSE; - } - - return EINA_TRUE; -} - -void Browser_Settings_Accelerated_Composition::__accelerated_composition_check_button_changed_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Settings_Accelerated_Composition *acceleration_composition_view = (Browser_Settings_Accelerated_Composition *)data; - - const char *key = ACCELERATED_COMPOSITION_KEY; - Eina_Bool state = elm_check_state_get(obj); - - if (vconf_set_bool(key, state) != 0) - BROWSER_LOGE("Key: [%s], FAILED\n", key); - - if(!state) { - /* Accelerated composition OFF, external video ON. external Video buttons must be disabled. CompositedRenderLayerBorders must be disabled.*/ - elm_check_state_set(acceleration_composition_view->m_external_video_player_check_button, state); - if(vconf_set_bool(EXTERNAL_VIDEO_PLAYER_KEY, 1)!=0) - BROWSER_LOGE("Key: %s, FAILED\n", EXTERNAL_VIDEO_PLAYER_KEY); - elm_check_state_set(acceleration_composition_view->m_external_video_player_check_button, EINA_TRUE); - elm_object_disabled_set(acceleration_composition_view->m_external_video_player_check_button, EINA_TRUE); - elm_object_item_disabled_set(acceleration_composition_view->m_accelerated_external_video_player_callback_data.it, EINA_TRUE); - } else { - /* Accelerated composition ON , external video OFF */ - elm_object_disabled_set(acceleration_composition_view->m_external_video_player_check_button, EINA_FALSE); - elm_object_item_disabled_set(acceleration_composition_view->m_accelerated_external_video_player_callback_data.it, EINA_FALSE); - } -} - -void Browser_Settings_Accelerated_Composition::__external_video_player_check_button_changed_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Settings_Accelerated_Composition *acceleration_composition_view = (Browser_Settings_Accelerated_Composition *)data; - - const char *key = EXTERNAL_VIDEO_PLAYER_KEY; - Eina_Bool state = elm_check_state_get(obj); - if (vconf_set_bool(key, state) != 0) - BROWSER_LOGE("Key: [%s], FAILED\n", key); -} -Evas_Object *Browser_Settings_Accelerated_Composition::__genlist_icon_get(void *data, - Evas_Object *obj, const char *part) -{ - if (!data) - return NULL; - - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Accelerated_Composition::menu_type type = callback_data->type; - Browser_Settings_Accelerated_Composition *acceleration_composition_view = (Browser_Settings_Accelerated_Composition *)callback_data->user_data; - - if (type == BR_ACCELERATED_COMPOSITION) { - if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { - acceleration_composition_view->m_accelerated_composition_check_button = elm_check_add(obj); - if (!acceleration_composition_view->m_accelerated_composition_check_button) { - BROWSER_LOGD("elm_check_add failed"); - return NULL; - } - elm_object_style_set(acceleration_composition_view->m_accelerated_composition_check_button, "on&off"); - evas_object_propagate_events_set(acceleration_composition_view->m_accelerated_composition_check_button, EINA_FALSE); - - int accelerated_composition = 1; - if (vconf_get_bool(ACCELERATED_COMPOSITION_KEY, &accelerated_composition) < 0) - BROWSER_LOGE("vconf_get_bool failed"); - elm_check_state_set(acceleration_composition_view->m_accelerated_composition_check_button, accelerated_composition); - evas_object_smart_callback_add(acceleration_composition_view->m_accelerated_composition_check_button, "changed", - __accelerated_composition_check_button_changed_cb, acceleration_composition_view); - return acceleration_composition_view->m_accelerated_composition_check_button; - } - } - else if (type == BR_EXTERNAL_VIDEO_PLAYER) { - if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { - acceleration_composition_view->m_external_video_player_check_button = elm_check_add(obj); - if (!acceleration_composition_view->m_external_video_player_check_button) { - BROWSER_LOGD("elm_check_add failed"); - return NULL; - } - elm_object_style_set(acceleration_composition_view->m_external_video_player_check_button, "on&off"); - evas_object_propagate_events_set(acceleration_composition_view->m_external_video_player_check_button, EINA_FALSE); - - int external_video_player = 1; - if (vconf_get_bool(EXTERNAL_VIDEO_PLAYER_KEY, &external_video_player) < 0) - BROWSER_LOGE("vconf_get_bool failed"); - elm_check_state_set(acceleration_composition_view->m_external_video_player_check_button, external_video_player); - evas_object_smart_callback_add(acceleration_composition_view->m_external_video_player_check_button, "changed", - __external_video_player_check_button_changed_cb, acceleration_composition_view); - return acceleration_composition_view->m_external_video_player_check_button; - } - } - - return NULL; -} - -char *Browser_Settings_Accelerated_Composition::__genlist_label_get(void *data, - Evas_Object *obj, const char *part) -{ - if (!data) - return NULL; - - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Accelerated_Composition::menu_type type = callback_data->type; - if(type == BR_ACCELERATED_COMPOSITION) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) { - return strdup(_("Accelerated composition")); - } - } - else if(type == BR_EXTERNAL_VIDEO_PLAYER) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) { - return strdup(_("External video player")); - } - } -} - -void Browser_Settings_Accelerated_Composition::__item_selected_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Accelerated_Composition::menu_type type = callback_data->type; - Browser_Settings_Accelerated_Composition *acceleration_composition_view = (Browser_Settings_Accelerated_Composition *)callback_data->user_data; - - if (type == BR_ACCELERATED_COMPOSITION) { - int value = elm_check_state_get(acceleration_composition_view->m_accelerated_composition_check_button); - elm_check_state_set(acceleration_composition_view->m_accelerated_composition_check_button, !value); - - __accelerated_composition_check_button_changed_cb(acceleration_composition_view, acceleration_composition_view->m_accelerated_composition_check_button, NULL); - - elm_genlist_item_selected_set(acceleration_composition_view->m_accelerated_composition_callback_data.it, EINA_FALSE); - } - else if (type == BR_EXTERNAL_VIDEO_PLAYER) { - int value = elm_check_state_get(acceleration_composition_view->m_external_video_player_check_button); - elm_check_state_set(acceleration_composition_view->m_external_video_player_check_button, !value); - - __external_video_player_check_button_changed_cb(acceleration_composition_view, acceleration_composition_view->m_external_video_player_check_button, NULL); - - elm_genlist_item_selected_set(acceleration_composition_view->m_accelerated_external_video_player_callback_data.it, EINA_FALSE); - } -} - -void Browser_Settings_Accelerated_Composition::__back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - - if (elm_naviframe_bottom_item_get(m_navi_bar) - != elm_naviframe_top_item_get(m_navi_bar)) - elm_naviframe_item_pop(m_navi_bar); -} - -Eina_Bool Browser_Settings_Accelerated_Composition::_create_main_layout(void) -{ - BROWSER_LOGD("[%s]", __func__); - - m_genlist = elm_genlist_add(m_navi_bar); - if (!m_genlist) { - BROWSER_LOGE("elm_genlist_add failed"); - return EINA_FALSE; - } - - m_seperator_item_class.item_style = "dialogue/seperator"; - m_seperator_item_class.func.text_get = NULL; - m_seperator_item_class.func.content_get = NULL; - m_seperator_item_class.func.del = NULL; - m_seperator_item_class.func.state_get = NULL; - - Elm_Object_Item *it = elm_genlist_item_append(m_genlist, &m_seperator_item_class, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - m_1_text_1_icon_item_class.item_style = "dialogue/1text.1icon"; - m_1_text_1_icon_item_class.func.text_get = __genlist_label_get; - m_1_text_1_icon_item_class.func.content_get = __genlist_icon_get; - m_1_text_1_icon_item_class.func.del = NULL; - m_1_text_1_icon_item_class.func.state_get = NULL; - - m_accelerated_composition_callback_data.type = BR_ACCELERATED_COMPOSITION; - m_accelerated_composition_callback_data.user_data = this; - m_accelerated_composition_callback_data.it = elm_genlist_item_append(m_genlist, &m_1_text_1_icon_item_class, &m_accelerated_composition_callback_data, - NULL, ELM_GENLIST_ITEM_NONE, __item_selected_cb, &m_accelerated_composition_callback_data); - - m_accelerated_external_video_player_callback_data.type = BR_EXTERNAL_VIDEO_PLAYER; - m_accelerated_external_video_player_callback_data.user_data = this; - m_accelerated_external_video_player_callback_data.it = elm_genlist_item_append(m_genlist, &m_1_text_1_icon_item_class, &m_accelerated_external_video_player_callback_data, - NULL, ELM_GENLIST_ITEM_NONE, __item_selected_cb, &m_accelerated_external_video_player_callback_data); - - int acceleratedComposition = 1; - if(vconf_get_bool(ACCELERATED_COMPOSITION_KEY, &acceleratedComposition) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", __func__, ACCELERATED_COMPOSITION_KEY); - - if(!acceleratedComposition) - elm_object_item_disabled_set(m_accelerated_external_video_player_callback_data.it, EINA_TRUE); - - evas_object_show(m_genlist); - - m_back_button = elm_button_add(m_navi_bar); - if (!m_back_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_back_button, "browser/bookmark_controlbar_back"); - evas_object_show(m_back_button); - evas_object_smart_callback_add(m_back_button, "clicked", __back_button_clicked_cb, this); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, _("Accelerated composition"), - m_back_button, NULL, m_genlist, "browser_titlebar"); - - return EINA_TRUE; -} - diff --git a/src/browser-settings/browser-settings-accelerated-composition.h b/src/browser-settings/browser-settings-accelerated-composition.h deleted file mode 100755 index 690fbf1f..00000000 --- a/src/browser-settings/browser-settings-accelerated-composition.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_SETTINGS_ACCELERATED_COMPOSITION_H -#define BROWSER_SETTINGS_ACCELERATED_COMPOSITION_H - -#include "browser-common-view.h" -#include "browser-config.h" -#include "browser-settings-main-view.h" - -class Browser_Settings_Accelerated_Composition : public Browser_Common_View { -public: - Browser_Settings_Accelerated_Composition(Browser_Settings_Main_View *main_view); - ~Browser_Settings_Accelerated_Composition(void); - - Eina_Bool init(void); - - typedef enum _menu_type { - BR_ACCELERATED_COMPOSITION, - BR_EXTERNAL_VIDEO_PLAYER, - BR_UNKOWN - } menu_type; -private: - typedef struct _genlist_callback_data { - menu_type type; - void *user_data; - Elm_Object_Item *it; - } genlist_callback_data; - - Eina_Bool _create_main_layout(void); - - /* genlist callback functions */ - static Evas_Object *__genlist_icon_get(void *data, Evas_Object *obj, const char *part); - static char *__genlist_label_get(void *data, Evas_Object *obj, const char *part); - - /* Elementary event callback functions */ - static void __item_selected_cb(void *data, Evas_Object *obj, void *event_info); - static void __back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __accelerated_composition_check_button_changed_cb(void *data, - Evas_Object *obj, void *event_info); - static void __external_video_player_check_button_changed_cb(void *data, - Evas_Object *obj, void *event_info); - - Evas_Object *m_genlist; - Evas_Object *m_back_button; - Evas_Object *m_accelerated_composition_check_button; - Evas_Object *m_external_video_player_check_button; - - Elm_Genlist_Item_Class m_seperator_item_class; - Elm_Genlist_Item_Class m_1_text_1_icon_item_class; - - genlist_callback_data m_accelerated_composition_callback_data; - genlist_callback_data m_accelerated_external_video_player_callback_data; - Browser_Settings_Main_View *m_main_view; -}; - -#endif /* BROWSER_SETTINGS_ACCELERATED_COMPOSITION_H */ - diff --git a/src/browser-settings/browser-settings-class.cpp b/src/browser-settings/browser-settings-class.cpp index 54ecc770..9c85bfc2 100755 --- a/src/browser-settings/browser-settings-class.cpp +++ b/src/browser-settings/browser-settings-class.cpp @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-settings-class.h" #include "browser-settings-main-view.h" diff --git a/src/browser-settings/browser-settings-class.h b/src/browser-settings/browser-settings-class.h index 7862c127..87085f93 100755 --- a/src/browser-settings/browser-settings-class.h +++ b/src/browser-settings/browser-settings-class.h @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_SETTINGS_CLASS_H #define BROWSER_SETTINGS_CLASS_H diff --git a/src/browser-settings/browser-settings-clear-data-view.cpp b/src/browser-settings/browser-settings-clear-data-view.cpp index 77a0f261..e664c57e 100755 --- a/src/browser-settings/browser-settings-clear-data-view.cpp +++ b/src/browser-settings/browser-settings-clear-data-view.cpp @@ -1,23 +1,22 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-class.h" + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-data-manager.h" #include "browser-history-db.h" -#include "browser-personal-data-manager.h" #include "browser-settings-clear-data-view.h" #include "browser-view.h" @@ -35,6 +34,7 @@ Browser_Settings_Clear_Data_View::Browser_Settings_Clear_Data_View(Browser_Setti ,m_back_button(NULL) ,m_bottom_control_bar(NULL) ,m_delete_controlbar_item(NULL) + ,m_cancel_controlbar_item(NULL) ,m_delete_confirm_popup(NULL) { BROWSER_LOGD("[%s]", __func__); @@ -71,17 +71,20 @@ void Browser_Settings_Clear_Data_View::_delete_private_data(void) } if (elm_check_state_get(m_cache_check_box)) { /* Clear cache */ - if (!ewk_cache_clear()) - BROWSER_LOGE("ewk_cache_clear failed"); + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_cache_clear(ewk_context); + ewk_context_web_indexed_database_delete_all(ewk_context); + ewk_context_application_cache_delete_all(ewk_context); + ewk_context_web_storage_delete_all(ewk_context); + ewk_context_web_database_delete_all(ewk_context); } if (elm_check_state_get(m_cookie_check_box)) { /* Clear cookie */ - ewk_cookies_clear(); + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_cookies_clear(ewk_context); } if (elm_check_state_get(m_saved_id_password_check_box)) { /* Clear saved id & password */ - if (!m_data_manager->get_browser_view()->get_personal_data_manager()->clear_personal_data()) - BROWSER_LOGE("clear_personal_data failed"); } } @@ -97,12 +100,12 @@ void Browser_Settings_Clear_Data_View::__delete_confirm_response_cb(void *data, evas_object_del(clear_data_view->m_delete_confirm_popup); - clear_data_view->_delete_private_data(); - clear_data_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); + clear_data_view->_delete_private_data(); + clear_data_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); - if (elm_naviframe_bottom_item_get(clear_data_view->m_navi_bar) - != elm_naviframe_top_item_get(clear_data_view->m_navi_bar)) - elm_naviframe_item_pop(clear_data_view->m_navi_bar); + if (elm_naviframe_bottom_item_get(clear_data_view->m_navi_bar) + != elm_naviframe_top_item_get(clear_data_view->m_navi_bar)) + elm_naviframe_item_pop(clear_data_view->m_navi_bar); } void Browser_Settings_Clear_Data_View::__cancel_confirm_response_cb(void *data, Evas_Object *obj, @@ -177,13 +180,13 @@ char *Browser_Settings_Clear_Data_View::__genlist_label_get(void *data, return strdup(BR_STRING_HISTORY); } else if (type == BR_CLEAR_CACHE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_CACHE); + return strdup(BR_STRING_CLEAR_CACHE); } else if (type == BR_CLEAR_COOKIE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_COOKIE); - } else if (type == BR_CLEAR_SAVED_ID_PASSWORD) { + return strdup(BR_STRING_COOKIES); + } else if (type == BR_CLEAR_SAVED_PASSWORD) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_SAVED_ID_PASSWORD); + return strdup(BR_STRING_CLEAR_PASSWORDS); } return NULL; @@ -317,7 +320,7 @@ Evas_Object *Browser_Settings_Clear_Data_View::__genlist_icon_get(void *data, } return clear_data_view->m_cookie_check_box; } - } else if (type == BR_CLEAR_SAVED_ID_PASSWORD) { + } else if (type == BR_CLEAR_SAVED_PASSWORD) { if(!strncmp(part, "elm.edit.icon.1", strlen("elm.edit.icon.1"))) { clear_data_view->m_saved_id_password_check_box = elm_check_add(obj); if (clear_data_view->m_saved_id_password_check_box) { @@ -367,7 +370,7 @@ void Browser_Settings_Clear_Data_View::__genlist_item_selected_cb(void *data, Ev else if (type == BR_CLEAR_COOKIE) elm_check_state_set(clear_data_view->m_cookie_check_box, !elm_check_state_get(clear_data_view->m_cookie_check_box)); - else if (type == BR_CLEAR_SAVED_ID_PASSWORD) + else if (type == BR_CLEAR_SAVED_PASSWORD) elm_check_state_set(clear_data_view->m_saved_id_password_check_box, !elm_check_state_get(clear_data_view->m_saved_id_password_check_box)); @@ -412,7 +415,7 @@ Evas_Object *Browser_Settings_Clear_Data_View::_create_genlist(void) &m_clear_cookie_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, __genlist_item_selected_cb, &m_clear_cookie_item_callback_data); - m_clear_saved_id_password_item_callback_data.type = BR_CLEAR_SAVED_ID_PASSWORD; + m_clear_saved_id_password_item_callback_data.type = BR_CLEAR_SAVED_PASSWORD; m_clear_saved_id_password_item_callback_data.user_data = this; m_clear_saved_id_password_item_callback_data.it = elm_genlist_item_append(genlist, &m_1text_item_class, &m_clear_saved_id_password_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, @@ -470,17 +473,9 @@ Eina_Bool Browser_Settings_Clear_Data_View::_create_main_layout(void) elm_genlist_decorate_mode_set(m_genlist, EINA_TRUE); - m_back_button = elm_button_add(m_content_box); - if (!m_back_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_back_button, "browser/bookmark_controlbar_back"); - evas_object_show(m_back_button); - evas_object_smart_callback_add(m_back_button, "clicked", __cancel_button_clicked_cb, this); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_CLEAR_PRIVATE_DATA, - m_back_button, NULL, m_content_box, "browser_titlebar"); + Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_DELETE_BROWSING_DATA, + NULL, NULL, m_content_box, "browser_titlebar"); + elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_PREV_BTN, NULL); m_bottom_control_bar = elm_toolbar_add(m_content_box); if (!m_bottom_control_bar) { @@ -490,16 +485,21 @@ Eina_Bool Browser_Settings_Clear_Data_View::_create_main_layout(void) elm_object_style_set(m_bottom_control_bar, "browser/default"); elm_toolbar_shrink_mode_set(m_bottom_control_bar, ELM_TOOLBAR_SHRINK_EXPAND); - Elm_Object_Item *empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(empty_item, EINA_TRUE); - m_delete_controlbar_item = elm_toolbar_item_append(m_bottom_control_bar, - BROWSER_IMAGE_DIR"/01_controlbar_icon_delete.png", NULL, + NULL, BR_STRING_DELETE, __delete_button_clicked_cb, this); elm_object_item_disabled_set(m_delete_controlbar_item, EINA_TRUE); + Elm_Object_Item *empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(empty_item, EINA_TRUE); + empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); elm_object_item_disabled_set(empty_item, EINA_TRUE); + + m_cancel_controlbar_item = elm_toolbar_item_append(m_bottom_control_bar, + NULL, BR_STRING_CANCEL, + __cancel_button_clicked_cb, this); + evas_object_show(m_bottom_control_bar); elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_CONTROLBAR, m_bottom_control_bar); diff --git a/src/browser-settings/browser-settings-clear-data-view.h b/src/browser-settings/browser-settings-clear-data-view.h index a0ea8e46..6071521a 100755 --- a/src/browser-settings/browser-settings-clear-data-view.h +++ b/src/browser-settings/browser-settings-clear-data-view.h @@ -1,18 +1,21 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + #ifndef BROWSER_SETTINGS_CLEAR_DATA_VIEW_H #define BROWSER_SETTINGS_CLEAR_DATA_VIEW_H @@ -29,7 +32,7 @@ public: BR_CLEAR_HISTORY, BR_CLEAR_CACHE, BR_CLEAR_COOKIE, - BR_CLEAR_SAVED_ID_PASSWORD, + BR_CLEAR_SAVED_PASSWORD, BR_MENU_UNKNOWN }menu_type; @@ -71,6 +74,7 @@ private: Evas_Object *m_delete_button; Evas_Object *m_bottom_control_bar; Elm_Object_Item *m_delete_controlbar_item; + Elm_Object_Item *m_cancel_controlbar_item; Evas_Object *m_select_all_check_box; Evas_Object *m_history_check_box; diff --git a/src/browser-settings/browser-settings-edit-homepage-view.cpp b/src/browser-settings/browser-settings-edit-homepage-view.cpp index b099340f..e87324ce 100755 --- a/src/browser-settings/browser-settings-edit-homepage-view.cpp +++ b/src/browser-settings/browser-settings-edit-homepage-view.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-settings-class.h" #include "browser-settings-edit-homepage-view.h" @@ -56,8 +58,8 @@ void Browser_Settings_Edit_Homepage_View::__done_button_clicked_cb(void *data, Evas_Object *entry = br_elm_editfield_entry_get(edit_homepage_view->m_edit_field); char *homepage = elm_entry_markup_to_utf8(elm_entry_entry_get(entry)); if (homepage) { - vconf_set_str(USER_HOMEPAGE_KEY, homepage); - vconf_set_str(HOMEPAGE_KEY, USER_HOMEPAGE); + br_preference_set_str(USER_HOMEPAGE_KEY, homepage); + br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE); free(homepage); } @@ -138,7 +140,11 @@ Eina_Bool Browser_Settings_Edit_Homepage_View::_create_main_layout(void) br_elm_editfield_label_set(m_edit_field, BR_STRING_URL); elm_object_part_content_set(m_content_layout, "elm.swallow.entry", m_edit_field); - char *homepage = vconf_get_str(USER_HOMEPAGE_KEY); + char *homepage = NULL; + if (br_preference_get_str(USER_HOMEPAGE_KEY, &homepage) == false) { + BROWSER_LOGE("failed to get %s preference\n", USER_HOMEPAGE_KEY); + return EINA_FALSE; + } Evas_Object *entry = br_elm_editfield_entry_get(m_edit_field); if (homepage) { elm_entry_entry_set(entry, homepage); diff --git a/src/browser-settings/browser-settings-edit-homepage-view.h b/src/browser-settings/browser-settings-edit-homepage-view.h index abb8d6d0..69893dbc 100755 --- a/src/browser-settings/browser-settings-edit-homepage-view.h +++ b/src/browser-settings/browser-settings-edit-homepage-view.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_SETTINGS_EDIT_HOMEPAGE_H #define BROWSER_SETTINGS_EDIT_HOMEPAGE_H diff --git a/src/browser-settings/browser-settings-main-view.cpp b/src/browser-settings/browser-settings-main-view.cpp index e36a811e..44be65c3 100755 --- a/src/browser-settings/browser-settings-main-view.cpp +++ b/src/browser-settings/browser-settings-main-view.cpp @@ -1,27 +1,31 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-view.h" #include "browser-data-manager.h" +#include "browser-history-db.h" #include "browser-settings-clear-data-view.h" #include "browser-settings-edit-homepage-view.h" #include "browser-settings-main-view.h" -#include "browser-settings-plugin-view.h" +#include "browser-settings-website-setting.h" + +#include "browser-geolocation-db.h" -#include "browser-settings-accelerated-composition.h" #include "browser-settings-user-agent-view.h" Browser_Settings_Main_View::Browser_Settings_Main_View(void) @@ -35,14 +39,21 @@ Browser_Settings_Main_View::Browser_Settings_Main_View(void) ,m_run_javascript_check(NULL) ,m_display_images_check(NULL) ,m_accept_cookies_check(NULL) + ,m_enable_location_check(NULL) + ,m_clear_location_confirm_popup(NULL) + ,m_clear_cache_confirm_popup(NULL) + ,m_clear_history_confirm_popup(NULL) ,m_clear_data_view(NULL) - ,m_default_storage_radio_group(NULL) - ,m_default_storage_mmc_radio_button(NULL) - ,m_plugin_view(NULL) ,m_block_popup_check(NULL) - ,m_user_agent_view(NULL) ,m_reset_confirm_popup(NULL) ,m_navi_it(NULL) + ,m_show_security_warnings_check(NULL) + ,m_clear_all_cookies_data_confirm_popup(NULL) + ,m_auto_save_id_pass_check(NULL) + ,m_clear_passwords_confirm_popup(NULL) + ,m_clear_form_data_confirm_popup(NULL) + ,m_website_setting(NULL) + ,m_user_agent_view(NULL) { BROWSER_LOGD("[%s]", __func__); } @@ -50,25 +61,25 @@ Browser_Settings_Main_View::Browser_Settings_Main_View(void) Browser_Settings_Main_View::~Browser_Settings_Main_View(void) { BROWSER_LOGD("[%s]", __func__); - if (vconf_ignore_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, __mmc_key_changed_cb) < 0) - BROWSER_LOGE("[%s]vconf_ignore_key_changed failed", VCONFKEY_SYSMAN_MMC_STATUS); if (m_edit_homepage_view) { delete m_edit_homepage_view; m_edit_homepage_view = NULL; - } + } if (m_clear_data_view) { delete m_clear_data_view; m_clear_data_view = NULL; } - if (m_plugin_view) { - delete m_plugin_view; - m_plugin_view = NULL; + if (m_website_setting) { + delete m_website_setting; + m_website_setting = NULL; } + if (m_user_agent_view) { delete m_user_agent_view; m_user_agent_view = NULL; } + evas_object_smart_callback_del(m_navi_bar, "transition,finished", __naviframe_pop_finished_cb); } @@ -106,7 +117,11 @@ void Browser_Settings_Main_View::__naviframe_pop_finished_cb(void *data , Evas_O main_view->m_edit_homepage_view = NULL; /* If back from edit user homepage, update the url string. */ - char* homepage = vconf_get_str(HOMEPAGE_KEY); + char* homepage = NULL; + if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) { + BROWSER_LOGE("failed to get %s preferenct\n", HOMEPAGE_KEY); + return; + } if (homepage) { if (!strncmp(homepage, USER_HOMEPAGE, strlen(USER_HOMEPAGE))) @@ -118,18 +133,34 @@ void Browser_Settings_Main_View::__naviframe_pop_finished_cb(void *data , Evas_O } } + if (main_view->m_edit_homepage_view) { + delete main_view->m_edit_homepage_view; + main_view->m_edit_homepage_view = NULL; + } + if (main_view->m_clear_data_view) { delete main_view->m_clear_data_view; main_view->m_clear_data_view = NULL; } - if (main_view->m_plugin_view) { - delete main_view->m_plugin_view; - main_view->m_plugin_view = NULL; - } if (main_view->m_user_agent_view) { delete main_view->m_user_agent_view; main_view->m_user_agent_view = NULL; } + + BROWSER_LOGD("main_view->m_website_setting = %d", main_view->m_website_setting); + if (main_view->m_website_setting) { + delete main_view->m_website_setting; + main_view->m_website_setting = NULL; + } + /*Disable website setting menu when there is no such data */ + Browser_Geolocation_DB *geo_db = main_view->get_data_manager()->get_geolocation_db(); + if ((geo_db->get_geolocation_info_count()) == 0) { + elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_TRUE); + Ewk_Context *context = ewk_context_default_get(); + ewk_context_application_cache_origins_get(context, main_view->__application_cache_origin_get_cb, main_view); + ewk_context_web_storage_origins_get(context, main_view->__web_storage_origin_get_cb, main_view); + ewk_context_web_database_origins_get(context, main_view->__web_database_origin_get_cb, main_view); + } } Eina_Bool Browser_Settings_Main_View::_create_main_layout(void) @@ -173,14 +204,6 @@ Eina_Bool Browser_Settings_Main_View::_create_main_layout(void) return EINA_FALSE; } elm_radio_state_value_set(m_auto_save_id_pass_radio_group, -1); - - m_default_storage_radio_group = elm_radio_add(m_genlist); - if (!m_default_storage_radio_group) { - BROWSER_LOGE("elm_radio_add failed."); - return EINA_FALSE; - } - elm_radio_state_value_set(m_default_storage_radio_group, -1); - m_navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_INTERNET, m_back_button, NULL, m_genlist, "browser_titlebar"); @@ -198,18 +221,29 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj Browser_Settings_Main_View::menu_type type = callback_data->type; Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data); - if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES - || type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE - || type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE) { + if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE +#if defined(FEATURE_MOST_VISITED_SITES) + || type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES +#endif + || type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE + || type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE + || type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE) { if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { Evas_Object *radio_button = elm_radio_add(obj); if (radio_button) { +#if defined(FEATURE_MOST_VISITED_SITES) if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES) elm_radio_state_value_set(radio_button, 0); - else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) + else +#endif + if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) elm_radio_state_value_set(radio_button, 1); else if (type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE) elm_radio_state_value_set(radio_button, 2); + else if (type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE) + elm_radio_state_value_set(radio_button, 3); + else if (type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE) + elm_radio_state_value_set(radio_button, 4); elm_radio_group_add(radio_button, main_view->m_homepage_radio_group); evas_object_propagate_events_set(radio_button, EINA_FALSE); @@ -217,10 +251,20 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj evas_object_smart_callback_add(radio_button, "changed", __homepage_sub_item_clicked_cb, data); - char* homepage = vconf_get_str(HOMEPAGE_KEY); + char* homepage = NULL; + if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) { + BROWSER_LOGE("failed to get %s preference\n", HOMEPAGE_KEY); + return NULL; + } + if (!homepage) { - vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES); +#if defined(FEATURE_MOST_VISITED_SITES) + br_preference_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES); homepage = strdup(MOST_VISITED_SITES); +#else + br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE); + homepage = strdup(USER_HOMEPAGE); +#endif } if (!homepage) { @@ -228,38 +272,48 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj return NULL; } +#if defined(FEATURE_MOST_VISITED_SITES) if (!strncmp(homepage, MOST_VISITED_SITES, strlen(MOST_VISITED_SITES))) elm_radio_value_set(main_view->m_homepage_radio_group, 0); - else if (!strncmp(homepage, RECENTLY_VISITED_SITE, + else +#endif + if (!strncmp(homepage, RECENTLY_VISITED_SITE, strlen(RECENTLY_VISITED_SITE))) elm_radio_value_set(main_view->m_homepage_radio_group, 1); else if (!strncmp(homepage, USER_HOMEPAGE, strlen(USER_HOMEPAGE))) elm_radio_value_set(main_view->m_homepage_radio_group, 2); + else if (!strncmp(homepage, EMPTY_PAGE, + strlen(EMPTY_PAGE))) + elm_radio_value_set(main_view->m_homepage_radio_group, 4); else elm_radio_value_set(main_view->m_homepage_radio_group, 3); - free(homepage); + free(homepage); } return radio_button; } - } else if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH - || type == BR_DISPLAY_SUBMENU_READABLE) { + } else if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH + || type == BR_CONTENT_SUBMENU_READABLE) { if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { Evas_Object *radio_button = elm_radio_add(obj); if (radio_button) { - if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH) + if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH) elm_radio_state_value_set(radio_button, 0); else elm_radio_state_value_set(radio_button, 1); elm_radio_group_add(radio_button, main_view->m_default_view_level_radio_group); - char *view_level = vconf_get_str(DEFAULT_VIEW_LEVEL_KEY); + char *view_level = NULL; + if (br_preference_get_str(DEFAULT_VIEW_LEVEL_KEY, &view_level) == false) { + BROWSER_LOGE("failed to get %s prefernece", DEFAULT_VIEW_LEVEL_KEY); + return NULL; + } if (!view_level) { - vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE); + br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE); view_level = strdup(BR_STRING_READABLE); } if (!view_level) { @@ -285,10 +339,8 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj evas_object_smart_callback_add(main_view->m_run_javascript_check, "changed", __run_javascript_check_changed_cb, main_view->m_run_javascript_check); - int run_javascript = 1; - if (vconf_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", RUN_JAVASCRIPT_KEY); - + bool run_javascript = 1; + br_preference_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript); elm_check_state_set(main_view->m_run_javascript_check, run_javascript); evas_object_propagate_events_set(main_view->m_run_javascript_check, EINA_FALSE); } @@ -302,10 +354,8 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj evas_object_smart_callback_add(main_view->m_display_images_check, "changed", __display_images_check_changed_cb, main_view->m_display_images_check); - int display_images = 1; - if (vconf_get_bool(DISPLAY_IMAGES_KEY, &display_images) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", DISPLAY_IMAGES_KEY); - + bool display_images = 1; + br_preference_get_bool(DISPLAY_IMAGES_KEY, &display_images); elm_check_state_set(main_view->m_display_images_check, display_images); evas_object_propagate_events_set(main_view->m_display_images_check, EINA_FALSE); } @@ -319,15 +369,58 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj evas_object_smart_callback_add(main_view->m_block_popup_check, "changed", __block_popup_check_changed_cb, main_view->m_block_popup_check); - int block_popup = 1; - if (vconf_get_bool(BLOCK_POPUP_KEY, &block_popup) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", BLOCK_POPUP_KEY); - + bool block_popup = 1; + br_preference_get_bool(BLOCK_POPUP_KEY, &block_popup); elm_check_state_set(main_view->m_block_popup_check, block_popup); evas_object_propagate_events_set(main_view->m_block_popup_check, EINA_FALSE); } return main_view->m_block_popup_check; } + } else if (type == BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS) { + if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + main_view->m_show_security_warnings_check = elm_check_add(obj); + if (main_view->m_show_security_warnings_check) { + elm_object_style_set(main_view->m_show_security_warnings_check, "on&off"); + evas_object_smart_callback_add(main_view->m_show_security_warnings_check, "changed", + __show_security_warnings_check_changed_cb, main_view->m_show_security_warnings_check); + + bool show_security_warnings = 1; + br_preference_get_bool(SHOW_SECURITY_WARNINGS_KEY, &show_security_warnings); + elm_check_state_set(main_view->m_show_security_warnings_check, show_security_warnings); + evas_object_propagate_events_set(main_view->m_show_security_warnings_check, EINA_FALSE); + } + return main_view->m_show_security_warnings_check; + } + } else if (type == BR_PRIVACY_MENU_REMEMBER_FORM_DATA) { + if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + main_view->m_auto_save_form_data_check = elm_check_add(obj); + if (main_view->m_auto_save_form_data_check) { + elm_object_style_set(main_view->m_auto_save_form_data_check, "on&off"); + evas_object_smart_callback_add(main_view->m_auto_save_form_data_check, "changed", + __auto_save_form_data_check_changed_cb, main_view->m_auto_save_form_data_check); + + bool auto_save_form = false; + br_preference_get_bool(AUTO_SAVE_FORM_DATA_KEY, &auto_save_form); + elm_check_state_set(main_view->m_auto_save_form_data_check, auto_save_form); + evas_object_propagate_events_set(main_view->m_auto_save_form_data_check, EINA_FALSE); + } + return main_view->m_auto_save_form_data_check; + } + } else if (type == BR_PRIVACY_MENU_REMEMBER_PASSWORDS) { + if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + main_view->m_auto_save_id_pass_check = elm_check_add(obj); + if (main_view->m_auto_save_id_pass_check) { + elm_object_style_set(main_view->m_auto_save_id_pass_check, "on&off"); + evas_object_smart_callback_add(main_view->m_auto_save_id_pass_check, "changed", + __auto_save_id_pass_check_changed_cb, main_view->m_auto_save_id_pass_check); + + bool auto_save = false; + br_preference_get_bool(AUTO_SAVE_ID_PASSWORD_KEY, &auto_save); + elm_check_state_set(main_view->m_auto_save_id_pass_check, auto_save); + evas_object_propagate_events_set(main_view->m_auto_save_id_pass_check, EINA_FALSE); + } + return main_view->m_auto_save_id_pass_check; + } } else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) { if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { main_view->m_accept_cookies_check = elm_check_add(obj); @@ -336,15 +429,28 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj evas_object_smart_callback_add(main_view->m_accept_cookies_check, "changed", __accept_cookies_check_changed_cb, main_view->m_accept_cookies_check); - int accept_cookies = 1; - if (vconf_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies) < 0) - BROWSER_LOGE("Can not get [%s] value.\n", ACCEPT_COOKIES_KEY); - + bool accept_cookies = 1; + br_preference_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies); elm_check_state_set(main_view->m_accept_cookies_check, accept_cookies); evas_object_propagate_events_set(main_view->m_accept_cookies_check, EINA_FALSE); } return main_view->m_accept_cookies_check; } + } else if (type == BR_PRIVACY_MENU_ENABLE_LOCATION) { + if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + main_view->m_enable_location_check = elm_check_add(obj); + if (main_view->m_enable_location_check) { + elm_object_style_set(main_view->m_enable_location_check, "on&off"); + evas_object_smart_callback_add(main_view->m_enable_location_check, "changed", + __enable_location_check_changed_cb, main_view); + + bool enable_location = 1; + br_preference_get_bool(ENABLE_LOCATION_KEY, &enable_location); + elm_check_state_set(main_view->m_enable_location_check, enable_location); + evas_object_propagate_events_set(main_view->m_enable_location_check, EINA_FALSE); + } + return main_view->m_enable_location_check; + } } else if (type == BR_PRIVACY_SUBMENU_ALWAYS_ASK || type == BR_PRIVACY_SUBMENU_ALWAYS_ON || type == BR_PRIVACY_SUBMENU_ALWAYS_OFF) { @@ -360,9 +466,13 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj elm_radio_group_add(radio_button, main_view->m_auto_save_id_pass_radio_group); - char* auto_save = vconf_get_str(AUTO_SAVE_ID_PASSWORD_KEY); + char* auto_save = NULL; + if (br_preference_get_str(AUTO_SAVE_ID_PASSWORD_KEY, &auto_save) == false) { + BROWSER_LOGE("failed to get %s preference\n", AUTO_SAVE_ID_PASSWORD_KEY); + return NULL; + } if (!auto_save) { - vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK); + br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK); auto_save = strdup(ALWAYS_ASK); } @@ -381,47 +491,6 @@ Evas_Object *Browser_Settings_Main_View::__genlist_icon_get(void *data, Evas_Obj free(auto_save); } - return radio_button; - } - } else if (type == BR_STORAGE_SUBMENU_PHONE - || type == BR_STORAGE_SUBMENU_MEMORY_CARD) { - if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { - Evas_Object *radio_button = elm_radio_add(obj); - if (radio_button) { - if (type == BR_STORAGE_SUBMENU_PHONE) - elm_radio_state_value_set(radio_button, 0); - else { - main_view->m_default_storage_mmc_radio_button = radio_button; - elm_radio_state_value_set(radio_button, 1); - } - - elm_radio_group_add(radio_button, main_view->m_default_storage_radio_group); - - int current_storage = SETTING_DEF_MEMORY_PHONE; - if(vconf_get_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, ¤t_storage) < 0) - { - vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE); - current_storage = SETTING_DEF_MEMORY_PHONE; - } - int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED; - if (vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) { - BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SYSMAN_MMC_STATUS); - mmc = SETTING_DEF_MEMORY_MMC; - } - if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED) - elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_FALSE); - else - elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_TRUE); - - if (current_storage == SETTING_DEF_MEMORY_PHONE) - elm_radio_value_set(main_view->m_default_storage_radio_group, 0); - else if (current_storage == SETTING_DEF_MEMORY_MMC) { - if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED) - elm_radio_value_set(main_view->m_default_storage_radio_group, 1); - else - elm_radio_value_set(main_view->m_default_storage_radio_group, 0); - } - } return radio_button; } } @@ -435,8 +504,7 @@ void Browser_Settings_Main_View::__run_javascript_check_changed_cb(void *data, BROWSER_LOGD("[%s]", __func__); const char *key = RUN_JAVASCRIPT_KEY; Eina_Bool state = elm_check_state_get((Evas_Object*)data); - if (vconf_set_bool(key, state) != 0) - SLOGE("Key: %s, FAILED", key); + br_preference_set_bool(key, state); } void Browser_Settings_Main_View::__display_images_check_changed_cb(void *data, @@ -445,8 +513,7 @@ void Browser_Settings_Main_View::__display_images_check_changed_cb(void *data, BROWSER_LOGD("[%s]", __func__); const char *key = DISPLAY_IMAGES_KEY; Eina_Bool state = elm_check_state_get((Evas_Object*)data); - if (vconf_set_bool(key, state) != 0) - SLOGE("Key: %s, FAILED", key); + br_preference_set_bool(key, state); } void Browser_Settings_Main_View::__block_popup_check_changed_cb(void *data, @@ -455,8 +522,34 @@ void Browser_Settings_Main_View::__block_popup_check_changed_cb(void *data, BROWSER_LOGD("[%s]", __func__); const char *key = BLOCK_POPUP_KEY; Eina_Bool state = elm_check_state_get((Evas_Object*)data); - if (vconf_set_bool(key, state) != 0) - SLOGE("Key: %s, FAILED", key); + br_preference_set_bool(key, state); +} + +void Browser_Settings_Main_View::__show_security_warnings_check_changed_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + const char *key = SHOW_SECURITY_WARNINGS_KEY; + Eina_Bool state = elm_check_state_get((Evas_Object*)data); + br_preference_set_bool(key, state); +} + +void Browser_Settings_Main_View::__auto_save_form_data_check_changed_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + const char *key = AUTO_SAVE_FORM_DATA_KEY; + Eina_Bool state = elm_check_state_get((Evas_Object*)data); + br_preference_set_bool(key, state); +} + +void Browser_Settings_Main_View::__auto_save_id_pass_check_changed_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + const char *key = AUTO_SAVE_ID_PASSWORD_KEY; + Eina_Bool state = elm_check_state_get((Evas_Object*)data); + br_preference_set_bool(key, state); } void Browser_Settings_Main_View::__accept_cookies_check_changed_cb(void *data, @@ -465,12 +558,30 @@ void Browser_Settings_Main_View::__accept_cookies_check_changed_cb(void *data, BROWSER_LOGD("[%s]", __func__); const char *key = ACCEPT_COOKIES_KEY; Eina_Bool state = elm_check_state_get((Evas_Object*)data); - if (vconf_set_bool(key, state) != 0) - SLOGE("Key: %s, FAILED", key); + br_preference_set_bool(key, state); +} + +void Browser_Settings_Main_View::__enable_location_check_changed_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) { + BROWSER_LOGE("data is null"); + return; + } + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + const char *key = ENABLE_LOCATION_KEY; + + Eina_Bool state = elm_check_state_get(obj); + br_preference_set_bool(key, state); + + elm_object_item_disabled_set(main_view->m_clear_location_access_callback_data.it, !state); } char *Browser_Settings_Main_View::__genlist_label_get(void *data, Evas_Object *obj, const char *part) -{ +{ if (!data) return NULL; @@ -485,16 +596,27 @@ char *Browser_Settings_Main_View::__genlist_label_get(void *data, Evas_Object *o if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) return strdup(BR_STRING_HOMEPAGE); else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) { - char *homepage = vconf_get_str(HOMEPAGE_KEY); + char *homepage = NULL; + if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) { + BROWSER_LOGE("failed to get %s preference\n", HOMEPAGE_KEY); + return NULL; + } BROWSER_LOGD("homepage = %s", homepage); if (homepage) { +#if defined(FEATURE_MOST_VISITED_SITES) if (!strncmp(homepage, MOST_VISITED_SITES, strlen(MOST_VISITED_SITES))) { free(homepage); - return strdup(BR_STRING_EMPTY_PAGE); - } else if (!strncmp(homepage, RECENTLY_VISITED_SITE, + return strdup(BR_STRING_MOST_VISITED_SITES); + } else +#endif + if (!strncmp(homepage, RECENTLY_VISITED_SITE, strlen(RECENTLY_VISITED_SITE))) { free(homepage); return strdup(BR_STRING_RECENTLY_VISITED_SITE); + } else if (!strncmp(homepage, EMPTY_PAGE, + strlen(EMPTY_PAGE))) { + free(homepage); + return strdup(BR_STRING_BLANK_PAGE); } else { free(homepage); return strdup(BR_STRING_USER_HOMEPAGE); @@ -502,23 +624,40 @@ char *Browser_Settings_Main_View::__genlist_label_get(void *data, Evas_Object *o } return NULL; } - } else if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES) { + } +#if defined(FEATURE_MOST_VISITED_SITES) + else if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_EMPTY_PAGE); - } else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) { + return strdup(BR_STRING_MOST_VISITED_SITES); + } +#endif + else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_RECENTLY_VISITED_SITE); } else if (type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE) { + if (!strncmp(part, "elm.text", strlen("elm.text"))) { + char *homepage = NULL; + if (br_preference_get_str(USER_HOMEPAGE_KEY, &homepage) == false) { + BROWSER_LOGE("failed to get %s preference\n", USER_HOMEPAGE_KEY); + return NULL; + } + return homepage; + } + } else if (type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return vconf_get_str(USER_HOMEPAGE_KEY); - } else if (type == BR_DISPLAY_TITLE) { + return strdup(BR_STRING_CURRENT_PAGE); + } else if (type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_DISPLAY); - } else if (type == BR_DISPLAY_MENU_DEFAULT_VIEW_LEVEL) { + return strdup(BR_STRING_BLANK_PAGE); + } else if (type == BR_CONTENT_MENU_DEFAULT_VIEW_LEVEL) { if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) return strdup(BR_STRING_DEFAULT_VIEW_LEVEL); else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) { - char *view_level = vconf_get_str(DEFAULT_VIEW_LEVEL_KEY); + char *view_level = NULL; + if (br_preference_get_str(DEFAULT_VIEW_LEVEL_KEY, &view_level) == false) { + BROWSER_LOGE("failed to get %s preference\n", DEFAULT_VIEW_LEVEL_KEY); + return NULL; + } if (view_level) { if (!strncmp(view_level, FIT_TO_WIDTH, strlen(FIT_TO_WIDTH))) { free(view_level); @@ -530,50 +669,61 @@ char *Browser_Settings_Main_View::__genlist_label_get(void *data, Evas_Object *o } return NULL; } - } else if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH) { + } else if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_FIT_TO_WIDTH); - } else if (type == BR_DISPLAY_SUBMENU_READABLE) { + } else if (type == BR_CONTENT_SUBMENU_READABLE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_READABLE); } else if (type == BR_CONTENT_TITLE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_CONTENT); + return strdup(BR_STRING_CONTENT_SETTINGS); } else if (type == BR_CONTENT_MENU_RUN_JAVASCRIPT) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_RUN_JAVASCRIPT); } else if (type == BR_CONTENT_MENU_DISPLAY_IMAGES) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_DISPLAY_IMAGES); + return strdup(BR_STRING_SHOW_IMAGES); } else if (type == BR_CONTENT_MENU_BLOCK_POPUP) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_BLOCK_POPUP); } else if (type == BR_PRIVACY_TITLE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_PRIVACY); - } else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) { + return strdup(BR_STRING_PRIVACY_AND_SECURTY); + } else if (type == BR_PRIVATE_MENU_CLEAR_CACHE) { + if (!strncmp(part, "elm.text", strlen("elm.text"))) + return strdup(BR_STRING_CLEAR_CACHE); + } else if (type == BR_PRIVATE_MENU_CLEAR_HISTORY) { + if (!strncmp(part, "elm.text", strlen("elm.text"))) + return strdup(BR_STRING_CLEAR_HISTORY); + } else if (type == BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS) { if (!strncmp(part, "elm.text", strlen("elm.text"))) + return strdup(BR_STRING_SHOW_SECURITY_WARNINGS); + } else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_COOKIES); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) return strdup(BR_STRING_ACCEPT_COOKIES); - } else if (type == BR_PRIVACY_MENU_AUTOSAVE_ID_PASSWORD) { - if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) - return strdup(BR_STRING_AUTO_SAVE_ID_PASSWORD); - else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) { - char *auto_save = vconf_get_str(AUTO_SAVE_ID_PASSWORD_KEY); - BROWSER_LOGD("auto_save = %s", auto_save); - if (auto_save) { - if (!strncmp(auto_save, ALWAYS_ASK, strlen(ALWAYS_ASK))) { - free(auto_save); - return strdup(BR_STRING_ALWAYS_ASK); - } else if (!strncmp(auto_save, ALWAYS_ON, strlen(ALWAYS_ON))) { - free(auto_save); - return strdup(BR_STRING_ON); - } else { - free(auto_save); - return strdup(BR_STRING_OFF); - } - } - return NULL; - } + } else if (type == BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_COOKIES); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_CLEAR_ALL_COOKIE_DATA); + } else if (type == BR_PRIVACY_MENU_REMEMBER_FORM_DATA) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_FORMDATA); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_REMEMBER_FORMDATA); + } else if (type == BR_PRIVACY_CLEAR_FORM_DATA) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_FORMDATA); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_CLEAR_FORMDATA); + } else if (type == BR_PRIVACY_MENU_REMEMBER_PASSWORDS) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_PASSWORDS); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_REMEMBER_PASSWORDS); } else if (type == BR_PRIVACY_SUBMENU_ALWAYS_ASK) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_ALWAYS_ASK); @@ -585,51 +735,31 @@ char *Browser_Settings_Main_View::__genlist_label_get(void *data, Evas_Object *o return strdup(BR_STRING_OFF); } else if (type == BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_CLEAR_PRIVATE_DATA); + return strdup(BR_STRING_DELETE_BROWSING_DATA); + } else if (type == BR_PRIVACY_MENU_ENABLE_LOCATION) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_LOCATION); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_ENABLE_LOCATION); + } else if (type == BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_LOCATION); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_CLEAR_LOCATION_ACCESS); + } else if (type == BR_PRIVACY_CLEAR_PASSWORDS) { + if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) + return strdup(BR_STRING_PASSWORDS); + else if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) + return strdup(BR_STRING_CLEAR_PASSWORDS); + } else if (type == BR_PRIVACY_WEBSITE_SETTING) { + if (!strncmp(part, "elm.text", strlen("elm.text"))) + return strdup(BR_STRING_WEBSITE_SETTINGS); } else if (type == BR_DEBUG_TITLE) { if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_DEBUG); + return strdup(BR_STRING_DEVELOPER_MODE); } else if (type == BR_MENU_USER_AGENT) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_USER_AGENT); - } else if (type == BR_STORAGE_TITLE) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_STORAGE); - } else if (type == BR_STORAGE_MENU_DEFAULT_STORAGE) { - if (!strncmp(part, "elm.text.1", strlen("elm.text.1"))) - return strdup(BR_STRING_DEFAULT_STORAGE); - else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) { - int current_storage = SETTING_DEF_MEMORY_PHONE; - if(vconf_get_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, ¤t_storage) < 0) { - BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT); - return strdup(BR_STRING_PHONE); - } - if (current_storage == SETTING_DEF_MEMORY_PHONE) - return strdup(BR_STRING_PHONE); - else { - int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED; - if (vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) { - BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SYSMAN_MMC_STATUS); - return strdup(BR_STRING_MEMORY_CARD); - } - if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED) - return strdup(BR_STRING_MEMORY_CARD); - else - return strdup(BR_STRING_PHONE); - } - } - } else if (type == BR_STORAGE_SUBMENU_PHONE) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_PHONE); - } else if (type == BR_STORAGE_SUBMENU_MEMORY_CARD) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_MEMORY_CARD); - } else if (type == BR_MENU_PLUGINS) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(BR_STRING_PLUGINS); - } else if (type == BR_MENU_ACCELERATED_COMPOSITION) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup("Accelerated composition"); } else if (type == BR_MENU_RESET_TO_DEFAULT) { if (!strncmp(part, "elm.text", strlen("elm.text"))) return strdup(BR_STRING_RESET_TO_DEFAULT); @@ -649,19 +779,32 @@ void Browser_Settings_Main_View::__homepage_sub_item_clicked_cb(void *data, Evas Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data); int radio_value = 0; +#if defined(FEATURE_MOST_VISITED_SITES) if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES) radio_value = 0; - else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) + else +#endif + if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) radio_value = 1; else if (type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE) radio_value = 2; + else if (type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE) + radio_value = 3; + else if (type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE) + radio_value = 4; elm_radio_value_set(main_view->m_homepage_radio_group, radio_value); + if (radio_value == 3) + elm_radio_value_set(main_view->m_homepage_radio_group, 2); + +#if defined(FEATURE_MOST_VISITED_SITES) if (radio_value == 0) - vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES); - else if (radio_value == 1) - vconf_set_str(HOMEPAGE_KEY, RECENTLY_VISITED_SITE); + br_preference_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES); + else +#endif + if (radio_value == 1) + br_preference_set_str(HOMEPAGE_KEY, RECENTLY_VISITED_SITE); else if (radio_value == 2) { main_view->m_edit_homepage_view = new(nothrow) Browser_Settings_Edit_Homepage_View(main_view); if (!main_view->m_edit_homepage_view) { @@ -673,7 +816,15 @@ void Browser_Settings_Main_View::__homepage_sub_item_clicked_cb(void *data, Evas delete main_view->m_edit_homepage_view; main_view->m_edit_homepage_view = NULL; } + } else if (radio_value == 3) { + br_preference_set_str(USER_HOMEPAGE_KEY, m_data_manager->get_browser_view()->get_url().c_str()); + br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE); + + elm_genlist_item_update(main_view->m_user_homepage_item_callback_data.it); + } else if (radio_value == 4) { + br_preference_set_str(HOMEPAGE_KEY, EMPTY_PAGE); } + elm_genlist_item_update(main_view->m_homepage_item_callback_data.it); elm_genlist_item_selected_set(callback_data->it, EINA_FALSE); @@ -690,17 +841,17 @@ void Browser_Settings_Main_View::__default_view_level_sub_item_clicked_cb(void * Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data); int radio_value = 0; - if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH) + if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH) radio_value = 0; - else if (type == BR_DISPLAY_SUBMENU_READABLE) + else if (type == BR_CONTENT_SUBMENU_READABLE) radio_value = 1; if (elm_radio_value_get(main_view->m_default_view_level_radio_group) != radio_value) { elm_radio_value_set(main_view->m_default_view_level_radio_group, radio_value); if (radio_value == 0) - vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, FIT_TO_WIDTH); + br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, FIT_TO_WIDTH); else - vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE); + br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE); elm_genlist_item_update(main_view->m_defailt_view_level_item_callback_data.it); } @@ -729,11 +880,11 @@ void Browser_Settings_Main_View::__auto_save_id_pass_sub_item_clicked_cb(void *d if (elm_radio_value_get(main_view->m_auto_save_id_pass_radio_group) != radio_value) { elm_radio_value_set(main_view->m_auto_save_id_pass_radio_group, radio_value); if (radio_value == 0) - vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK); + br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK); else if (radio_value == 1) - vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ON); + br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ON); else if (radio_value == 2) - vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_OFF); + br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_OFF); elm_genlist_item_update(main_view->m_auto_save_item_callback_data.it); } @@ -741,39 +892,6 @@ void Browser_Settings_Main_View::__auto_save_id_pass_sub_item_clicked_cb(void *d elm_genlist_item_selected_set(callback_data->it, EINA_FALSE); } -void Browser_Settings_Main_View::__default_storage_sub_item_clicked_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Main_View::menu_type type = callback_data->type; - Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data); - - int radio_value = 0; - if (type == BR_STORAGE_SUBMENU_PHONE) - radio_value = 0; - else - radio_value = 1; - - if (elm_radio_value_get(main_view->m_default_storage_radio_group) != radio_value) { - elm_radio_value_set(main_view->m_default_storage_radio_group, radio_value); - if (radio_value == 0) { - if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) < 0) - BROWSER_LOGE("[%s]vconf_set_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT); - } - else if (radio_value == 1 - && elm_object_disabled_get(main_view->m_default_storage_mmc_radio_button) == EINA_FALSE) - if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_MMC) < 0) - BROWSER_LOGE("[%s]vconf_set_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT); - - elm_genlist_item_update(main_view->m_default_storage_item_callback_data.it); - } - - elm_genlist_item_selected_set(callback_data->it, EINA_FALSE); -} - void Browser_Settings_Main_View::__expandable_icon_clicked_cb(void *data, Evas_Object *obj, void *event_info) { @@ -796,13 +914,21 @@ void Browser_Settings_Main_View::__expandable_icon_clicked_cb(void *data, Evas_O } else { elm_genlist_item_expanded_set(it, EINA_TRUE); if (it == main_view->m_homepage_item_callback_data.it) { + BROWSER_LOGD("__expandable_icon_clicked_cb - homepage"); /* If homepage menu. */ - main_view->m_most_visited_item_callback_data.type = BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES; - main_view->m_most_visited_item_callback_data.user_data = main_view; - main_view->m_most_visited_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), - &(main_view->m_most_visited_item_callback_data), it, + main_view->m_current_page_item_callback_data.type = BR_HOMEPAGE_SUBMENU_CURRENT_PAGE; + main_view->m_current_page_item_callback_data.user_data = main_view; + main_view->m_current_page_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), + &(main_view->m_current_page_item_callback_data), it, ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb, - &(main_view->m_most_visited_item_callback_data)); + &(main_view->m_current_page_item_callback_data)); + + main_view->m_empty_page_item_callback_data.type = BR_HOMEPAGE_SUBMENU_EMPTY_PAGE; + main_view->m_empty_page_item_callback_data.user_data = main_view; + main_view->m_empty_page_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), + &(main_view->m_empty_page_item_callback_data), it, + ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb, + &(main_view->m_empty_page_item_callback_data)); main_view->m_recently_visited_item_callback_data.type = BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE; main_view->m_recently_visited_item_callback_data.user_data = main_view; @@ -811,27 +937,41 @@ void Browser_Settings_Main_View::__expandable_icon_clicked_cb(void *data, Evas_O ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb, &(main_view->m_recently_visited_item_callback_data)); +#if defined(FEATURE_MOST_VISITED_SITES) + main_view->m_most_visited_item_callback_data.type = BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES; + main_view->m_most_visited_item_callback_data.user_data = main_view; + main_view->m_most_visited_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), + &(main_view->m_most_visited_item_callback_data), it, + ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb, + &(main_view->m_most_visited_item_callback_data)); +#endif + main_view->m_user_homepage_item_callback_data.type = BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE; main_view->m_user_homepage_item_callback_data.user_data = main_view; main_view->m_user_homepage_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), &(main_view->m_user_homepage_item_callback_data), it, ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb, &(main_view->m_user_homepage_item_callback_data)); + + if (m_data_manager->get_browser_view()->get_url().empty()) + elm_object_item_disabled_set(main_view->m_current_page_item_callback_data.it, EINA_TRUE); } else if (it == main_view->m_defailt_view_level_item_callback_data.it) { - main_view->m_fit_to_width_item_callback_data.type = BR_DISPLAY_SUBMENU_FIT_TO_WIDTH; + BROWSER_LOGD("__expandable_icon_clicked_cb - default view"); + main_view->m_fit_to_width_item_callback_data.type = BR_CONTENT_SUBMENU_FIT_TO_WIDTH; main_view->m_fit_to_width_item_callback_data.user_data = main_view; main_view->m_fit_to_width_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), &(main_view->m_fit_to_width_item_callback_data), it, ELM_GENLIST_ITEM_NONE, __default_view_level_sub_item_clicked_cb, &(main_view->m_fit_to_width_item_callback_data)); - main_view->m_readable_item_callback_data.type = BR_DISPLAY_SUBMENU_READABLE; + main_view->m_readable_item_callback_data.type = BR_CONTENT_SUBMENU_READABLE; main_view->m_readable_item_callback_data.user_data = main_view; main_view->m_readable_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), &(main_view->m_readable_item_callback_data), it, ELM_GENLIST_ITEM_NONE, __default_view_level_sub_item_clicked_cb, &(main_view->m_readable_item_callback_data)); } else if (it == main_view->m_auto_save_item_callback_data.it) { + BROWSER_LOGD("__expandable_icon_clicked_cb - autosave"); main_view->m_auto_save_always_ask_item_callback_data.type = BR_PRIVACY_SUBMENU_ALWAYS_ASK; main_view->m_auto_save_always_ask_item_callback_data.user_data = main_view; main_view->m_auto_save_always_ask_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), @@ -852,29 +992,6 @@ void Browser_Settings_Main_View::__expandable_icon_clicked_cb(void *data, Evas_O &(main_view->m_auto_save_always_off_item_callback_data), it, ELM_GENLIST_ITEM_NONE, __auto_save_id_pass_sub_item_clicked_cb, &(main_view->m_auto_save_always_off_item_callback_data)); - } else if (it == main_view->m_default_storage_item_callback_data.it) { - main_view->m_default_storage_phone_item_callback_data.type = BR_STORAGE_SUBMENU_PHONE; - main_view->m_default_storage_phone_item_callback_data.user_data = main_view; - main_view->m_default_storage_phone_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), - &(main_view->m_default_storage_phone_item_callback_data), it, - ELM_GENLIST_ITEM_NONE, __default_storage_sub_item_clicked_cb, - &(main_view->m_default_storage_phone_item_callback_data)); - main_view->m_default_storage_mmc_item_callback_data.type = BR_STORAGE_SUBMENU_MEMORY_CARD; - main_view->m_default_storage_mmc_item_callback_data.user_data = main_view; - main_view->m_default_storage_mmc_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class), - &(main_view->m_default_storage_mmc_item_callback_data), it, - ELM_GENLIST_ITEM_NONE, __default_storage_sub_item_clicked_cb, - &(main_view->m_default_storage_mmc_item_callback_data)); - - int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED; - if (vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) { - BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SYSMAN_MMC_STATUS); - mmc = SETTING_DEF_MEMORY_MMC; - } - if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED) - elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_FALSE); - else - elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_TRUE); } } @@ -905,10 +1022,26 @@ void Browser_Settings_Main_View::__on_off_check_clicked_cb(void *data, Evas_Obje state = elm_check_state_get(main_view->m_block_popup_check); elm_check_state_set(main_view->m_block_popup_check, !state); __block_popup_check_changed_cb(main_view->m_block_popup_check, NULL, NULL); + } else if (type == BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS) { + state = elm_check_state_get(main_view->m_show_security_warnings_check); + elm_check_state_set(main_view->m_show_security_warnings_check, !state); + __show_security_warnings_check_changed_cb(main_view->m_show_security_warnings_check, NULL, NULL); + } else if (type == BR_PRIVACY_MENU_REMEMBER_FORM_DATA) { + state = elm_check_state_get(main_view->m_auto_save_form_data_check); + elm_check_state_set(main_view->m_auto_save_form_data_check, !state); + __auto_save_form_data_check_changed_cb(main_view->m_auto_save_form_data_check, NULL, NULL); + }else if (type == BR_PRIVACY_MENU_REMEMBER_PASSWORDS) { + state = elm_check_state_get(main_view->m_auto_save_id_pass_check); + elm_check_state_set(main_view->m_auto_save_id_pass_check, !state); + __auto_save_id_pass_check_changed_cb(main_view->m_auto_save_id_pass_check, NULL, NULL); } else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) { state = elm_check_state_get(main_view->m_accept_cookies_check); elm_check_state_set(main_view->m_accept_cookies_check, !state); __accept_cookies_check_changed_cb(main_view->m_accept_cookies_check, NULL, NULL); + } else if (type == BR_PRIVACY_MENU_ENABLE_LOCATION) { + state = elm_check_state_get(main_view->m_enable_location_check); + elm_check_state_set(main_view->m_enable_location_check, !state); + __enable_location_check_changed_cb(main_view, main_view->m_enable_location_check, NULL); } elm_genlist_item_selected_set(callback_data->it, EINA_FALSE); } @@ -916,6 +1049,7 @@ void Browser_Settings_Main_View::__on_off_check_clicked_cb(void *data, Evas_Obje Eina_Bool Browser_Settings_Main_View::_call_user_agent(void) { BROWSER_LOGD("[%s]", __func__); + if (m_user_agent_view) delete m_user_agent_view; m_user_agent_view = new(nothrow) Browser_Settings_User_Agent_View(this); @@ -954,37 +1088,38 @@ void Browser_Settings_Main_View::__genlist_item_clicked_cb(void *data, Evas_Obje main_view->m_clear_data_view = NULL; return; } - } else if (type == BR_MENU_USER_AGENT) { - if (!main_view->_call_user_agent()) - BROWSER_LOGE("_call_user_agent failed"); - } - else if (type == BR_MENU_PLUGINS) { - main_view->m_plugin_view = new(nothrow) Browser_Settings_Plugin_View(main_view); - if (!main_view->m_plugin_view) { - BROWSER_LOGE("new Browser_Settings_Plugin_View failed"); - return; - } - if (!main_view->m_plugin_view->init()) { - BROWSER_LOGE("m_plugin_view->init failed"); - delete main_view->m_plugin_view; - main_view->m_plugin_view = NULL; + } else if (type == BR_PRIVATE_MENU_CLEAR_CACHE) { + main_view->_show_clear_cache_confirm_popup(); + } else if (type == BR_PRIVATE_MENU_CLEAR_HISTORY) { + main_view->_show_clear_history_confirm_popup(); + } else if (type == BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA) { + main_view->_show_clear_all_cookie_data_confirm_popup(); + } else if (type == BR_PRIVACY_CLEAR_FORM_DATA) { + main_view->_show_clear_form_data_confirm_popup(); + } else if (type == BR_PRIVACY_CLEAR_PASSWORDS) { + main_view->_show_clear_passwords_confirm_popup(); + } else if (type == BR_PRIVACY_WEBSITE_SETTING) { + BROWSER_LOGD("Web sites setting"); + if (main_view->m_website_setting) + delete main_view->m_website_setting; + main_view->m_website_setting = new(nothrow) Browser_Settings_Website_Setting(main_view); + if (!main_view->m_website_setting) { + BROWSER_LOGE("new Browser_Settings_Website_Setting failed"); return; } - } - else if (type == BR_MENU_ACCELERATED_COMPOSITION) { - main_view->m_accelerated_composition_view = new(nothrow) Browser_Settings_Accelerated_Composition(main_view); - if (!main_view->m_accelerated_composition_view) { - BROWSER_LOGE("new Browser_Settings_Accelerated_Composition failed"); - return; - } - if (!main_view->m_accelerated_composition_view->init()) { - BROWSER_LOGE("m_accelerated_composition_view->init failed"); - delete main_view->m_accelerated_composition_view; - main_view->m_accelerated_composition_view = NULL; + if (!main_view->m_website_setting->init()) { + BROWSER_LOGE("m_website_setting->init failed"); + delete main_view->m_website_setting; + main_view->m_website_setting = NULL; return; } + } else if (type == BR_MENU_USER_AGENT) { + if (!main_view->_call_user_agent()) + BROWSER_LOGE("_call_user_agent failed"); } else if (type == BR_MENU_RESET_TO_DEFAULT) { main_view->_show_reset_confirm_popup(); + } else if (type == BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS) { + main_view->_show_clear_location_confirm_popup(); } elm_genlist_item_selected_set(callback_data->it, EINA_FALSE); @@ -993,31 +1128,21 @@ void Browser_Settings_Main_View::__genlist_item_clicked_cb(void *data, Evas_Obje void Browser_Settings_Main_View::_reset_settings(void) { BROWSER_LOGD("[%s]", __func__); - if (vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES) < 0) - BROWSER_LOGE("vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES) failed"); - if (vconf_set_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE) < 0) - BROWSER_LOGE("vconf_set_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE) failed"); - if (vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE) < 0) - BROWSER_LOGE("vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE) failed"); - if (vconf_set_bool(RUN_JAVASCRIPT_KEY, 1) < 0) - BROWSER_LOGE("vconf_set_bool(RUN_JAVASCRIPT_KEY, 1) failed"); - if (vconf_set_bool(DISPLAY_IMAGES_KEY, 1) < 0) - BROWSER_LOGE("vconf_set_bool(DISPLAY_IMAGES_KEY, 1) failed"); - if (vconf_set_bool(BLOCK_POPUP_KEY, 1) < 0) - BROWSER_LOGE("vconf_set_bool(BLOCK_POPUP_KEY, 1) failed"); - if (vconf_set_bool(ACCEPT_COOKIES_KEY, 1) < 0) - BROWSER_LOGE("vconf_set_bool(ACCEPT_COOKIES_KEY, 1) failed"); - if (vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK) < 0) - BROWSER_LOGE("vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK) failed"); +#if defined(FEATURE_MOST_VISITED_SITES) + br_preference_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES); +#else + br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE); +#endif + br_preference_set_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE); + br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, FIT_TO_WIDTH); + br_preference_set_bool(RUN_JAVASCRIPT_KEY, true); + br_preference_set_bool(DISPLAY_IMAGES_KEY, true); + br_preference_set_bool(BLOCK_POPUP_KEY, true); + br_preference_set_bool(SHOW_SECURITY_WARNINGS_KEY, true); + br_preference_set_bool(ACCEPT_COOKIES_KEY, true); + br_preference_set_bool(AUTO_SAVE_ID_PASSWORD_KEY, false); if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) < 0) BROWSER_LOGE("vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) failed"); - if (vconf_set_bool(RUN_PLUGINS_KEY, 1) < 0) - BROWSER_LOGE("vconf_set_bool(RUN_PLUGINS_KEY, 1) failed"); - if (vconf_set_bool(RUN_FLASH_KEY, 0) < 0) - BROWSER_LOGE("vconf_set_bool(RUN_FLASH_KEY, 0) failed"); - if (vconf_set_bool(PAUSE_FLASH_KEY, 1) < 0) - BROWSER_LOGE("vconf_set_bool(PAUSE_FLASH_KEY, 1) failed"); - if (vconf_set_str(USERAGENT_KEY, DEFAULT_USER_AGENT_STRING) < 0) BROWSER_LOGE("vconf_set_str(USERAGENT_KEY, DEFAULT_USER_AGENT_STRING) failed"); @@ -1052,6 +1177,104 @@ void Browser_Settings_Main_View::__cancel_confirm_response_cb(void *data, Evas_O } } +void Browser_Settings_Main_View::__clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_cache_confirm_popup) { + evas_object_del(main_view->m_clear_cache_confirm_popup); + main_view->m_clear_cache_confirm_popup = NULL; + } + + /* Clear cache */ + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_cache_clear(ewk_context); + ewk_context_web_indexed_database_delete_all(ewk_context); + ewk_context_application_cache_delete_all(ewk_context); + ewk_context_web_storage_delete_all(ewk_context); + ewk_context_web_database_delete_all(ewk_context); + + main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Main_View::__cancel_clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_cache_confirm_popup) { + evas_object_del(main_view->m_clear_cache_confirm_popup); + main_view->m_clear_cache_confirm_popup = NULL; + } +} + +void Browser_Settings_Main_View::__clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_history_confirm_popup) { + evas_object_del(main_view->m_clear_history_confirm_popup); + main_view->m_clear_history_confirm_popup = NULL; + } + /* Clear history */ + if (!main_view->m_data_manager->get_history_db()->clear_history()) + BROWSER_LOGE("get_history_db()->clear_history() failed"); + + main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Main_View::__cancel_clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_history_confirm_popup) { + evas_object_del(main_view->m_clear_history_confirm_popup); + main_view->m_clear_history_confirm_popup = NULL; + } +} + +void Browser_Settings_Main_View::__clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_all_cookies_data_confirm_popup) { + evas_object_del(main_view->m_clear_all_cookies_data_confirm_popup); + main_view->m_clear_all_cookies_data_confirm_popup = NULL; + } + + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_cookies_clear(ewk_context); + + main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Main_View::__cancel_clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_all_cookies_data_confirm_popup) { + evas_object_del(main_view->m_clear_all_cookies_data_confirm_popup); + main_view->m_clear_all_cookies_data_confirm_popup = NULL; + } +} + Eina_Bool Browser_Settings_Main_View::_show_reset_confirm_popup(void) { BROWSER_LOGD("[%s]", __func__); @@ -1066,7 +1289,7 @@ Eina_Bool Browser_Settings_Main_View::_show_reset_confirm_popup(void) evas_object_size_hint_weight_set(m_reset_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - std::string confirm_msg = std::string(BR_STRING_RESET_TO_DEFAULT) + std::string("?"); + std::string confirm_msg = std::string(BR_STRING_RESET_ALL_SETTINGS_TO_DEFAULT_Q); elm_object_text_set(m_reset_confirm_popup, confirm_msg.c_str()); Evas_Object *ok_button = elm_button_add(m_reset_confirm_popup); @@ -1088,32 +1311,310 @@ Eina_Bool Browser_Settings_Main_View::_show_reset_confirm_popup(void) return EINA_TRUE; } -void Browser_Settings_Main_View::__mmc_key_changed_cb(keynode_t *keynode, void *data) +Eina_Bool Browser_Settings_Main_View::_show_clear_cache_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_cache_confirm_popup) + evas_object_del(m_clear_cache_confirm_popup); + + m_clear_cache_confirm_popup = elm_popup_add(m_genlist); + if (!m_clear_cache_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_cache_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_CACHE_DATA_Q); + elm_object_text_set(m_clear_cache_confirm_popup, confirm_msg.c_str()); + + Evas_Object *ok_button = elm_button_add(m_clear_cache_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_cache_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_cache_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_cache_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_cache_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_cache_confirm_response_cb, this); + + evas_object_show(m_clear_cache_confirm_popup); + + return EINA_TRUE; +} + +Eina_Bool Browser_Settings_Main_View::_show_clear_history_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_history_confirm_popup) + evas_object_del(m_clear_history_confirm_popup); + + m_clear_history_confirm_popup = elm_popup_add(m_genlist); + if (!m_clear_history_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_history_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_HISTORY_DATA_Q); + elm_object_text_set(m_clear_history_confirm_popup, confirm_msg.c_str()); + + Evas_Object *ok_button = elm_button_add(m_clear_history_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_history_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_history_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_history_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_history_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_history_confirm_response_cb, this); + + evas_object_show(m_clear_history_confirm_popup); + + return EINA_TRUE; +} + +Eina_Bool Browser_Settings_Main_View::_show_clear_all_cookie_data_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_all_cookies_data_confirm_popup) + evas_object_del(m_clear_all_cookies_data_confirm_popup); + + m_clear_all_cookies_data_confirm_popup = elm_popup_add(m_genlist); + if (!m_clear_all_cookies_data_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_all_cookies_data_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_COOKIE_DATA_Q); + elm_object_text_set(m_clear_all_cookies_data_confirm_popup, confirm_msg.c_str()); + + Evas_Object *ok_button = elm_button_add(m_clear_all_cookies_data_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_all_cookies_data_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_all_cookie_data_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_all_cookies_data_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_all_cookies_data_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_all_cookie_data_confirm_response_cb, this); + + evas_object_show(m_clear_all_cookies_data_confirm_popup); + + return EINA_TRUE; +} + +void Browser_Settings_Main_View::__clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) return; + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; - int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED; - if (!vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) { - BROWSER_LOGE("[%s] vconf_get_int failed"); - mmc = VCONFKEY_SYSMAN_MMC_MOUNTED; + if (main_view->m_clear_passwords_confirm_popup) { + evas_object_del(main_view->m_clear_passwords_confirm_popup); + main_view->m_clear_passwords_confirm_popup = NULL; } - if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED) { - elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_FALSE); - elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_FALSE); - } else { - elm_radio_value_set(main_view->m_default_storage_radio_group, 0); - elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_TRUE); - elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_TRUE); + + main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Main_View::__cancel_clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_passwords_confirm_popup) { + evas_object_del(main_view->m_clear_passwords_confirm_popup); + main_view->m_clear_passwords_confirm_popup = NULL; + } +} + +void Browser_Settings_Main_View::__clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_form_data_confirm_popup) { + evas_object_del(main_view->m_clear_form_data_confirm_popup); + main_view->m_clear_form_data_confirm_popup = NULL; } - if (mmc != VCONFKEY_SYSMAN_MMC_MOUNTED) { - if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) < 0) - BROWSER_LOGE("[%s]vconf_set_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT); - elm_genlist_item_update(main_view->m_default_storage_item_callback_data.it); + main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Main_View::__cancel_clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_form_data_confirm_popup) { + evas_object_del(main_view->m_clear_form_data_confirm_popup); + main_view->m_clear_form_data_confirm_popup = NULL; } } +Eina_Bool Browser_Settings_Main_View::_show_clear_passwords_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_passwords_confirm_popup) + evas_object_del(m_clear_passwords_confirm_popup); + + m_clear_passwords_confirm_popup = elm_popup_add(m_genlist); + if (!m_clear_passwords_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_passwords_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_SAVED_PASSWORDS_Q); + elm_object_text_set(m_clear_passwords_confirm_popup, confirm_msg.c_str()); + + Evas_Object *ok_button = elm_button_add(m_clear_passwords_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_passwords_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_passwords_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_passwords_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_passwords_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_passwords_confirm_response_cb, this); + + evas_object_show(m_clear_passwords_confirm_popup); + + return EINA_TRUE; +} + +Eina_Bool Browser_Settings_Main_View::_show_clear_form_data_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_form_data_confirm_popup) + evas_object_del(m_clear_form_data_confirm_popup); + + m_clear_form_data_confirm_popup = elm_popup_add(m_genlist); + if (!m_clear_form_data_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_form_data_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_FORMDATA_Q); + elm_object_text_set(m_clear_form_data_confirm_popup, confirm_msg.c_str()); + + Evas_Object *ok_button = elm_button_add(m_clear_form_data_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_form_data_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_form_data_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_form_data_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_form_data_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_form_data_confirm_response_cb, this); + + evas_object_show(m_clear_form_data_confirm_popup); + + return EINA_TRUE; +} + +void Browser_Settings_Main_View::__clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_location_confirm_popup) { + evas_object_del(main_view->m_clear_location_confirm_popup); + main_view->m_clear_location_confirm_popup = NULL; + } + + //main_view->_clear_location_settings(); + Browser_Geolocation_DB *geo_db = main_view->get_data_manager()->get_geolocation_db(); + geo_db->remove_all_geolocation_data(); +} + +void Browser_Settings_Main_View::__clear_location_cancel_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data; + if (main_view->m_clear_location_confirm_popup) { + evas_object_del(main_view->m_clear_location_confirm_popup); + main_view->m_clear_location_confirm_popup = NULL; + } +} + +Eina_Bool Browser_Settings_Main_View::_show_clear_location_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_location_confirm_popup) + evas_object_del(m_clear_location_confirm_popup); + + m_clear_location_confirm_popup = elm_popup_add(m_genlist); + if (!m_clear_location_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_location_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + std::string confirm_msg = std::string(BR_STRING_MSG_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q); + elm_object_text_set(m_clear_location_confirm_popup, confirm_msg.c_str()); + + Evas_Object *ok_button = elm_button_add(m_clear_location_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_OK); + elm_object_part_content_set(m_clear_location_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_location_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_location_confirm_popup); + if (!cancel_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(cancel_button, BR_STRING_CANCEL); + elm_object_part_content_set(m_clear_location_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __clear_location_cancel_confirm_response_cb, this); + + evas_object_show(m_clear_location_confirm_popup); + + return EINA_TRUE; +} Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) { @@ -1158,20 +1659,6 @@ Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) &m_homepage_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE, __expandable_icon_clicked_cb, &m_homepage_item_callback_data); - /* Display - Default view level */ - m_display_title_callback_data.type = BR_DISPLAY_TITLE; - m_display_title_callback_data.user_data = this; - m_display_title_callback_data.it = elm_genlist_item_append(genlist, &m_category_title_item_class, - &m_display_title_callback_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - elm_genlist_item_select_mode_set(m_display_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - m_defailt_view_level_item_callback_data.type = BR_DISPLAY_MENU_DEFAULT_VIEW_LEVEL; - m_defailt_view_level_item_callback_data.user_data = this; - m_defailt_view_level_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class, - &m_defailt_view_level_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE, - __expandable_icon_clicked_cb, &m_defailt_view_level_item_callback_data); - /* Content - Run JavaScript / Display Images */ m_content_title_callback_data.type = BR_CONTENT_TITLE; m_content_title_callback_data.user_data = this; @@ -1180,6 +1667,13 @@ Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) elm_genlist_item_select_mode_set(m_content_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + m_defailt_view_level_item_callback_data.type = BR_CONTENT_MENU_DEFAULT_VIEW_LEVEL; + m_defailt_view_level_item_callback_data.user_data = this; + m_defailt_view_level_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class, + &m_defailt_view_level_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE, + __expandable_icon_clicked_cb, &m_defailt_view_level_item_callback_data); + m_1_text_1_icon_item_class.item_style = "dialogue/1text.1icon"; m_1_text_1_icon_item_class.func.text_get = __genlist_label_get; m_1_text_1_icon_item_class.func.content_get = __genlist_icon_get; @@ -1212,17 +1706,47 @@ Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) elm_genlist_item_select_mode_set(m_privacy_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + m_clear_cache_item_callback_data.type = BR_PRIVATE_MENU_CLEAR_CACHE; + m_clear_cache_item_callback_data.user_data = this; + m_clear_cache_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class, + &m_clear_cache_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_clear_cache_item_callback_data); + + m_clear_history_item_callback_data.type = BR_PRIVATE_MENU_CLEAR_HISTORY; + m_clear_history_item_callback_data.user_data = this; + m_clear_history_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class, + &m_clear_history_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_clear_history_item_callback_data); + + m_show_security_warnings_item_callback_data.type = BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS; + m_show_security_warnings_item_callback_data.user_data = this; + m_show_security_warnings_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class, + &m_show_security_warnings_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __on_off_check_clicked_cb, &m_show_security_warnings_item_callback_data); + + m_2_text_1_icon_item_class.item_style = "dialogue/2text.1icon.5"; + m_2_text_1_icon_item_class.func.text_get = __genlist_label_get; + m_2_text_1_icon_item_class.func.content_get = __genlist_icon_get; + m_2_text_1_icon_item_class.func.state_get = NULL; + m_2_text_1_icon_item_class.func.del = NULL; + m_accept_cookies_item_callback_data.type = BR_PRIVACY_MENU_ACCEPT_COOKIES; m_accept_cookies_item_callback_data.user_data = this; - m_accept_cookies_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class, + m_accept_cookies_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class, &m_accept_cookies_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, __on_off_check_clicked_cb, &m_accept_cookies_item_callback_data); - m_auto_save_item_callback_data.type = BR_PRIVACY_MENU_AUTOSAVE_ID_PASSWORD; - m_auto_save_item_callback_data.user_data = this; - m_auto_save_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class, - &m_auto_save_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE, - __expandable_icon_clicked_cb, &m_auto_save_item_callback_data); + m_2_text_3_item_class.item_style = "dialogue/2text.2"; + m_2_text_3_item_class.func.text_get = __genlist_label_get; + m_2_text_3_item_class.func.content_get = __genlist_icon_get; + m_2_text_3_item_class.func.state_get = NULL; + m_2_text_3_item_class.func.del = NULL; + + m_clear_all_cookies_data_item_callback_data.type = BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA; + m_clear_all_cookies_data_item_callback_data.user_data = this; + m_clear_all_cookies_data_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class, + &m_clear_all_cookies_data_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_clear_all_cookies_data_item_callback_data); m_1_text_item_class.item_style = "dialogue/1text"; m_1_text_item_class.func.text_get = __genlist_label_get; @@ -1230,29 +1754,45 @@ Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) m_1_text_item_class.func.state_get = NULL; m_1_text_item_class.func.del = NULL; - m_clear_private_data_item_callback_data.type = BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA; - m_clear_private_data_item_callback_data.user_data = this; - m_clear_private_data_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class, - &m_clear_private_data_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, - __genlist_item_clicked_cb, &m_clear_private_data_item_callback_data); - - /* Storage */ - m_storage_title_callback_data.type = BR_STORAGE_TITLE; - m_storage_title_callback_data.user_data = this; - m_storage_title_callback_data.it = elm_genlist_item_append(genlist, &m_category_title_item_class, - &m_storage_title_callback_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - elm_genlist_item_select_mode_set(m_storage_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - m_default_storage_item_callback_data.type = BR_STORAGE_MENU_DEFAULT_STORAGE; - m_default_storage_item_callback_data.user_data = this; - m_default_storage_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class, - &m_default_storage_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE, - __expandable_icon_clicked_cb, &m_default_storage_item_callback_data); - - if (vconf_notify_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, __mmc_key_changed_cb, this) < 0) - BROWSER_LOGE("[%s]vconf_notify_key_changed failed", VCONFKEY_SYSMAN_MMC_STATUS); - + m_auto_save_form_data_callback_data.type = BR_PRIVACY_MENU_REMEMBER_FORM_DATA; + m_auto_save_form_data_callback_data.user_data = this; + m_auto_save_form_data_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class, + &m_auto_save_form_data_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __on_off_check_clicked_cb, &m_auto_save_form_data_callback_data); + + m_clear_form_data_callback_data.type = BR_PRIVACY_CLEAR_FORM_DATA; + m_clear_form_data_callback_data.user_data = this; + m_clear_form_data_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class, + &m_clear_form_data_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_clear_form_data_callback_data); + + m_enable_location_callback_data.type = BR_PRIVACY_MENU_ENABLE_LOCATION; + m_enable_location_callback_data.user_data = this; + m_enable_location_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class, + &m_enable_location_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __on_off_check_clicked_cb, &m_enable_location_callback_data); + + m_clear_location_access_callback_data.type = BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS; + m_clear_location_access_callback_data.user_data = this; + m_clear_location_access_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class, + &m_clear_location_access_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_clear_location_access_callback_data); + bool enable_location = 1; + br_preference_get_bool(ENABLE_LOCATION_KEY, &enable_location); + if (!enable_location) + elm_object_item_disabled_set(m_clear_location_access_callback_data.it, EINA_TRUE); + + m_auto_save_item_callback_data.type = BR_PRIVACY_MENU_REMEMBER_PASSWORDS; + m_auto_save_item_callback_data.user_data = this; + m_auto_save_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class, + &m_auto_save_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __on_off_check_clicked_cb, &m_auto_save_item_callback_data); + + m_clear_passwords_callback_data.type = BR_PRIVACY_CLEAR_PASSWORDS; + m_clear_passwords_callback_data.user_data = this; + m_clear_passwords_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class, + &m_clear_passwords_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_clear_passwords_callback_data); /* Others */ m_seperator_item_class.item_style = "dialogue/seperator"; m_seperator_item_class.func.text_get = NULL; @@ -1264,11 +1804,11 @@ Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - m_plugins_item_callback_data.type = BR_MENU_PLUGINS; - m_plugins_item_callback_data.user_data = this; - m_plugins_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class, - &m_plugins_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, - __genlist_item_clicked_cb, &m_plugins_item_callback_data); + m_website_setting_callback_data.type = BR_PRIVACY_WEBSITE_SETTING; + m_website_setting_callback_data.user_data = this; + m_website_setting_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class, + &m_website_setting_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __genlist_item_clicked_cb, &m_website_setting_callback_data); m_reset_item_callback_data.type = BR_MENU_RESET_TO_DEFAULT; m_reset_item_callback_data.user_data = this; @@ -1289,11 +1829,43 @@ Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void) m_user_agent_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class, &m_user_agent_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, __genlist_item_clicked_cb, &m_user_agent_item_callback_data); - m_accelerated_composition_item_callback_data.type = BR_MENU_ACCELERATED_COMPOSITION; - m_accelerated_composition_item_callback_data.user_data = this; - m_accelerated_composition_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class, - &m_accelerated_composition_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, - __genlist_item_clicked_cb, &m_accelerated_composition_item_callback_data); + return genlist; } +void Browser_Settings_Main_View::__application_cache_origin_get_cb(Eina_List* origins, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)user_data; + int count = eina_list_count(origins); + + if (count > 0) { + if (main_view->m_website_setting_callback_data.it != NULL) + elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_FALSE); + } +} + +void Browser_Settings_Main_View::__web_storage_origin_get_cb(Eina_List* origins, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)user_data; + int count = eina_list_count(origins); + + if (count > 0) { + if (main_view->m_website_setting_callback_data.it != NULL) + elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_FALSE); + } +} + +void Browser_Settings_Main_View::__web_database_origin_get_cb(Eina_List* origins, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)user_data; + int count = eina_list_count(origins); + + if (count > 0) { + if (main_view->m_website_setting_callback_data.it != NULL) + elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_FALSE); + } +} + diff --git a/src/browser-settings/browser-settings-main-view.h b/src/browser-settings/browser-settings-main-view.h index 131262da..33ba78df 100755 --- a/src/browser-settings/browser-settings-main-view.h +++ b/src/browser-settings/browser-settings-main-view.h @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_SETTINGS_MAIN_VIEW_H #define BROWSER_SETTINGS_MAIN_VIEW_H @@ -22,9 +23,8 @@ class Browser_Settings_Edit_Homepage_View; class Browser_Settings_Clear_Data_View; -class Browser_Settings_Plugin_View; +class Browser_Settings_Website_Setting; -class Browser_Settings_Accelerated_Composition; class Browser_Settings_User_Agent_View; class Browser_Settings_Main_View : public Browser_Common_View { @@ -33,45 +33,41 @@ public: { BR_HOMEPAGE_TITLE = 0, BR_HOMEPAGE_MENU, +#if defined(FEATURE_MOST_VISITED_SITES) BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES, +#endif BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE, BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE, BR_HOMEPAGE_SUBMENU_EMPTY_PAGE, - BR_DISPLAY_TITLE = 10, - BR_DISPLAY_MENU_DEFAULT_VIEW_LEVEL, - BR_DISPLAY_SUBMENU_FIT_TO_WIDTH, - BR_DISPLAY_SUBMENU_READABLE, - BR_DISPLAY_SUBMENU_LANDSCAPE_VIEW, - BR_CONTENT_TITLE = 20, + BR_HOMEPAGE_SUBMENU_CURRENT_PAGE, + BR_CONTENT_TITLE = 10, + BR_CONTENT_MENU_DEFAULT_VIEW_LEVEL, + BR_CONTENT_SUBMENU_FIT_TO_WIDTH, + BR_CONTENT_SUBMENU_READABLE, BR_CONTENT_MENU_RUN_JAVASCRIPT, BR_CONTENT_MENU_DISPLAY_IMAGES, BR_CONTENT_MENU_BLOCK_POPUP, - BR_PRIVACY_TITLE = 30, + BR_PRIVACY_TITLE = 20, + BR_PRIVATE_MENU_CLEAR_CACHE, + BR_PRIVATE_MENU_CLEAR_HISTORY, + BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS, BR_PRIVACY_MENU_ACCEPT_COOKIES, - BR_PRIVACY_MENU_AUTOSAVE_ID_PASSWORD, + BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA, + BR_PRIVACY_MENU_REMEMBER_FORM_DATA, + BR_PRIVACY_CLEAR_FORM_DATA, + BR_PRIVACY_MENU_REMEMBER_PASSWORDS = 30, + BR_PRIVACY_CLEAR_PASSWORDS, + BR_PRIVACY_WEBSITE_SETTING, BR_PRIVACY_SUBMENU_ALWAYS_ASK, BR_PRIVACY_SUBMENU_ALWAYS_ON, BR_PRIVACY_SUBMENU_ALWAYS_OFF, - BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA, - BR_STORAGE_TITLE = 40, - BR_STORAGE_MENU_DEFAULT_STORAGE, - BR_STORAGE_SUBMENU_PHONE, - BR_STORAGE_SUBMENU_MEMORY_CARD, - BR_SEARCH_TITLE = 50, - BR_SEARCH_MENU_SEARCH_ENGINE, - BR_SEARCH_SUBMENU_GOOGLE, - BR_SEARCH_SUBMENU_YAHOO, - BR_SEARCH_SUBMENU_NAVER, - BR_SEARCH_MENU_CASE_SENSITIVE, - BR_MENU_READER = 60, - BR_MENU_PLUGINS, - BR_MENU_CERTIFICATES, - BR_MENU_ABOUT_BROWSER, + BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA = 40, + BR_PRIVACY_MENU_ENABLE_LOCATION, + BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS, + BR_MENU_CERTIFICATES = 60, BR_MENU_RESET_TO_DEFAULT, BR_DEBUG_TITLE = 70, - BR_MENU_DEBUG_MODE, BR_MENU_USER_AGENT, - BR_MENU_ACCELERATED_COMPOSITION, BR_MENU_UNKNOWN }menu_type; @@ -93,13 +89,20 @@ private: Eina_Bool _show_reset_confirm_popup(void); void _reset_settings(void); + Eina_Bool _show_clear_cache_confirm_popup(void); + Eina_Bool _show_clear_history_confirm_popup(void); + Eina_Bool _show_clear_all_cookie_data_confirm_popup(void); + Eina_Bool _show_clear_passwords_confirm_popup(void); + Eina_Bool _show_clear_form_data_confirm_popup(void); + + Eina_Bool _show_clear_location_confirm_popup(void); + static void __clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_location_cancel_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + /* genlist callback functions */ static Evas_Object *__genlist_icon_get(void *data, Evas_Object *obj, const char *part); static char *__genlist_label_get(void *data, Evas_Object *obj, const char *part); - /* vconf changed callback functions */ - static void __mmc_key_changed_cb(keynode_t *keynode, void *data); - /* elementary event callback functions */ static void __back_button_clicked_cb(void *data, Evas_Object* obj, void* event_info); @@ -113,87 +116,122 @@ private: Evas_Object *obj, void *event_info); static void __auto_save_id_pass_sub_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __default_storage_sub_item_clicked_cb(void *data, - Evas_Object *obj, void *event_info); static void __run_javascript_check_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __display_images_check_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __block_popup_check_changed_cb(void *data, Evas_Object *obj, void *event_info); + static void __show_security_warnings_check_changed_cb(void *data, + Evas_Object *obj, void *event_info); + static void __auto_save_id_pass_check_changed_cb(void *data, + Evas_Object *obj, void *event_info); + static void __auto_save_form_data_check_changed_cb(void *data, + Evas_Object *obj, void *event_info); static void __accept_cookies_check_changed_cb(void *data, Evas_Object *obj, void *event_info); + static void __enable_location_check_changed_cb(void *data, + Evas_Object *obj, void *event_info); static void __genlist_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __reset_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); static void __cancel_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); static void __naviframe_pop_finished_cb(void *data , Evas_Object *obj, void *event_info); + static void __application_cache_origin_get_cb(Eina_List* origins, void* user_data); + static void __web_storage_origin_get_cb(Eina_List* origins, void* user_data); + static void __web_database_origin_get_cb(Eina_List* origins, void* user_data); Evas_Object *m_genlist; Evas_Object *m_back_button; Elm_Genlist_Item_Class m_category_title_item_class; Elm_Genlist_Item_Class m_2_text_item_class; + Elm_Genlist_Item_Class m_2_text_3_item_class; Elm_Genlist_Item_Class m_1_text_1_icon_item_class; Elm_Genlist_Item_Class m_1_text_item_class; + Elm_Genlist_Item_Class m_2_text_1_icon_item_class; Elm_Genlist_Item_Class m_radio_text_item_class; Elm_Genlist_Item_Class m_seperator_item_class; /* Homepage */ genlist_callback_data m_homepage_title_callback_data; genlist_callback_data m_homepage_item_callback_data; +#if defined(FEATURE_MOST_VISITED_SITES) genlist_callback_data m_most_visited_item_callback_data; +#endif genlist_callback_data m_recently_visited_item_callback_data; genlist_callback_data m_user_homepage_item_callback_data; + genlist_callback_data m_current_page_item_callback_data; + genlist_callback_data m_empty_page_item_callback_data; + /* Display */ genlist_callback_data m_display_title_callback_data; genlist_callback_data m_defailt_view_level_item_callback_data; genlist_callback_data m_fit_to_width_item_callback_data; genlist_callback_data m_readable_item_callback_data; + /* Content */ genlist_callback_data m_content_title_callback_data; genlist_callback_data m_run_javascript_item_callback_data; genlist_callback_data m_display_images_item_callback_data; genlist_callback_data m_block_popup_item_callback_data; + /* Privacy */ genlist_callback_data m_privacy_title_callback_data; + genlist_callback_data m_clear_cache_item_callback_data; + genlist_callback_data m_clear_history_item_callback_data; + genlist_callback_data m_show_security_warnings_item_callback_data; genlist_callback_data m_accept_cookies_item_callback_data; + genlist_callback_data m_clear_all_cookies_data_item_callback_data; genlist_callback_data m_auto_save_item_callback_data; + genlist_callback_data m_auto_save_form_data_callback_data; + genlist_callback_data m_clear_form_data_callback_data; genlist_callback_data m_auto_save_always_ask_item_callback_data; genlist_callback_data m_auto_save_always_on_item_callback_data; genlist_callback_data m_auto_save_always_off_item_callback_data; + genlist_callback_data m_clear_passwords_callback_data; + genlist_callback_data m_website_setting_callback_data; genlist_callback_data m_clear_private_data_item_callback_data; - - /* Storage */ - genlist_callback_data m_storage_title_callback_data; - genlist_callback_data m_default_storage_item_callback_data; - genlist_callback_data m_default_storage_phone_item_callback_data; - genlist_callback_data m_default_storage_mmc_item_callback_data; + genlist_callback_data m_enable_location_callback_data; + genlist_callback_data m_clear_location_access_callback_data; /* Others */ - genlist_callback_data m_plugins_item_callback_data; genlist_callback_data m_reset_item_callback_data; /* Debug */ - genlist_callback_data m_debug_title_callback_data; + genlist_callback_data m_debug_title_callback_data; genlist_callback_data m_user_agent_item_callback_data; - genlist_callback_data m_accelerated_composition_item_callback_data; Evas_Object *m_homepage_radio_group; Evas_Object *m_default_view_level_radio_group; Evas_Object *m_auto_save_id_pass_radio_group; - Evas_Object *m_default_storage_radio_group; - Evas_Object *m_default_storage_mmc_radio_button; Evas_Object *m_run_javascript_check; Evas_Object *m_display_images_check; Evas_Object *m_block_popup_check; + Evas_Object *m_clear_cache_confirm_popup; + Evas_Object *m_clear_passwords_confirm_popup; + Evas_Object *m_clear_form_data_confirm_popup; + Evas_Object *m_clear_history_confirm_popup; Evas_Object *m_accept_cookies_check; - + Evas_Object *m_auto_save_id_pass_check; + Evas_Object *m_auto_save_form_data_check; + Evas_Object *m_clear_all_cookies_data_confirm_popup; + Evas_Object *m_enable_location_check; + Evas_Object *m_clear_location_confirm_popup; Evas_Object *m_reset_confirm_popup; + Evas_Object *m_show_security_warnings_check; Elm_Object_Item *m_navi_it; Browser_Settings_Edit_Homepage_View *m_edit_homepage_view; Browser_Settings_Clear_Data_View *m_clear_data_view; - Browser_Settings_Plugin_View *m_plugin_view; - Browser_Settings_Accelerated_Composition *m_accelerated_composition_view; - + Browser_Settings_Website_Setting *m_website_setting; Browser_Settings_User_Agent_View *m_user_agent_view; }; diff --git a/src/browser-settings/browser-settings-plugin-view.cpp b/src/browser-settings/browser-settings-plugin-view.cpp deleted file mode 100755 index 98d59aa1..00000000 --- a/src/browser-settings/browser-settings-plugin-view.cpp +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-settings-plugin-view.h" - -Browser_Settings_Plugin_View::Browser_Settings_Plugin_View(Browser_Settings_Main_View *main_view) -: - m_genlist(NULL) - ,m_back_button(NULL) - ,m_run_plugins_check_button(NULL) - ,m_main_view(main_view) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Settings_Plugin_View::~Browser_Settings_Plugin_View(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Eina_Bool Browser_Settings_Plugin_View::init(void) -{ - BROWSER_LOGD("[%s]", __func__); - - if (!_create_main_layout()) { - BROWSER_LOGE("_create_main_layout failed"); - return EINA_FALSE; - } - - return EINA_TRUE; -} - -void Browser_Settings_Plugin_View::__run_plugins_check_button_changed_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Settings_Plugin_View *plugin_view = (Browser_Settings_Plugin_View *)data; - - const char *key = RUN_PLUGINS_KEY; - Eina_Bool state = elm_check_state_get(obj); - if (vconf_set_bool(key, state) != 0) - BROWSER_LOGE("Key: [%s], FAILED\n", key); -} - -Evas_Object *Browser_Settings_Plugin_View::__genlist_icon_get(void *data, - Evas_Object *obj, const char *part) -{ - if (!data) - return NULL; - - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Plugin_View::menu_type type = callback_data->type; - Browser_Settings_Plugin_View *plugin_view = (Browser_Settings_Plugin_View *)callback_data->user_data; - if (type == BR_RUN_PLUGINS) { - if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { - plugin_view->m_run_plugins_check_button = elm_check_add(obj); - if (!plugin_view->m_run_plugins_check_button) { - BROWSER_LOGD("elm_check_add failed"); - return NULL; - } - elm_object_style_set(plugin_view->m_run_plugins_check_button, "on&off"); - evas_object_propagate_events_set(plugin_view->m_run_plugins_check_button, EINA_FALSE); - - int run_plugins = 1; - if (vconf_get_bool(RUN_PLUGINS_KEY, &run_plugins) < 0) - BROWSER_LOGE("vconf_get_bool failed"); - elm_check_state_set(plugin_view->m_run_plugins_check_button, run_plugins); - evas_object_smart_callback_add(plugin_view->m_run_plugins_check_button, "changed", - __run_plugins_check_button_changed_cb, plugin_view); - return plugin_view->m_run_plugins_check_button; - } - } - - return NULL; -} - -char *Browser_Settings_Plugin_View::__genlist_label_get(void *data, - Evas_Object *obj, const char *part) -{ - if (!data) - return NULL; - - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Plugin_View::menu_type type = callback_data->type; - if (type == BR_RUN_PLUGINS) { - if (!strncmp(part, "elm.text", strlen("elm.text"))) { - return strdup(BR_STRING_ENABLE_PLUGINS); - } - } -} - -void Browser_Settings_Plugin_View::__item_selected_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - genlist_callback_data *callback_data = (genlist_callback_data *)data; - Browser_Settings_Plugin_View::menu_type type = callback_data->type; - Browser_Settings_Plugin_View *plugin_view = (Browser_Settings_Plugin_View *)callback_data->user_data; - - if (type == BR_RUN_PLUGINS) { - int value = elm_check_state_get(plugin_view->m_run_plugins_check_button); - elm_check_state_set(plugin_view->m_run_plugins_check_button, !value); - - __run_plugins_check_button_changed_cb(plugin_view, plugin_view->m_run_plugins_check_button, NULL); - - elm_genlist_item_selected_set(plugin_view->m_run_plugins_callback_data.it, EINA_FALSE); - } -} - -void Browser_Settings_Plugin_View::__back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - - if (elm_naviframe_bottom_item_get(m_navi_bar) - != elm_naviframe_top_item_get(m_navi_bar)) - elm_naviframe_item_pop(m_navi_bar); -} - -Eina_Bool Browser_Settings_Plugin_View::_create_main_layout(void) -{ - BROWSER_LOGD("[%s]", __func__); - - m_genlist = elm_genlist_add(m_navi_bar); - if (!m_genlist) { - BROWSER_LOGE("elm_genlist_add failed"); - return EINA_FALSE; - } - - m_seperator_item_class.item_style = "dialogue/seperator"; - m_seperator_item_class.func.text_get = NULL; - m_seperator_item_class.func.content_get = NULL; - m_seperator_item_class.func.del = NULL; - m_seperator_item_class.func.state_get = NULL; - - Elm_Object_Item *it = elm_genlist_item_append(m_genlist, &m_seperator_item_class, - NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - m_1_text_1_icon_item_class.item_style = "dialogue/1text.1icon"; - m_1_text_1_icon_item_class.func.text_get = __genlist_label_get; - m_1_text_1_icon_item_class.func.content_get = __genlist_icon_get; - m_1_text_1_icon_item_class.func.del = NULL; - m_1_text_1_icon_item_class.func.state_get = NULL; - - m_run_plugins_callback_data.type = BR_RUN_PLUGINS; - m_run_plugins_callback_data.user_data = this; - m_run_plugins_callback_data.it = elm_genlist_item_append(m_genlist, &m_1_text_1_icon_item_class, &m_run_plugins_callback_data, - NULL, ELM_GENLIST_ITEM_NONE, __item_selected_cb, &m_run_plugins_callback_data); - - evas_object_show(m_genlist); - - m_back_button = elm_button_add(m_genlist); - if (!m_back_button) { - BROWSER_LOGE("elm_button_add failed"); - return EINA_FALSE; - } - elm_object_style_set(m_back_button, "browser/bookmark_controlbar_back"); - evas_object_show(m_back_button); - evas_object_smart_callback_add(m_back_button, "clicked", __back_button_clicked_cb, this); - - Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_PLUGINS, - m_back_button, NULL, m_genlist, "browser_titlebar"); - - return EINA_TRUE; -} - diff --git a/src/browser-settings/browser-settings-plugin-view.h b/src/browser-settings/browser-settings-plugin-view.h deleted file mode 100755 index 3b0c19fa..00000000 --- a/src/browser-settings/browser-settings-plugin-view.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_SETTINGS_PLUGIN_VIEW_H -#define BROWSER_SETTINGS_PLUGIN_VIEW_H - -#include "browser-common-view.h" -#include "browser-config.h" -#include "browser-settings-main-view.h" - -class Browser_Settings_Plugin_View : public Browser_Common_View { -public: - Browser_Settings_Plugin_View(Browser_Settings_Main_View *main_view); - ~Browser_Settings_Plugin_View(void); - - Eina_Bool init(void); - - typedef enum _menu_type { - BR_RUN_PLUGINS, - BR_UNKOWN - } menu_type; -private: - typedef struct _genlist_callback_data { - menu_type type; - void *user_data; - Elm_Object_Item *it; - } genlist_callback_data; - - Eina_Bool _create_main_layout(void); - - /* genlist callback functions */ - static Evas_Object *__genlist_icon_get(void *data, Evas_Object *obj, const char *part); - static char *__genlist_label_get(void *data, Evas_Object *obj, const char *part); - - /* Elementary event callback functions */ - static void __item_selected_cb(void *data, Evas_Object *obj, void *event_info); - static void __back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __run_plugins_check_button_changed_cb(void *data, - Evas_Object *obj, void *event_info); - - Evas_Object *m_genlist; - Evas_Object *m_back_button; - Evas_Object *m_run_plugins_check_button; - - Elm_Genlist_Item_Class m_seperator_item_class; - Elm_Genlist_Item_Class m_1_text_1_icon_item_class; - - genlist_callback_data m_run_plugins_callback_data; - Browser_Settings_Main_View *m_main_view; -}; - -#endif /* BROWSER_SETTINGS_PLUGIN_VIEW_H */ - diff --git a/src/browser-settings/browser-settings-user-agent-view.cpp b/src/browser-settings/browser-settings-user-agent-view.cpp index c8759bd7..237ef395 100755 --- a/src/browser-settings/browser-settings-user-agent-view.cpp +++ b/src/browser-settings/browser-settings-user-agent-view.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-settings-main-view.h" #include "browser-settings-user-agent-view.h" @@ -23,7 +25,6 @@ Browser_Settings_User_Agent_View::Browser_Settings_User_Agent_View(Browser_Setti ,m_genlist(NULL) ,m_tizen_checkbox(NULL) ,m_chrome_checkbox(NULL) - ,m_firefox_checkbox(NULL) { BROWSER_LOGD("[%s]", __func__); } @@ -65,9 +66,7 @@ char *Browser_Settings_User_Agent_View::__genlist_label_get_cb(void *data, if (type == TIZEN) return strdup("Tizen"); else if (type == CHROME) - return strdup("Chrome"); - else if (type == FIREFOX) - return strdup("Firefox"); + return strdup("Chrome 20"); } return NULL; @@ -89,11 +88,10 @@ Evas_Object *Browser_Settings_User_Agent_View::__genlist_icon_get_cb(void *data, return NULL; } char *user_agent = vconf_get_str(USERAGENT_KEY); - if (user_agent) { - if (!strncmp(user_agent, "Tizen", strlen("Tizen"))) - elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_TRUE); - - free(user_agent); + if (!user_agent || strncmp(user_agent, "Chrome 20", strlen("Chrome 20"))) { + elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_TRUE); + if (user_agent) + free(user_agent); } evas_object_propagate_events_set(user_agent_view->m_tizen_checkbox, EINA_FALSE); @@ -109,7 +107,7 @@ Evas_Object *Browser_Settings_User_Agent_View::__genlist_icon_get_cb(void *data, } char *user_agent = vconf_get_str(USERAGENT_KEY); if (user_agent) { - if (!strncmp(user_agent, "Chrome", strlen("Chrome"))) + if (!strncmp(user_agent, "Chrome 20", strlen("Chrome 20"))) elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_TRUE); free(user_agent); @@ -120,25 +118,6 @@ Evas_Object *Browser_Settings_User_Agent_View::__genlist_icon_get_cb(void *data, __check_changed_cb, callback_data); return user_agent_view->m_chrome_checkbox; - }else if (type == FIREFOX) { - user_agent_view->m_firefox_checkbox = elm_check_add(obj); - if (!user_agent_view->m_firefox_checkbox) { - BROWSER_LOGE("elm_check_add failed"); - return NULL; - } - char *user_agent = vconf_get_str(USERAGENT_KEY); - if (user_agent) { - if (!strncmp(user_agent, "Firefox", strlen("Firefox"))) - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_TRUE); - - free(user_agent); - } - - evas_object_propagate_events_set(user_agent_view->m_firefox_checkbox, EINA_FALSE); - evas_object_smart_callback_add(user_agent_view->m_firefox_checkbox, "changed", - __check_changed_cb, callback_data); - - return user_agent_view->m_firefox_checkbox; } } @@ -160,20 +139,12 @@ void Browser_Settings_User_Agent_View::__check_changed_cb( void *data, if (type == TIZEN) { elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_TRUE); elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_FALSE); if (vconf_set_str(USERAGENT_KEY, "Tizen") < 0) BROWSER_LOGE("vconf_set_str failed"); - } else if (type == CHROME){ - elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_TRUE); - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_FALSE); - if (vconf_set_str(USERAGENT_KEY, "Chrome") < 0) - BROWSER_LOGE("vconf_set_str failed"); } else { elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_TRUE); - if (vconf_set_str(USERAGENT_KEY, "Firefox") < 0) + elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_TRUE); + if (vconf_set_str(USERAGENT_KEY, "Chrome 20") < 0) BROWSER_LOGE("vconf_set_str failed"); } } else { @@ -199,20 +170,12 @@ void Browser_Settings_User_Agent_View::__item_selected_cb(void *data, if (type == TIZEN) { elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_TRUE); elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_FALSE); if (vconf_set_str(USERAGENT_KEY, "Tizen") < 0) BROWSER_LOGE("vconf_set_str failed"); - } else if(type == CHROME){ - elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_TRUE); - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_FALSE); - if (vconf_set_str(USERAGENT_KEY, "Chrome") < 0) - BROWSER_LOGE("vconf_set_str failed"); } else { elm_check_state_set(user_agent_view->m_tizen_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_FALSE); - elm_check_state_set(user_agent_view->m_firefox_checkbox, EINA_TRUE); - if (vconf_set_str(USERAGENT_KEY, "Firefox") < 0) + elm_check_state_set(user_agent_view->m_chrome_checkbox, EINA_TRUE); + if (vconf_set_str(USERAGENT_KEY, "Chrome 20") < 0) BROWSER_LOGE("vconf_set_str failed"); } @@ -250,12 +213,6 @@ Eina_Bool Browser_Settings_User_Agent_View::_create_main_layout(void) &m_chrome_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, __item_selected_cb, &m_chrome_item_callback_data); - m_firefox_item_callback_data.type = FIREFOX; - m_firefox_item_callback_data.user_data = this; - m_firefox_item_callback_data.it = elm_genlist_item_append(m_genlist, &m_1_text_1_icon_item_class, - &m_firefox_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, - __item_selected_cb, &m_firefox_item_callback_data); - m_back_button = elm_button_add(m_genlist); if (!m_back_button) { BROWSER_LOGE("elm_button_add failed"); @@ -265,7 +222,7 @@ Eina_Bool Browser_Settings_User_Agent_View::_create_main_layout(void) evas_object_show(m_back_button); evas_object_smart_callback_add(m_back_button, "clicked", __back_button_clicked_cb, this); - Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, "User Agent", + Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_USER_AGENT, m_back_button, NULL, m_genlist, "browser_titlebar"); return EINA_TRUE; diff --git a/src/browser-settings/browser-settings-user-agent-view.h b/src/browser-settings/browser-settings-user-agent-view.h index 260f21d2..2eacceee 100755 --- a/src/browser-settings/browser-settings-user-agent-view.h +++ b/src/browser-settings/browser-settings-user-agent-view.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_SETTINGS_USER_AGENT_VIEW_H #define BROWSER_SETTINGS_USER_AGENT_VIEW_H @@ -31,7 +33,6 @@ public: typedef enum _user_agent_type { TIZEN, CHROME, - FIREFOX, UNKNOWN } user_agent_type; private: @@ -56,11 +57,9 @@ private: Evas_Object *m_genlist; Evas_Object *m_tizen_checkbox; Evas_Object *m_chrome_checkbox; - Evas_Object *m_firefox_checkbox; genlist_callback_data m_tizen_item_callback_data; genlist_callback_data m_chrome_item_callback_data; - genlist_callback_data m_firefox_item_callback_data; Elm_Genlist_Item_Class m_1_text_1_icon_item_class; }; diff --git a/src/browser-settings/browser-settings-website-setting.cpp b/src/browser-settings/browser-settings-website-setting.cpp new file mode 100755 index 00000000..69bc2732 --- /dev/null +++ b/src/browser-settings/browser-settings-website-setting.cpp @@ -0,0 +1,1011 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#include "browser-settings-class.h" +#include "browser-settings-website-setting.h" +#include "browser-view.h" + +Browser_Settings_Website_Setting::Browser_Settings_Website_Setting(Browser_Settings_Main_View *main_view) +: + m_genlist(NULL) + ,m_details_genlist(NULL) + ,m_back_button(NULL) + ,m_back_button_details(NULL) + ,m_clear_confirm_popup(NULL) + ,m_delete_all_website_list_confirm_popup(NULL) + ,m_delete_all_details_list_confirm_popup(NULL) + ,m_bottom_control_bar(NULL) + ,m_details_bottom_control_bar(NULL) + ,m_delete_all_website_list_conbar_item(NULL) + ,m_delete_all_details_conbar_item(NULL) + ,m_current_website_item_data(NULL) + ,m_current_item_data(NULL) + ,m_is_called_appcache_cb_flag(false) + ,m_is_called_webstorage_cb_flag(false) + ,m_is_called_webdb_cb_flag(false) + ,m_main_view(main_view) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Settings_Website_Setting::~Browser_Settings_Website_Setting(void) +{ + BROWSER_LOGD("[%s]", __func__); + + for (int i = 0 ; i < m_website_setting_list.size() ; i++) { + if (m_website_setting_list[i]) + delete m_website_setting_list[i]; + } + m_website_setting_list.clear(); +} + +Eina_Bool Browser_Settings_Website_Setting::init(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!_create_main_layout()) { + BROWSER_LOGE("_create_main_layout failed"); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Evas_Object *Browser_Settings_Website_Setting::__genlist_icon_get(void *data, + Evas_Object *obj, const char *part) +{ + if (!data) + return NULL; + + BROWSER_LOGD("part = [%s]", part); + + Browser_Geolocation_DB::geolocation_info *info = (Browser_Geolocation_DB::geolocation_info *)data; + + if (part && strlen(part) > 0) { + if (!strncmp(part, "elm.icon.1", strlen("elm.icon.1"))) { + Evas_Object *favicon = NULL; + favicon = m_data_manager->get_browser_view()->get_favicon(info->url.c_str()); + if (favicon) + return favicon; + else { + Evas_Object *default_icon = elm_icon_add(obj); + if (!default_icon) + return NULL; + if (!elm_icon_file_set(default_icon, BROWSER_IMAGE_DIR"/faviconDefault.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(default_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return default_icon; + } + } else if (!strncmp(part,"elm.icon.2", strlen("elm.icon.2"))) { + Evas_Object *location_icon = elm_icon_add(obj); + if (!location_icon) + return NULL; + + if (info->geolocation) { + if (info->allow) { + if (!elm_icon_file_set(location_icon, BROWSER_IMAGE_DIR"/I01_icon_location_allowed.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(location_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return location_icon; + } else { + if (!elm_icon_file_set(location_icon, BROWSER_IMAGE_DIR"/I01_icon_location_denied.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(location_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return location_icon; + } + } + } else if (!strncmp(part,"elm.icon.3", strlen("elm.icon.3"))) { + Evas_Object *storage_icon = elm_icon_add(obj); + if (!storage_icon) + return NULL; + if (info->storage) { + if (!elm_icon_file_set(storage_icon, BROWSER_IMAGE_DIR"/I01_icon_web_storage.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(storage_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return storage_icon; + } + } + } + + return NULL; +} + +char *Browser_Settings_Website_Setting::__genlist_label_get(void *data, + Evas_Object *obj, const char *part) +{ + if (!data) + return NULL; + + BROWSER_LOGD("part = [%s]", part); + + Browser_Geolocation_DB::geolocation_info *info = (Browser_Geolocation_DB::geolocation_info *)data; + const char *url = info->url.c_str(); + + if (part && strlen(part) > 0) { + if (!strncmp(part,"elm.text", strlen("elm.text"))) { + if (url && strlen(url)) + return strdup(url); + } + } + + return NULL; +} + +Evas_Object *Browser_Settings_Website_Setting::__details_genlist_icon_get(void *data, + Evas_Object *obj, const char *part) +{ + if (!data) + return NULL; + + BROWSER_LOGD("part = [%s]", part); + + genlist_callback_data *callback_data = (genlist_callback_data *)data; + Browser_Settings_Website_Setting::menu_type type = callback_data->type; + Browser_Settings_Website_Setting *website_setting = NULL; + + Browser_Geolocation_DB::geolocation_info *info = + (Browser_Geolocation_DB::geolocation_info *)(callback_data->user_data); + + if (part && strlen(part) > 0) { + if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + if (type == BR_MENU_LOCATION) { + BROWSER_LOGD("location menu\n"); + Evas_Object *location_icon = elm_icon_add(obj); + if (!location_icon) + return NULL; + if (info->geolocation) { + if (info->allow) { + if (!elm_icon_file_set(location_icon, BROWSER_IMAGE_DIR"/I01_icon_location_allowed_small.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(location_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return location_icon; + } else { + if (!elm_icon_file_set(location_icon, BROWSER_IMAGE_DIR"/I01_icon_location_denied_small.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(location_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return location_icon; + } + } + } else if (type == BR_MENU_WEB_STORAGE) { + BROWSER_LOGD("web storage menu.\n"); + Evas_Object *storage_icon = elm_icon_add(obj); + if (!storage_icon) + return NULL; + if (info->storage) { + if (!elm_icon_file_set(storage_icon, BROWSER_IMAGE_DIR"/I01_icon_web_storage_small.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return NULL; + } + evas_object_size_hint_aspect_set(storage_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return storage_icon; + } + }else { + BROWSER_LOGD("wrong menu index.\n"); + return NULL; + } + } + } + return NULL; +} + +char *Browser_Settings_Website_Setting::__details_genlist_label_get(void *data, + Evas_Object *obj, const char *part) +{ + if (!data) + return NULL; + + BROWSER_LOGD("part = [%s]", part); + genlist_callback_data *callback_data = (genlist_callback_data *)data; + Browser_Settings_Website_Setting::menu_type type = callback_data->type; + Browser_Settings_Website_Setting *website_setting = NULL; + + Browser_Geolocation_DB::geolocation_info *info = + (Browser_Geolocation_DB::geolocation_info *)(callback_data->user_data); + const char *url = info->url.c_str(); + + if (part && strlen(part) > 0) { + if (!strncmp(part,"elm.text", strlen("elm.text"))) { + if (type == BR_MENU_LOCATION) { + BROWSER_LOGD("location menu.\n"); + return strdup(BR_STRING_CLEAR_LOCATION_ACCESS); + } else if (type == BR_MENU_WEB_STORAGE) { + BROWSER_LOGD("web storage menu.\n"); + return strdup(BR_STRING_CLEAR_STORED_DATA); + }else { + BROWSER_LOGD("wrong menu index.\n"); + return NULL; + } + } + } + return NULL; +} + +void Browser_Settings_Website_Setting::__item_selected_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + website_setting->m_current_website_item_data = NULL; + website_setting->m_current_website_item_data = (website_setting_item *)elm_object_item_data_get(it); + + website_setting->_show_details_list(website_setting->m_current_website_item_data); + elm_genlist_item_selected_set(it, EINA_FALSE); +} + +void Browser_Settings_Website_Setting::__details_item_selected_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + genlist_callback_data *callback_data = (genlist_callback_data *)data; + Browser_Settings_Website_Setting::menu_type type = callback_data->type; + Browser_Settings_Website_Setting *website_setting = NULL; + website_setting = (Browser_Settings_Website_Setting *)(callback_data->cp); + + website_setting->m_current_item_data = (website_setting_item *)callback_data->user_data; + if (type == BR_MENU_LOCATION) { + website_setting->_show_clear_location_confirm_popup(); + } else if (type == BR_MENU_WEB_STORAGE) { + website_setting->_show_clear_web_storage_confirm_popup(); + } + + elm_genlist_item_selected_set(callback_data->it, EINA_FALSE); +} + +Eina_Bool Browser_Settings_Website_Setting::_show_clear_location_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_confirm_popup) + evas_object_del(m_clear_confirm_popup); + + m_clear_confirm_popup = elm_popup_add(m_details_genlist); + if (!m_clear_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_object_text_set(m_clear_confirm_popup, BR_STRING_CLEAR_LOCATION_ACCESS_FOR_THIS_WEBSITE); + + Evas_Object *ok_button = elm_button_add(m_clear_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_location_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_location_confirm_response_cb, this); + + evas_object_show(m_clear_confirm_popup); + + return EINA_TRUE; +} + +Eina_Bool Browser_Settings_Website_Setting::_show_clear_web_storage_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_clear_confirm_popup) + evas_object_del(m_clear_confirm_popup); + + m_clear_confirm_popup = elm_popup_add(m_details_genlist); + if (!m_clear_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_clear_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_object_text_set(m_clear_confirm_popup, BR_STRING_DELETE_ALL_STORED_DATA_BY_THIS_WEBSITE); + + Evas_Object *ok_button = elm_button_add(m_clear_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_clear_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __clear_web_storage_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_clear_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_clear_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_web_storage_confirm_response_cb, this); + + evas_object_show(m_clear_confirm_popup); + + return EINA_TRUE; +} + +Eina_Bool Browser_Settings_Website_Setting::_show_delete_all_website_list_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_delete_all_website_list_confirm_popup) + evas_object_del(m_delete_all_website_list_confirm_popup); + + m_delete_all_website_list_confirm_popup = elm_popup_add(m_genlist); + if (!m_delete_all_website_list_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_delete_all_website_list_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_object_text_set(m_delete_all_website_list_confirm_popup, BR_STRING_DELETE_ALL_WEBSITE_DATA_AND_LOCATION_PERMISSIONS); + + Evas_Object *ok_button = elm_button_add(m_delete_all_website_list_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_delete_all_website_list_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __delete_all_website_list_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_delete_all_website_list_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_delete_all_website_list_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_delete_all_website_list_confirm_response_cb, this); + + evas_object_show(m_delete_all_website_list_confirm_popup); + + return EINA_TRUE; +} + +Eina_Bool Browser_Settings_Website_Setting::_show_delete_all_details_list_confirm_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_delete_all_details_list_confirm_popup) + evas_object_del(m_delete_all_details_list_confirm_popup); + + m_delete_all_details_list_confirm_popup = elm_popup_add(m_details_genlist); + if (!m_delete_all_details_list_confirm_popup) { + BROWSER_LOGE("elm_popup_add failed"); + return EINA_FALSE; + } + + evas_object_size_hint_weight_set(m_delete_all_details_list_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_object_text_set(m_delete_all_details_list_confirm_popup, BR_STRING_DELETE_ALL_WEBSITE_DATA_AND_LOCATION_PERMISSIONS); + + Evas_Object *ok_button = elm_button_add(m_delete_all_details_list_confirm_popup); + if (!ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_text_set(ok_button, BR_STRING_YES); + elm_object_part_content_set(m_delete_all_details_list_confirm_popup, "button1", ok_button); + evas_object_smart_callback_add(ok_button, "clicked", __delete_all_details_list_confirm_response_cb, this); + + Evas_Object *cancel_button = elm_button_add(m_delete_all_details_list_confirm_popup); + elm_object_text_set(cancel_button, BR_STRING_NO); + elm_object_part_content_set(m_delete_all_details_list_confirm_popup, "button2", cancel_button); + evas_object_smart_callback_add(cancel_button, "clicked", __cancel_delete_all_details_list_confirm_response_cb, this); + + evas_object_show(m_delete_all_details_list_confirm_popup); + + return EINA_TRUE; +} + +void Browser_Settings_Website_Setting::__clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_clear_confirm_popup) { + evas_object_del(website_setting->m_clear_confirm_popup); + website_setting->m_clear_confirm_popup = NULL; + } + + Browser_Geolocation_DB geolocation_db; + + geolocation_db.remove_geolocation_data(website_setting->m_current_item_data->url.c_str()); + website_setting->m_current_item_data->geolocation = false; + + if(website_setting->m_current_item_data->storage == false) { + website_setting->__back_button_clicked_cb(NULL, NULL, NULL); + website_setting->_refresh_website_list(); + } else { + website_setting->_refresh_details_list(website_setting->m_current_item_data); + } + + website_setting->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Website_Setting::__cancel_clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_clear_confirm_popup) { + evas_object_del(website_setting->m_clear_confirm_popup); + website_setting->m_clear_confirm_popup = NULL; + } +} + +void Browser_Settings_Website_Setting::__clear_web_storage_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_clear_confirm_popup) { + evas_object_del(website_setting->m_clear_confirm_popup); + website_setting->m_clear_confirm_popup = NULL; + } + + /* Clear cache */ + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_application_cache_delete(ewk_context, (Ewk_Security_Origin*)(website_setting->m_current_item_data->origin)); + ewk_context_web_database_delete(ewk_context, (Ewk_Security_Origin*)(website_setting->m_current_item_data->origin)); + ewk_context_web_storage_origin_delete(ewk_context, (Ewk_Security_Origin*)(website_setting->m_current_item_data->origin)); + website_setting->m_current_item_data->storage = false; + + if(website_setting->m_current_item_data->geolocation == false) { + website_setting->__back_button_clicked_cb(NULL, NULL, NULL); + website_setting->_refresh_website_list(); + } else + website_setting->_refresh_details_list(website_setting->m_current_item_data); + + website_setting->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Website_Setting::__cancel_clear_web_storage_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_clear_confirm_popup) { + evas_object_del(website_setting->m_clear_confirm_popup); + website_setting->m_clear_confirm_popup = NULL; + } +} + +void Browser_Settings_Website_Setting::__delete_all_website_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_delete_all_website_list_confirm_popup) { + evas_object_del(website_setting->m_delete_all_website_list_confirm_popup); + website_setting->m_delete_all_website_list_confirm_popup = NULL; + } + + /* Clear Geolocation */ + Browser_Geolocation_DB geolocation_db; + geolocation_db.remove_all_geolocation_data(); + /* Clear cache */ + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_cache_clear(ewk_context); + ewk_context_web_indexed_database_delete_all(ewk_context); + ewk_context_application_cache_delete_all(ewk_context); + ewk_context_web_storage_delete_all(ewk_context); + ewk_context_web_database_delete_all(ewk_context); + + website_setting->_refresh_website_list(); + + website_setting->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Website_Setting::__cancel_delete_all_website_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_delete_all_website_list_confirm_popup) { + evas_object_del(website_setting->m_delete_all_website_list_confirm_popup); + website_setting->m_delete_all_website_list_confirm_popup = NULL; + } +} + +void Browser_Settings_Website_Setting::__delete_all_details_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_delete_all_details_list_confirm_popup) { + evas_object_del(website_setting->m_delete_all_details_list_confirm_popup); + website_setting->m_delete_all_details_list_confirm_popup = NULL; + } + + website_setting_item *info = website_setting->m_current_website_item_data; + if (info->geolocation) { + Browser_Geolocation_DB geolocation_db; + geolocation_db.remove_geolocation_data(info->url.c_str()); + info->geolocation = false; + } + + if (info->storage) { + /* Clear cache */ + Ewk_Context *ewk_context = ewk_context_default_get(); + ewk_context_application_cache_delete(ewk_context, + (Ewk_Security_Origin*)(info->origin)); + ewk_context_web_database_delete(ewk_context, + (Ewk_Security_Origin*)(info->origin)); + ewk_context_web_storage_origin_delete(ewk_context, + (Ewk_Security_Origin*)(info->origin)); + info->storage = false; + } + + website_setting->__back_button_clicked_cb(NULL, NULL, NULL); + website_setting->_refresh_website_list(); + + website_setting->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE); +} + +void Browser_Settings_Website_Setting::__cancel_delete_all_details_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + if (website_setting->m_delete_all_details_list_confirm_popup) { + evas_object_del(website_setting->m_delete_all_details_list_confirm_popup); + website_setting->m_delete_all_details_list_confirm_popup = NULL; + } +} +void Browser_Settings_Website_Setting::_show_details_list(website_setting_item *item_info) +{ + BROWSER_LOGD("[%s]", __func__); + if(!item_info) + return; + + m_details_genlist = elm_genlist_add(m_navi_bar); + if (!m_details_genlist) { + BROWSER_LOGE("elm_genlist_add failed"); + return; + } + + evas_object_show(m_details_genlist); + + m_1_text_1_icon_item_class.item_style = "1text.1icon"; + m_1_text_1_icon_item_class.func.text_get = __details_genlist_label_get; + m_1_text_1_icon_item_class.func.content_get = __details_genlist_icon_get; + m_1_text_1_icon_item_class.func.state_get = NULL; + m_1_text_1_icon_item_class.func.del = NULL; + + if (item_info->geolocation) { + m_location_item_callback_data.type = BR_MENU_LOCATION; + m_location_item_callback_data.cp = this; + m_location_item_callback_data.user_data = item_info; + m_location_item_callback_data.it = elm_genlist_item_append(m_details_genlist, + &m_1_text_1_icon_item_class, &m_location_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __details_item_selected_cb, &m_location_item_callback_data); + } + + if (item_info->storage) { + m_web_storage_item_callback_data.type = BR_MENU_WEB_STORAGE; + m_web_storage_item_callback_data.cp = this; + m_web_storage_item_callback_data.user_data = item_info; + m_web_storage_item_callback_data.it = elm_genlist_item_append(m_details_genlist, + &m_1_text_1_icon_item_class, &m_web_storage_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __details_item_selected_cb, &m_web_storage_item_callback_data); + } + + m_back_button_details = elm_button_add(m_details_genlist); + if (!m_back_button_details) { + BROWSER_LOGE("elm_button_add failed"); + return; + } + elm_object_style_set(m_back_button_details, "browser/bookmark_controlbar_back"); + evas_object_show(m_back_button_details); + evas_object_smart_callback_add(m_back_button_details, "clicked", __back_button_clicked_cb, this); + + Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, item_info->url.c_str(), + m_back_button_details, NULL, m_details_genlist, "browser_titlebar"); + + m_details_bottom_control_bar = elm_toolbar_add(m_navi_bar); + if (!m_details_bottom_control_bar) { + BROWSER_LOGE("elm_toolbar_add failed"); + return; + } + elm_object_style_set(m_details_bottom_control_bar, "browser/default"); + elm_toolbar_shrink_mode_set(m_details_bottom_control_bar, ELM_TOOLBAR_SHRINK_EXPAND); + + m_delete_all_details_conbar_item = elm_toolbar_item_append(m_details_bottom_control_bar, + NULL, BR_STRING_DELETE_ALL, + __delete_all_details_list_conbar_item_clicked_cb, this); + if (elm_genlist_items_count(m_details_genlist) == 0) { + elm_object_item_disabled_set(m_delete_all_details_conbar_item, EINA_TRUE); + } + + Elm_Object_Item *empty_item = elm_toolbar_item_append(m_details_bottom_control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(empty_item, EINA_TRUE); + + empty_item = elm_toolbar_item_append(m_details_bottom_control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(empty_item, EINA_TRUE); + + evas_object_show(m_details_bottom_control_bar); + elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_CONTROLBAR, m_details_bottom_control_bar); +} + +void Browser_Settings_Website_Setting::_refresh_details_list(website_setting_item *item_info) +{ + elm_genlist_clear(m_details_genlist); + + if (item_info->geolocation) { + m_location_item_callback_data.type = BR_MENU_LOCATION; + m_location_item_callback_data.cp = this; + m_location_item_callback_data.user_data = item_info; + m_location_item_callback_data.it = elm_genlist_item_append(m_details_genlist, + &m_1_text_1_icon_item_class, &m_location_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __details_item_selected_cb, &m_location_item_callback_data); + } + + if (item_info->storage) { + m_web_storage_item_callback_data.type = BR_MENU_WEB_STORAGE; + m_web_storage_item_callback_data.cp = this; + m_web_storage_item_callback_data.user_data = item_info; + m_web_storage_item_callback_data.it = elm_genlist_item_append(m_details_genlist, + &m_1_text_1_icon_item_class, &m_web_storage_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE, + __details_item_selected_cb, &m_web_storage_item_callback_data); + } +} + +void Browser_Settings_Website_Setting::__back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (elm_naviframe_bottom_item_get(m_navi_bar) + != elm_naviframe_top_item_get(m_navi_bar)) + elm_naviframe_item_pop(m_navi_bar); +} + +void Browser_Settings_Website_Setting::__delete_all_website_list_conbar_item_clicked_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + + website_setting->_show_delete_all_website_list_confirm_popup(); +} + +void Browser_Settings_Website_Setting::__delete_all_details_list_conbar_item_clicked_cb(void *data, + Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)data; + + website_setting->_show_delete_all_details_list_confirm_popup(); +} + +void Browser_Settings_Website_Setting::__application_cache_origin_get_cb(Eina_List* origins, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)user_data; + + Eina_List *list = NULL; + void *list_data = NULL; + + EINA_LIST_FOREACH(origins, list, list_data) { + BROWSER_LOGD("list_data=%d", list_data); + if (list_data) { + Ewk_Security_Origin *origin = (Ewk_Security_Origin *)list_data;; + BROWSER_LOGD("<<< host = [%s]", ewk_security_origin_host_get(origin)); + + Eina_Bool duplicated = EINA_FALSE; + for (int i = 0 ; i < website_setting->m_website_setting_list.size() ; i++) { + if (!website_setting->m_website_setting_list[i]->url.empty() + && !strcmp(website_setting->m_website_setting_list[i]->url.c_str(), ewk_security_origin_host_get(origin))) { + duplicated = EINA_TRUE; + website_setting->m_website_setting_list[i]->storage = EINA_TRUE; + + elm_genlist_item_update((Elm_Object_Item *)(website_setting->m_website_setting_list[i]->user_data)); + break; + } + } + + if (!duplicated) { + website_setting_item *item = new(nothrow) website_setting_item; + item->allow = EINA_FALSE; + item->geolocation = EINA_FALSE; + item->storage = EINA_TRUE; + item->url = std::string(ewk_security_origin_host_get(origin)); + item->origin = origin; + + item->user_data = (void*)elm_genlist_item_append(website_setting->m_genlist, &website_setting->m_1_text_2_icon_item_class, + item, NULL, ELM_GENLIST_ITEM_NONE, + __item_selected_cb, website_setting); + website_setting->m_website_setting_list.push_back(item); + } + } + } + + /* enable the deleteall button at every origin callback + because these callbacks are invoked asyncronously*/ + if (website_setting->m_website_setting_list.size() > 0) { + if (website_setting->m_delete_all_website_list_conbar_item != NULL) + elm_object_item_disabled_set(website_setting->m_delete_all_website_list_conbar_item, EINA_FALSE); + } + + website_setting->m_is_called_appcache_cb_flag = true; + if ((website_setting->m_is_called_appcache_cb_flag == true) + && (website_setting->m_is_called_webstorage_cb_flag == true) + && (website_setting->m_is_called_webdb_cb_flag == true)) { + if (website_setting->m_website_setting_list.size() == 0) { + website_setting->__back_button_clicked_cb(NULL, NULL, NULL); + } + } +} + +void Browser_Settings_Website_Setting::__web_storage_origin_get_cb(Eina_List* origins, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)user_data; + + Eina_List *list = NULL; + void *list_data = NULL; + + EINA_LIST_FOREACH(origins, list, list_data) { + BROWSER_LOGD("list_data=%d", list_data); + if (list_data) { + Ewk_Security_Origin *origin = (Ewk_Security_Origin *)list_data;; + BROWSER_LOGD("<<< host = [%s]", ewk_security_origin_host_get(origin)); + + Eina_Bool duplicated = EINA_FALSE; + for (int i = 0 ; i < website_setting->m_website_setting_list.size() ; i++) { + if (!website_setting->m_website_setting_list[i]->url.empty() + && !strcmp(website_setting->m_website_setting_list[i]->url.c_str(), ewk_security_origin_host_get(origin))) { + duplicated = EINA_TRUE; + website_setting->m_website_setting_list[i]->storage = EINA_TRUE; + + elm_genlist_item_update((Elm_Object_Item *)(website_setting->m_website_setting_list[i]->user_data)); + break; + } + } + + if (!duplicated) { + website_setting_item *item = new(nothrow) website_setting_item; + item->allow = EINA_FALSE; + item->geolocation = EINA_FALSE; + item->storage = EINA_TRUE; + item->url = std::string(ewk_security_origin_host_get(origin)); + item->origin = origin; + + item->user_data = (void*)elm_genlist_item_append(website_setting->m_genlist, &website_setting->m_1_text_2_icon_item_class, + item, NULL, ELM_GENLIST_ITEM_NONE, + __item_selected_cb, website_setting); + website_setting->m_website_setting_list.push_back(item); + } + } + } + + /* enable the deleteall button at every origin callback + because these callbacks are invoked asyncronously*/ + if (website_setting->m_website_setting_list.size() > 0) { + if (website_setting->m_delete_all_website_list_conbar_item != NULL) + elm_object_item_disabled_set(website_setting->m_delete_all_website_list_conbar_item, EINA_FALSE); + } + + website_setting->m_is_called_webstorage_cb_flag = true; + if ((website_setting->m_is_called_appcache_cb_flag == true) + && (website_setting->m_is_called_webstorage_cb_flag == true) + && (website_setting->m_is_called_webdb_cb_flag == true)) { + if (website_setting->m_website_setting_list.size() == 0) { + website_setting->__back_button_clicked_cb(NULL, NULL, NULL); + } + } +} + +void Browser_Settings_Website_Setting::__web_database_origin_get_cb(Eina_List* origins, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_Settings_Website_Setting *website_setting = (Browser_Settings_Website_Setting *)user_data; + + Eina_List *list = NULL; + void *list_data = NULL; + + EINA_LIST_FOREACH(origins, list, list_data) { + BROWSER_LOGD("list_data=%d", list_data); + if (list_data) { + Ewk_Security_Origin *origin = (Ewk_Security_Origin *)list_data; + BROWSER_LOGD("<<< host = [%s]", ewk_security_origin_host_get(origin)); + + Eina_Bool duplicated = EINA_FALSE; + for (int i = 0 ; i < website_setting->m_website_setting_list.size() ; i++) { + if (!website_setting->m_website_setting_list[i]->url.empty() + && !strcmp(website_setting->m_website_setting_list[i]->url.c_str(), ewk_security_origin_host_get(origin))) { + duplicated = EINA_TRUE; + website_setting->m_website_setting_list[i]->storage = EINA_TRUE; + + elm_genlist_item_update((Elm_Object_Item *)(website_setting->m_website_setting_list[i]->user_data)); + break; + } + } + + if (!duplicated) { + website_setting_item *item = new(nothrow) website_setting_item; + item->allow = EINA_FALSE; + item->geolocation = EINA_FALSE; + item->storage = EINA_TRUE; + item->url = std::string(ewk_security_origin_host_get(origin)); + item->origin = origin; + + item->user_data = (void*)elm_genlist_item_append(website_setting->m_genlist, &website_setting->m_1_text_2_icon_item_class, + item, NULL, ELM_GENLIST_ITEM_NONE, + __item_selected_cb, website_setting); + website_setting->m_website_setting_list.push_back(item); + + } + } + } + + /* enable the deleteall button at every origin callback + because these callbacks are invoked asyncronously*/ + if (website_setting->m_website_setting_list.size() > 0) { + if (website_setting->m_delete_all_website_list_conbar_item != NULL) + elm_object_item_disabled_set(website_setting->m_delete_all_website_list_conbar_item, EINA_FALSE); + } + + website_setting->m_is_called_webdb_cb_flag = true; + if ((website_setting->m_is_called_appcache_cb_flag == true) + && (website_setting->m_is_called_webstorage_cb_flag == true) + && (website_setting->m_is_called_webdb_cb_flag == true)) { + if (website_setting->m_website_setting_list.size() == 0) { + website_setting->__back_button_clicked_cb(NULL, NULL, NULL); + } + } +} + +void Browser_Settings_Website_Setting::_website_list_get(void) +{ + BROWSER_LOGD("[%s]", __func__); + m_is_called_appcache_cb_flag = false; + m_is_called_webstorage_cb_flag = false; + m_is_called_webdb_cb_flag = false; + Ewk_Context *context = ewk_context_default_get(); + ewk_context_application_cache_origins_get(context, __application_cache_origin_get_cb, this); + ewk_context_web_storage_origins_get(context, __web_storage_origin_get_cb, this); + ewk_context_web_database_origins_get(context, __web_database_origin_get_cb, this); + + Browser_Geolocation_DB geolocation_db; + + geolocation_db.get_geolocation_info_list(m_geolocation_list); + + BROWSER_LOGD("geolocation_list size=%d", m_geolocation_list.size()); + + for (int i = 0 ; i < m_geolocation_list.size() ; i++) { + m_geolocation_list[i]->user_data = (void* )elm_genlist_item_append(m_genlist, &m_1_text_2_icon_item_class, + m_geolocation_list[i], NULL, ELM_GENLIST_ITEM_NONE, + __item_selected_cb, this); + + m_website_setting_list.push_back((website_setting_item *)(m_geolocation_list[i])); + } +} + +void Browser_Settings_Website_Setting::_refresh_website_list(void) +{ + BROWSER_LOGD("[%s]", __func__); + + for (int i = 0 ; i < m_website_setting_list.size() ; i++) { + if (m_website_setting_list[i]) + delete m_website_setting_list[i]; + } + m_website_setting_list.clear(); + m_geolocation_list.clear(); + + elm_genlist_clear(m_genlist); + + _website_list_get(); + + if (m_website_setting_list.size() == 0) { + if (m_delete_all_website_list_conbar_item != NULL) + elm_object_item_disabled_set(m_delete_all_website_list_conbar_item, EINA_TRUE); + } +} + +Eina_Bool Browser_Settings_Website_Setting::_create_main_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + + m_genlist = elm_genlist_add(m_navi_bar); + if (!m_genlist) { + BROWSER_LOGE("elm_genlist_add failed"); + return EINA_FALSE; + } + + evas_object_show(m_genlist); + + m_back_button = elm_button_add(m_genlist); + if (!m_back_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_style_set(m_back_button, "browser/bookmark_controlbar_back"); + evas_object_show(m_back_button); + evas_object_smart_callback_add(m_back_button, "clicked", __back_button_clicked_cb, this); + + m_1_text_2_icon_item_class.item_style = "1text.3icon.2"; + m_1_text_2_icon_item_class.func.text_get = __genlist_label_get; + m_1_text_2_icon_item_class.func.content_get = __genlist_icon_get; + m_1_text_2_icon_item_class.func.state_get = NULL; + m_1_text_2_icon_item_class.func.del = NULL; + + _website_list_get(); + + Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_WEBSITE_SETTINGS, + m_back_button, NULL, m_genlist, "browser_titlebar"); + + m_bottom_control_bar = elm_toolbar_add(m_navi_bar); + if (!m_bottom_control_bar) { + BROWSER_LOGE("elm_toolbar_add failed"); + return EINA_FALSE; + } + elm_object_style_set(m_bottom_control_bar, "browser/default"); + elm_toolbar_shrink_mode_set(m_bottom_control_bar, ELM_TOOLBAR_SHRINK_EXPAND); + + m_delete_all_website_list_conbar_item = elm_toolbar_item_append(m_bottom_control_bar, + NULL, BR_STRING_DELETE_ALL, + __delete_all_website_list_conbar_item_clicked_cb, this); + + if (!m_delete_all_website_list_conbar_item) { + BROWSER_LOGE("elm_toolbar_item_append failed"); + return EINA_FALSE; + } + + if (m_website_setting_list.size() == 0) { + elm_object_item_disabled_set(m_delete_all_website_list_conbar_item, EINA_TRUE); + } + + Elm_Object_Item *empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(empty_item, EINA_TRUE); + + empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL); + elm_object_item_disabled_set(empty_item, EINA_TRUE); + + evas_object_show(m_bottom_control_bar); + elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_CONTROLBAR, m_bottom_control_bar); + + return EINA_TRUE; +} + diff --git a/src/browser-settings/browser-settings-website-setting.h b/src/browser-settings/browser-settings-website-setting.h new file mode 100755 index 00000000..77be7187 --- /dev/null +++ b/src/browser-settings/browser-settings-website-setting.h @@ -0,0 +1,124 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef BROWSER_SETTINGS_WEBSITE_SETTING_H +#define BROWSER_SETTINGS_WEBSITE_SETTING_H + +#include "browser-geolocation-db.h" +#include "browser-common-view.h" +#include "browser-config.h" +#include "browser-settings-main-view.h" + +class Browser_Settings_Website_Setting : public Browser_Common_View { +public: + Browser_Settings_Website_Setting(Browser_Settings_Main_View *main_view); + ~Browser_Settings_Website_Setting(void); + + Eina_Bool init(void); + + struct website_setting_item { + std::string url; + Eina_Bool geolocation; + Eina_Bool allow; + Eina_Bool storage; + void *origin; + void *user_data; + }; + typedef enum _menu_type { + BR_MENU_LOCATION, + BR_MENU_WEB_STORAGE, + BR_MENU_UNKNOWN + } menu_type; +private: + typedef struct _genlist_callback_data { + menu_type type; + void *user_data; + void *cp; + Elm_Object_Item *it; + } genlist_callback_data; + + Eina_Bool _create_main_layout(void); + void _website_list_get(void); + void _show_details_list(website_setting_item *item_info); + Eina_Bool _show_clear_location_confirm_popup(void); + Eina_Bool _show_clear_web_storage_confirm_popup(void); + Eina_Bool _show_delete_all_website_list_confirm_popup(void); + Eina_Bool _show_delete_all_details_list_confirm_popup(void); + void _refresh_website_list(void); + void _refresh_details_list(website_setting_item *item_info); + + /* genlist callback functions */ + static Evas_Object *__genlist_icon_get(void *data, Evas_Object *obj, const char *part); + static char *__genlist_label_get(void *data, Evas_Object *obj, const char *part); + static Evas_Object *__details_genlist_icon_get(void *data, Evas_Object *obj, const char *part); + static char *__details_genlist_label_get(void *data, Evas_Object *obj, const char *part); + + /* Elementary event callback functions */ + static void __item_selected_cb(void *data, Evas_Object *obj, void *event_info); + static void __details_item_selected_cb(void *data, Evas_Object *obj, void *event_info); + static void __back_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __delete_all_website_list_conbar_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __delete_all_details_list_conbar_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); + + static void __application_cache_origin_get_cb(Eina_List* origins, void* user_data); + static void __web_storage_origin_get_cb(Eina_List* origins, void* user_data); + static void __web_database_origin_get_cb(Eina_List* origins, void* user_data); + + /*Popup event callback function */ + static void __clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __clear_web_storage_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_clear_web_storage_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __delete_all_website_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_delete_all_website_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __delete_all_details_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + static void __cancel_delete_all_details_list_confirm_response_cb(void *data, Evas_Object *obj, void *event_info); + + + Evas_Object *m_genlist; + Evas_Object *m_details_genlist; + Evas_Object *m_back_button; + Evas_Object *m_back_button_details; + Evas_Object *m_clear_confirm_popup; + Evas_Object *m_delete_all_website_list_confirm_popup; + Evas_Object *m_delete_all_details_list_confirm_popup; + Evas_Object *m_bottom_control_bar; + Evas_Object *m_details_bottom_control_bar; + Elm_Object_Item *m_delete_all_website_list_conbar_item; + Elm_Object_Item *m_delete_all_details_conbar_item; + Elm_Genlist_Item_Class m_1_text_2_icon_item_class; + Elm_Genlist_Item_Class m_1_text_1_icon_item_class; + + genlist_callback_data m_location_item_callback_data; + genlist_callback_data m_web_storage_item_callback_data; + + vector m_geolocation_list; + vector m_website_setting_list; + website_setting_item *m_current_website_item_data; + website_setting_item *m_current_item_data; + + Browser_Settings_Main_View *m_main_view; + + /* Workaround - flags for origin callbacks for checking callbacks are called. + This patch is needed because all origin callbacks are called asyncronously*/ + bool m_is_called_appcache_cb_flag; + bool m_is_called_webstorage_cb_flag; + bool m_is_called_webdb_cb_flag; +}; + +#endif /* BROWSER_SETTINGS_WEBSITE_SETTING_H */ + diff --git a/src/browser-utility.cpp b/src/browser-utility.cpp index e679dba6..5249e569 100755 --- a/src/browser-utility.cpp +++ b/src/browser-utility.cpp @@ -1,24 +1,26 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ extern "C" { #include } #include "browser-utility.h" +#include "app.h" /* for preference CAPI */ static void __changed_cb(void *data, Evas_Object *obj, void *event_info) { @@ -32,8 +34,10 @@ static void __changed_cb(void *data, Evas_Object *obj, void *event_info) if (elm_object_focus_get(layout)) { if (elm_entry_is_empty(obj)) elm_object_signal_emit(layout, "elm,state,eraser,hide", "elm"); - else + else { elm_object_signal_emit(layout, "elm,state,eraser,show", "elm"); + elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); + } } } @@ -71,6 +75,8 @@ static void __url_entry_focused_cb(void *data, Evas_Object *obj, void *event_inf elm_object_signal_emit(layout, "elm,state,eraser,show", "elm"); elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); +// edje_object_signal_emit(elm_layout_edje_get(layout), "ellipsis_hide,signal", ""); + elm_object_signal_emit(layout, "ellipsis_hide,signal", "elm"); int *cursor_position = (int *)evas_object_data_get(obj, "cursor_position"); BROWSER_LOGD("cursor_position = %d", cursor_position); @@ -86,6 +92,9 @@ static void __url_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_i elm_object_signal_emit(layout, "elm,state,eraser,hide", "elm"); +// edje_object_signal_emit(elm_layout_edje_get(layout), "ellipsis_show,signal", ""); + elm_object_signal_emit(layout, "ellipsis_show,signal", "elm"); + evas_object_data_set(obj, "cursor_position", (void *)elm_entry_cursor_pos_get(obj)); BROWSER_LOGD("cursor_position = %d", elm_entry_cursor_pos_get(obj)); @@ -104,6 +113,11 @@ Evas_Object *br_elm_url_editfield_add(Evas_Object *parent) elm_layout_theme_set(layout, "layout", "browser-editfield", "default"); Evas_Object *entry = elm_entry_add(parent); + + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); + + elm_entry_text_style_user_push(entry, "DEFAULT='font_size=35 color=#3C3632 ellipsis=1'"); elm_object_part_content_set(layout, "elm.swallow.content", entry); evas_object_smart_callback_add(entry, "changed", __changed_cb, layout); @@ -112,6 +126,33 @@ Evas_Object *br_elm_url_editfield_add(Evas_Object *parent) elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", __eraser_clicked_cb, entry); + elm_object_signal_emit(layout, "ellipsis_show,signal", "elm"); + + return layout; +} + +Evas_Object *br_elm_find_word_editfield_add(Evas_Object *parent) +{ + Evas_Object *layout = elm_layout_add(parent); + + elm_layout_theme_set(layout, "layout", "browser-editfield", "default"); + + Evas_Object *entry = elm_entry_add(parent); + + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); + + elm_entry_text_style_user_push(entry, "color=#000000 ellipsis=1'"); + elm_object_part_content_set(layout, "elm.swallow.content", entry); + + evas_object_smart_callback_add(entry, "changed", __changed_cb, layout); + evas_object_smart_callback_add(entry, "focused", __focused_cb, layout); + evas_object_smart_callback_add(entry, "unfocused", __unfocused_cb, layout); + elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", + __eraser_clicked_cb, entry); + + elm_object_signal_emit(layout, "ellipsis_hide,signal", "elm"); + return layout; } @@ -178,8 +219,10 @@ static void __searchbar_changed_cb(void *data, Evas_Object *obj, void *event_inf if (elm_object_focus_get(layout)) { if (elm_entry_is_empty(obj)) elm_object_signal_emit(layout, "elm,state,eraser,hide", "elm"); - else + else { elm_object_signal_emit(layout, "elm,state,eraser,show", "elm"); + elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm"); + } } } @@ -251,7 +294,7 @@ Evas_Object *br_elm_searchbar_add(Evas_Object *parent) elm_object_part_content_set(searchbar_layout, "elm.swallow.content", entry); elm_object_part_text_set(searchbar_layout, "elm.guidetext", BR_STRING_SEARCH); - /* Workaround + /* Workaround * When tab history view, the search entry has focus automatically. * So the keypad is shown. So give focus manually. */ edje_object_signal_callback_add(elm_layout_edje_get(searchbar_layout), @@ -298,3 +341,261 @@ Evas_Object *br_elm_searchbar_entry_get(Evas_Object *obj) return elm_object_part_content_get(obj, "elm.swallow.content"); } +bool br_preference_set_bool(const char *key, bool value) +{ + int ret; + ret = preference_set_boolean(key, value); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not get [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not get [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_get_bool(const char *key, bool *value) +{ + int ret = preference_get_boolean(key, value); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not get [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_NO_KEY: + BROWSER_LOGE("Can not get [%s] value. Required key not available\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not get [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_create_bool(const char *key, bool value) +{ + BROWSER_LOGD("%s(%d)", key, value); + bool existing = false; + int ret = preference_is_existing(key, &existing); + switch (ret) { + case PREFERENCE_ERROR_NONE: + if (!existing) + preference_set_boolean(key, value); + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not initialize [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not initialize [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_set_int(const char *key, int value) +{ + int ret; + ret = preference_set_int(key, value); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not get [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not get [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_get_int(const char *key, int *value) +{ + int ret = preference_get_int(key, value); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not get [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_NO_KEY: + BROWSER_LOGE("Can not get [%s] value. Required key not available\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not get [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_create_int(const char *key, int value) +{ + BROWSER_LOGD("%s(%d)", key, value); + bool existing = false; + int ret = preference_is_existing(key, &existing); + switch (ret) { + case PREFERENCE_ERROR_NONE: + if (!existing) + preference_set_int(key, value); + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not initialize [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not initialize [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_set_str(const char *key, const char *value) +{ + int ret; + ret = preference_set_string(key, value); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not get [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not get [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_get_str(const char *key, char **value) +{ + int ret = preference_get_string(key, value); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not get [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_OUT_OF_MEMORY: + BROWSER_LOGE("Can not get [%s] value. Out of Memory\n", key); + return false; + case PREFERENCE_ERROR_NO_KEY: + BROWSER_LOGE("Can not get [%s] value. Required key not available\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not get [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_create_str(const char *key, const char *value) +{ + BROWSER_LOGD("%s(%s)", key, value); + bool existing = false; + int ret = preference_is_existing(key, &existing); + switch (ret) { + case PREFERENCE_ERROR_NONE: + if (!existing) + preference_set_string(key, value); + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not initialize [%s] value. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not initialize [%s] value. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_set_changed_cb(const char *key, br_preference_changed_cb callback, void *user_data) +{ + BROWSER_LOGD("[%s]", key); + int ret = preference_set_changed_cb(key, (preference_changed_cb)callback, user_data); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not set [%s] callback. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_OUT_OF_MEMORY: + BROWSER_LOGE("Can not set [%s] callback. Out of Memory\n", key); + return false; + case PREFERENCE_ERROR_NO_KEY: + BROWSER_LOGE("Can not set [%s] callback. Required key not available\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not set [%s] callback. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +bool br_preference_unset_changed_cb(const char *key) +{ + BROWSER_LOGD("[%s]", key); + int ret = preference_unset_changed_cb(key); + switch (ret) { + case PREFERENCE_ERROR_NONE: + return true; + case PREFERENCE_ERROR_INVALID_PARAMETER: + BROWSER_LOGE("Can not unset [%s] callback. Invalid parameter\n", key); + return false; + case PREFERENCE_ERROR_IO_ERROR: + BROWSER_LOGE("Can not unset [%s] callback. Internal IO error\n", key); + return false; + default: + return false; + } + return true; +} + +Browser_Utility::Browser_Utility(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Utility::~Browser_Utility(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +std::string Browser_Utility::convert_WKStringRef(WKStringRef string_ref) +{ + BROWSER_LOGD("[%s]", __func__); + std::string return_string; + int string_length = WKStringGetMaximumUTF8CStringSize(string_ref); + char *buffer =(char *)calloc(string_length + 1, sizeof(char)); + if (buffer) { + WKStringGetUTF8CString(string_ref, buffer, string_length); + return_string = std::string(buffer); + free(buffer); + } + + return return_string; +} + diff --git a/src/browser-utility.h b/src/browser-utility.h index 6267c45f..9c4bbb74 100755 --- a/src/browser-utility.h +++ b/src/browser-utility.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_UTILITY_H #define BROWSER_UTILITY_H @@ -22,30 +24,46 @@ #ifdef __cplusplus extern "C" { #endif +typedef void(*br_preference_changed_cb )(const char *key, void *user_data); Evas_Object *br_elm_url_editfield_add(Evas_Object *parent); - Evas_Object *br_elm_editfield_add(Evas_Object *parent, Eina_Bool title = EINA_FALSE); - void br_elm_editfield_label_set(Evas_Object *obj, const char *label); - Evas_Object *br_elm_editfield_entry_get(Evas_Object *obj); - void br_elm_editfield_guide_text_set(Evas_Object *obj, const char *text); - void br_elm_editfield_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line); - void br_elm_editfield_eraser_set(Evas_Object *obj, Eina_Bool visible); - Evas_Object *br_elm_searchbar_add(Evas_Object *parent); void br_elm_searchbar_text_set(Evas_Object *obj, const char *text); char *br_elm_searchbar_text_get(Evas_Object *obj); Evas_Object *br_elm_searchbar_entry_get(Evas_Object *obj); +Evas_Object *br_elm_find_word_editfield_add(Evas_Object *parent); +/* preference APIs */ +bool br_preference_set_bool(const char *key, bool value); +bool br_preference_get_bool(const char *key, bool *value); +bool br_preference_create_bool(const char *key, bool value); +bool br_preference_set_int(const char *key, int value); +bool br_preference_get_int(const char *key, int *value); +bool br_preference_create_int(const char *key, int value); +bool br_preference_set_str(const char *key, const char *value); +bool br_preference_get_str(const char *key, char **value); +bool br_preference_create_str(const char *key, const char *value); +bool br_preference_set_changed_cb(const char *key, br_preference_changed_cb callback, void *user_data); +bool br_preference_unset_changed_cb(const char *key); #ifdef __cplusplus } #endif -#endif /* SCISSORBOX_H*/ +class Browser_Utility { +public: + Browser_Utility(void); + ~Browser_Utility(void); + + std::string convert_WKStringRef(WKStringRef string_ref); +private: +}; + +#endif /* BROWSER_UTILITY_H */ diff --git a/src/browser-view/browser-context-menu.cpp b/src/browser-view/browser-context-menu.cpp index 81fc3365..ca54f9f2 100755 --- a/src/browser-view/browser-context-menu.cpp +++ b/src/browser-view/browser-context-menu.cpp @@ -1,33 +1,27 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-context-menu.h" #include "browser-view.h" -#include "browser-window.h" - -#define BROWSER_CONTEXT_MENU_MARGIN (60 * elm_scale_get()) -Browser_Context_Menu::Browser_Context_Menu(Evas_Object *naviframe, Browser_View *browser_view) -: m_naviframe(naviframe) - ,m_browser_view(browser_view) - ,m_webview(NULL) - ,m_context_popup(NULL) - ,m_context_menu_data(NULL) - ,m_for_reader_view(EINA_FALSE) - ,m_current_context_menu_item(NULL) +Browser_Context_Menu::Browser_Context_Menu(Browser_View *browser_view) +: m_browser_view(browser_view) + ,m_ewk_view(NULL) { BROWSER_LOGD("[%s]", __func__); } @@ -35,533 +29,107 @@ Browser_Context_Menu::Browser_Context_Menu(Evas_Object *naviframe, Browser_View Browser_Context_Menu::~Browser_Context_Menu(void) { BROWSER_LOGD("[%s]", __func__); - destroy_context_popup(); } -Eina_Bool Browser_Context_Menu::init(Evas_Object *webview, Eina_Bool reader_view) +void Browser_Context_Menu::init(Evas_Object *ewk_view) { BROWSER_LOGD("[%s]", __func__); - if (!webview) { - BROWSER_LOGE("webview is null"); - return EINA_FALSE; - } - - m_webview = webview; - m_for_reader_view = reader_view; deinit(); - Evas_Object *webkit = elm_webview_webkit_get(m_webview); + m_ewk_view = ewk_view; - evas_object_smart_callback_add(webkit, "webview,contextmenu,new", __context_menu_new_cb, this); - evas_object_smart_callback_add(webkit, "webview,contextmenu,show", __context_menu_show_cb, this); - evas_object_smart_callback_add(webkit, "webview,contextmenu,move", __context_menu_move_cb, this); - evas_object_smart_callback_add(webkit, "webview,contextmenu,hide", __context_menu_hide_cb, this); - evas_object_smart_callback_add(webkit, "webview,contextmenu,del", __context_menu_del_cb, this); - evas_object_smart_callback_add(webkit, "contextmenu,customize", __context_menu_customize_cb, this); - evas_object_smart_callback_add(webkit, "contextmenu,save,as", __context_menu_save_as_cb, this); - if (!reader_view) { - evas_object_smart_callback_add(webkit, "magnifier,shown", __magnifier_shown_cb, this); - evas_object_smart_callback_add(webkit, "magnifier,hidden", __magnifier_hidden_cb, this); - } - - return EINA_TRUE; + evas_object_smart_callback_add(ewk_view, "contextmenu,customize", __get_context_menu_from_proposed_context_menu_cb, NULL); + evas_object_smart_callback_add(ewk_view, "contextmenu,selected", __custom_context_menu_item_selected_cb, this); } void Browser_Context_Menu::deinit(void) { BROWSER_LOGD("[%s]", __func__); - Evas_Object *webkit = elm_webview_webkit_get(m_webview); - evas_object_smart_callback_del(webkit, "webview,contextmenu,new", __context_menu_new_cb); - evas_object_smart_callback_del(webkit, "webview,contextmenu,show", __context_menu_show_cb); - evas_object_smart_callback_del(webkit, "webview,contextmenu,move", __context_menu_move_cb); - evas_object_smart_callback_del(webkit, "webview,contextmenu,hide", __context_menu_hide_cb); - evas_object_smart_callback_del(webkit, "webview,contextmenu,del", __context_menu_del_cb); - evas_object_smart_callback_del(webkit, "contextmenu,customize", __context_menu_customize_cb); - evas_object_smart_callback_del(webkit, "contextmenu,save,as", __context_menu_save_as_cb); - evas_object_smart_callback_del(webkit, "magnifier,shown", __magnifier_shown_cb); - evas_object_smart_callback_del(webkit, "magnifier,hidden", __magnifier_hidden_cb); - -} - -void Browser_Context_Menu::__magnifier_shown_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - elm_object_scroll_freeze_pop(context_menu->m_browser_view->m_scroller); - elm_object_scroll_freeze_push(context_menu->m_browser_view->m_scroller); -} - -void Browser_Context_Menu::__magnifier_hidden_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - elm_object_scroll_freeze_pop(context_menu->m_browser_view->m_scroller); -} - -void Browser_Context_Menu::__context_menu_new_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) { - BROWSER_LOGE("data or event_info is null"); - return; - } - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - context_menu->m_context_menu_data = (Elm_WebView_Context_Menu_Data *)event_info; - - context_menu->destroy_context_popup(); - - context_menu->m_context_popup = elm_ctxpopup_add(context_menu->m_naviframe); - if (!context_menu->m_context_popup) { - BROWSER_LOGE("elm_ctxpopup_add failed"); - return; - } - evas_object_size_hint_weight_set(context_menu->m_context_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); -} - -void Browser_Context_Menu::__context_menu_show_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - if (!context_menu->m_context_popup) { - BROWSER_LOGE("context_menu->m_context_popup is null"); - return; + if (m_ewk_view) { + evas_object_smart_callback_del(m_ewk_view, "contextmenu,customize", + __get_context_menu_from_proposed_context_menu_cb); + evas_object_smart_callback_del(m_ewk_view, "contextmenu,selected", + __custom_context_menu_item_selected_cb); } - - evas_object_move(context_menu->m_context_popup, - context_menu->m_context_menu_data->mouse_down_event.canvas.x, - context_menu->m_context_menu_data->mouse_down_event.canvas.y - BROWSER_CONTEXT_MENU_MARGIN); - evas_object_show(context_menu->m_context_popup); - - const char *context_popup_style = elm_object_style_get(context_menu->m_context_popup); - if (context_popup_style && strlen(context_popup_style)) { - /* If context popup is normal style(not copy & paste style), - * give focus to context popup to hide the imf. */ - if (strncmp(context_popup_style, "extended/entry/pass_event", strlen("extended/entry/pass_event"))) - evas_object_focus_set(context_menu->m_context_popup, EINA_TRUE); - } -} - -void Browser_Context_Menu::__context_menu_move_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - if (!context_menu->m_context_popup) - return; - - Evas_Point *position = (Evas_Point *)event_info; - evas_object_move(context_menu->m_context_popup, position->x, position->y - BROWSER_CONTEXT_MENU_MARGIN); - evas_object_show(context_menu->m_context_popup); } -void Browser_Context_Menu::__context_menu_hide_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_Context_Menu::__get_context_menu_from_proposed_context_menu_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - if (!context_menu->m_context_popup) + if (!event_info) return; - evas_object_hide(context_menu->m_context_popup); -} + Ewk_Context_Menu *menu = static_cast(event_info); + Ewk_Context_Menu_Item *item; + Ewk_Context_Menu_Item_Tag tag; + int count = ewk_context_menu_item_count(menu); + for (int i = 0; i < count; i++) { + item = ewk_context_menu_nth_item_get(menu, 0); + tag = ewk_context_menu_item_tag_get(item); + ewk_context_menu_item_remove(menu, item); -void Browser_Context_Menu::__context_menu_del_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - if (!context_menu->m_context_popup) - return; - - evas_object_del(context_menu->m_context_popup); - context_menu->m_context_popup = NULL; -} - -std::string Browser_Context_Menu::_get_context_menu_item_text(Ewk_Context_Menu_Action action) -{ - switch(action) { + switch (tag) { case EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW: - return std::string(BR_STRING_CTXMENU_OPEN_LINK_IN_NEW_WINDOW); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_OPEN_LINK_IN_NEW_WINDOW, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_LINK_TO_DISK: - return std::string(BR_STRING_CTXMENU_DOWNLOAD_LINKED_FILE); - case EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD: - return std::string(BR_STRING_CTXMENU_COPY_LINK_LOCATION); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_DOWNLOAD_LINKED_FILE, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW: - return std::string(BR_STRING_CTXMENU_OPEN_IMAGE_IN_NEW_WINDOW); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_OPEN_IMAGE_IN_NEW_WINDOW, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK: - return std::string(BR_STRING_CTXMENU_SAVE_IMAGE); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_SAVE_IMAGE_AS, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD: - return std::string(BR_STRING_CTXMENU_COPY_IMAGE); - case EWK_CONTEXT_MENU_ITEM_TAG_OPEN_FRAME_IN_NEW_WINDOW: - return std::string(BR_STRING_CTXMENU_OPEN_FRAME_IN_NEW_WINDOW); - case EWK_CONTEXT_MENU_ITEM_TAG_COPY: - return std::string(BR_STRING_CTXMENU_COPY); - case EWK_CONTEXT_MENU_ITEM_TAG_GO_BACK: - return std::string(BR_STRING_CTXMENU_GO_BACK); - case EWK_CONTEXT_MENU_ITEM_TAG_GO_FORWARD: - return std::string(BR_STRING_CTXMENU_GO_FORWARD); - case EWK_CONTEXT_MENU_ITEM_TAG_STOP: - return std::string(BR_STRING_CTXMENU_STOP); - case EWK_CONTEXT_MENU_ITEM_TAG_RELOAD: - return std::string(BR_STRING_CTXMENU_RELOAD); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_COPY_IMAGE, true); + ewk_context_menu_item_append_as_action(menu, CustomContextMenuItemImageSendViaMessageTag, BR_STRING_SHARE_VIA_MESSAGE, true); + ewk_context_menu_item_append_as_action(menu, CustomContextMenuItemImageSendViaEmailTag, BR_STRING_SHARE_VIA_EMAIL, true); + break; + case EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD: + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_COPY_IMAGE_LOCATION, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_CUT: - return std::string(BR_STRING_CTXMENU_CUT); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_CUT, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_PASTE: - return std::string(BR_STRING_CTXMENU_PASTE); - case EWK_CONTEXT_MENU_ITEM_TAG_NO_GUESSES_FOUND: - return std::string(BR_STRING_CTXMENU_NO_GUESS_FOUND); - case EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_SPELLING: - return std::string(BR_STRING_CTXMENU_IGNORE_SPELLING); - case EWK_CONTEXT_MENU_ITEM_TAG_LEARN_SPELLING: - return std::string(BR_STRING_CTXMENU_LEARN_SPELLING); - case EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_IN_SPOTLIGHT: - return std::string(BR_STRING_CTXMENU_SEARCH_IN_SPOTLIGHT); - case EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB: - return std::string(BR_STRING_CTXMENU_SEARCH_THE_WEB); - case EWK_CONTEXT_MENU_ITEM_TAG_LOOK_UP_IN_DICTIONARY: - return std::string(BR_STRING_CTXMENU_LOCK_UP_IN_DIRECTORY); - case EWK_CONTEXT_MENU_ITEM_TAG_OTHER: - case EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_GUESS: - case EWK_CONTEXT_MENU_ITEM_TAG_OPEN_WITH_DEFAULT_APPLICATION: - case EWK_CONTEXT_MENU_ITEM_PDFACTUAL_SIZE: - case EWK_CONTEXT_MENU_ITEM_PDFZOOM_IN: - case EWK_CONTEXT_MENU_ITEM_PDFZOOM_OUT: - case EWK_CONTEXT_MENU_ITEM_PDFAUTO_SIZE: - case EWK_CONTEXT_MENU_ITEM_PDFSINGLE_PAGE: - case EWK_CONTEXT_MENU_ITEM_PDFCONTINUOUS: - case EWK_CONTEXT_MENU_ITEM_PDFNEXT_PAGE: - case EWK_CONTEXT_MENU_ITEM_PDFPREVIOUS_PAGE: - case EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SPELLING_PANEL: - case EWK_CONTEXT_MENU_ITEM_TAG_WRITING_DIRECTION_MENU: - case EWK_CONTEXT_MENU_ITEM_TAG_DEFAULT_DIRECTION: - case EWK_CONTEXT_MENU_ITEM_TAG_LEFT_TO_RIGHT: - case EWK_CONTEXT_MENU_ITEM_TAG_RIGHT_TO_LEFT: - case EWK_CONTEXT_MENU_ITEM_TAG_PDFSINGLE_PAGE_SCROLLING: - case EWK_CONTEXT_MENU_ITEM_TAG_PDFFACING_PAGES_SCROLLING: - case EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_MENU: - case EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_DEFAULT: - case EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_LEFT_TO_RIGHT: - case EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_RIGHT_TO_LEFT: - case EWK_CONTEXT_MENU_ITEM_BASE_CUSTOM_TAG: - case EWK_CONTEXT_MENU_ITEM_CUSTOM_TAG_NO_ACTION: - case EWK_CONTEXT_MENU_ITEM_LAST_CUSTOM_TAG: - case EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG: - /* Not spport yet */ - return std::string(); - case EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK: - return std::string(BR_STRING_CTXMENU_OPEN_LINK); - case EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_GRAMMAR: - return std::string(BR_STRING_CTXMENU_IGNORE_GRAMMAR); - case EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_MENU: - return std::string(BR_STRING_CTXMENU_SPELLING_AND_GRAMMAR); - case EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING: - return std::string(BR_STRING_CTXMENU_CHECK_DOCUMENT_NOW); - case EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING_WHILE_TYPING: - return std::string(BR_STRING_CTXMENU_CHECK_SPELLING_WHILE_TYPEING); - case EWK_CONTEXT_MENU_ITEM_TAG_CHECK_GRAMMAR_WITH_SPELLING: - return std::string(BR_STRING_CTXMENU_CHECK_GRAMMAR_WITH_SPELLING); - case EWK_CONTEXT_MENU_ITEM_TAG_FONT_MENU: - return std::string(BR_STRING_CTXMENU_FONT); - case EWK_CONTEXT_MENU_ITEM_TAG_SHOW_FONTS: - return std::string(BR_STRING_CTXMENU_SHOW_FONTS); - case EWK_CONTEXT_MENU_ITEM_TAG_BOLD: - return std::string(BR_STRING_CTXMENU_BOLD); - case EWK_CONTEXT_MENU_ITEM_TAG_ITALIC: - return std::string(BR_STRING_CTXMENU_ITALIC); - case EWK_CONTEXT_MENU_ITEM_TAG_UNDERLINE: - return std::string(BR_STRING_CTXMENU_UNDERLINE); - case EWK_CONTEXT_MENU_ITEM_TAG_OUTLINE: - return std::string(BR_STRING_CTXMENU_OUTLINE); - case EWK_CONTEXT_MENU_ITEM_TAG_STYLES: - return std::string(BR_STRING_CTXMENU_STYLE); - case EWK_CONTEXT_MENU_ITEM_TAG_SHOW_COLORS: - return std::string(BR_STRING_CTXMENU_SHOW_COLORS); - case EWK_CONTEXT_MENU_ITEM_TAG_SPEECH_MENU: - return std::string(BR_STRING_CTXMENU_SPEECH); - case EWK_CONTEXT_MENU_ITEM_TAG_START_SPEAKING: - return std::string(BR_STRING_CTXMENU_START_SPEAKING); - case EWK_CONTEXT_MENU_ITEM_TAG_STOP_SPEAKING: - return std::string(BR_STRING_CTXMENU_STOP_SPEAKING); - case EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_EMAIL: - return std::string(BR_STRING_CTXMENU_SEND_IMAGE_VIA_EMAIL); - case EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_MESSAGE: - return std::string(BR_STRING_CTXMENU_SEND_IMAGE_VIA_MESSAGE); - case EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_LOCATION_TO_CLIPBOARD: - return std::string(BR_STRING_CTXMENU_COPY_IMAGE_LOCATION); - case EWK_CONTEXT_MENU_ITEM_OPEN_MEDIA_IN_NEW_WINDOW: - return std::string(BR_STRING_CTXMENU_OPEN_MEDIA_IN_NEW_WINDOW); - case EWK_CONTEXT_MENU_ITEM_TAG_COPY_MEDIA_LINK_TO_CLIPBOARD: - return std::string(BR_STRING_CTXMENU_COPY_MEDIA); - case EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_CONTROLS: - return std::string(BR_STRING_CTXMENU_TOGGLE_MEDIA_CONTOLS); - case EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_LOOP: - return std::string(BR_STRING_CTXMENU_TOGGLE_MEDIA_LOOP_PLAYBACK); - case EWK_CONTEXT_MENU_ITEM_TAG_ENTER_VIDEO_FULLSCREEN: - return std::string(BR_STRING_CTXMENU_SWITCH_VIDEO_TO_FUUL_SCREEN); - case EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_PLAY_PAUSE: - return std::string(BR_STRING_CTXMENU_PAUSE); - case EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_MUTE: - return std::string(BR_STRING_CTXMENU_MUTE); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_PASTE, true); + break; + case EWK_CONTEXT_MENU_ITEM_TAG_COPY: + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_COPY, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_SELECT_ALL: - return std::string(BR_STRING_CTXMENU_SELECT_ALL); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_SELECT_ALL, true); + break; case EWK_CONTEXT_MENU_ITEM_TAG_SELECT_WORD: - return std::string(BR_STRING_CTXMENU_SELECT); + ewk_context_menu_item_append_as_action(menu, tag, BR_STRING_CTXMENU_SELECT_WORD, true); + break; default: - return std::string(); - } -} - -void Browser_Context_Menu::destroy_context_popup(void) -{ - BROWSER_LOGD("[%s]", __func__); - for(int i = 0 ; i < m_param_list.size() ; i++) { - if (m_param_list[i]) - free(m_param_list[i]); - } - m_param_list.clear(); - - if (m_context_popup) { - evas_object_del(m_context_popup); - m_context_popup = NULL; - } -} - -void Browser_Context_Menu::__context_menu_customize_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) - return; - - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - if (!context_menu->m_context_popup) - return; - - Eina_List *menu_list = (Eina_List *)event_info; - - Eina_List *list = NULL; - void *item_data = NULL; - Ewk_Context_Menu_Item *menu_item = NULL; - - if (!context_menu->m_context_menu_data->is_text_selection) { - BROWSER_LOGD("text is not selected"); - EINA_LIST_FOREACH(menu_list, list, item_data) { - menu_item = (Ewk_Context_Menu_Item *)item_data; - if (ewk_context_menu_item_enabled_get(menu_item) - && ewk_context_menu_item_type_get(menu_item) == EWK_ACTION_TYPE) { - Ewk_Context_Menu_Action action = ewk_context_menu_item_action_get(menu_item); - if (action == EWK_CONTEXT_MENU_ITEM_TAG_COPY - || action == EWK_CONTEXT_MENU_ITEM_TAG_RELOAD - || action == EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB - || action == EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK - || action == EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD) - continue; - if (action == EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_EMAIL - || action == EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_MESSAGE) - continue; - - if (context_menu->m_for_reader_view) { - if (action == EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW - || action == EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW) - continue; - } - - std::string menu_text = context_menu->_get_context_menu_item_text(action); - if (!menu_text.empty()) { - context_popup_item_callback_param *param = NULL; - param = (context_popup_item_callback_param *)malloc(sizeof(context_popup_item_callback_param)); - if (!param) { - BROWSER_LOGE("malloc failed"); - return; - } - context_menu->m_current_context_menu_item = param->menu_item = (Ewk_Context_Menu_Item *)item_data; - param->user_data = context_menu; - context_menu->m_param_list.push_back(param); - BROWSER_LOGD("apend item=[%s]", menu_text.c_str()); - elm_ctxpopup_item_append(context_menu->m_context_popup, menu_text.c_str(), - NULL, __context_menu_item_selected_cb, param); - } - if (action == EWK_CONTEXT_MENU_ITEM_TAG_PASTE) { - BROWSER_LOGD("apend item=[%s]", BR_STRING_CTXMENU_MORE); - elm_ctxpopup_item_append(context_menu->m_context_popup, BR_STRING_CTXMENU_MORE, - NULL, __context_menu_paste_more_item_selected_cb, context_menu); - } - } - } - evas_object_smart_callback_del(context_menu->m_context_popup, "dismissed", - __context_popup_dismissed_cb); - evas_object_smart_callback_add(context_menu->m_context_popup, "dismissed", - __context_popup_dismissed_cb, context_menu); - } else { - BROWSER_LOGD("text is selected"); - if (!(context_menu->m_context_menu_data->hit_test_result_context & EWK_HIT_TEST_RESULT_CONTEXT_IMAGE)) { - /* If not on image, context popup is copy & paste style. */ - elm_object_style_set(context_menu->m_context_popup, "extended/entry/pass_event"); - elm_ctxpopup_horizontal_set(context_menu->m_context_popup, EINA_TRUE); - elm_ctxpopup_direction_priority_set(context_menu->m_context_popup, - ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UP, - ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UP); - } - - Eina_Bool search_menu = EINA_FALSE; - EINA_LIST_FOREACH(menu_list, list, item_data) { - menu_item = (Ewk_Context_Menu_Item *)item_data; - if (ewk_context_menu_item_enabled_get(menu_item) - && ewk_context_menu_item_type_get(menu_item) == EWK_ACTION_TYPE) { - Ewk_Context_Menu_Action action = ewk_context_menu_item_action_get(menu_item); - /* EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB is shown when WebKit decides that selected content - * is a word - whitespace characters only selections are ignored */ - if (action == EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB) - search_menu = EINA_TRUE; - /* if we call context menu on image in editable (is_text_selection = TRUE) we should - * only show context menu related to image, otherwise... */ - if (context_menu->m_context_menu_data->hit_test_result_context - & EWK_HIT_TEST_RESULT_CONTEXT_IMAGE) { - if (action != EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD - && action != EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK - && action != EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_EMAIL - && action != EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_MESSAGE - && action != EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_LOCATION_TO_CLIPBOARD) - continue; - } else { - if (action != EWK_CONTEXT_MENU_ITEM_TAG_COPY - && action != EWK_CONTEXT_MENU_ITEM_TAG_CUT - && action != EWK_CONTEXT_MENU_ITEM_TAG_PASTE - && action != EWK_CONTEXT_MENU_ITEM_TAG_SELECT_ALL - && action != EWK_CONTEXT_MENU_ITEM_TAG_SELECT_WORD) - continue; - } - - if (action == EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD) - continue; - - if (action == EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_EMAIL - || action == EWK_CONTEXT_MENU_ITEM_TAG_SEND_VIA_MESSAGE) - continue; - - if (context_menu->m_for_reader_view) { - if (action == EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW - || action == EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW) - continue; - } - - std::string menu_text = context_menu->_get_context_menu_item_text(action); - if (!menu_text.empty()) { - context_popup_item_callback_param *param = NULL; - param = (context_popup_item_callback_param *)malloc(sizeof(context_popup_item_callback_param)); - if (!param) { - BROWSER_LOGE("malloc failed"); - return; - } - context_menu->m_current_context_menu_item = param->menu_item = (Ewk_Context_Menu_Item *)item_data; - param->user_data = context_menu; - context_menu->m_param_list.push_back(param); - BROWSER_LOGD("apend item=[%s]", menu_text.c_str()); - elm_ctxpopup_item_append(context_menu->m_context_popup, menu_text.c_str(), - NULL, __context_menu_item_selected_cb, param); - } - if (action == EWK_CONTEXT_MENU_ITEM_TAG_PASTE) { - BROWSER_LOGD("apend item=[%s]", BR_STRING_CTXMENU_MORE); - elm_ctxpopup_item_append(context_menu->m_context_popup, BR_STRING_CTXMENU_MORE, - NULL, __context_menu_paste_more_item_selected_cb, context_menu); - } - } - } - - elm_object_tree_focus_allow_set(context_menu->m_context_popup, EINA_TRUE); - if (context_menu->m_context_menu_data->hit_test_result_context & EWK_HIT_TEST_RESULT_CONTEXT_IMAGE) { - evas_object_smart_callback_del(context_menu->m_context_popup, "dismissed", - __context_popup_dismissed_cb); - evas_object_smart_callback_add(context_menu->m_context_popup, "dismissed", - __context_popup_dismissed_cb, context_menu); + break; } } } -void Browser_Context_Menu::__context_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_Context_Menu::__custom_context_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); - if (!data) + if (!event_info) return; - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - context_menu->destroy_context_popup(); -} - -void Browser_Context_Menu::__context_menu_paste_more_item_selected_cb(void *data, - Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; + Ewk_Context_Menu_Item* item = static_cast(event_info); + Browser_Context_Menu *context_menu = static_cast(data); - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - Evas_Object *webview = context_menu->m_webview; - elm_webview_cbhm_run(webview); - elm_webview_context_menu_item_selected(webview, NULL); + std::string link_url_string = ewk_context_menu_item_link_url_get(item); + BROWSER_LOGD("link url=[%s]", link_url_string.c_str()); + std::string image_url_string = ewk_context_menu_item_image_url_get(item); + BROWSER_LOGD("image url=[%s]", image_url_string.c_str()); - context_menu->destroy_context_popup(); -} - -void Browser_Context_Menu::__context_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - context_popup_item_callback_param *param = (context_popup_item_callback_param *)data; - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)(param->user_data); - Ewk_Context_Menu_Item *menu_item = param->menu_item; - if (!menu_item) - return; + Ewk_Context_Menu_Item_Tag tag = ewk_context_menu_item_tag_get(item); + switch (tag) { - context_menu->destroy_context_popup(); - - Evas_Object *webview = context_menu->m_webview; - elm_webview_context_menu_item_selected(webview, menu_item); -} - -void Browser_Context_Menu::__context_menu_save_as_cb(void *data, Evas_Object *obj, void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - Browser_Context_Menu *context_menu = (Browser_Context_Menu *)data; - - const char *image_file_name = (const char *)event_info; - if (!image_file_name || !strlen(image_file_name)) { - BROWSER_LOGE("image file name is empty"); - return; + default: + break; } - - BROWSER_LOGD("image file name=[%s]", image_file_name); - - if (!context_menu->m_current_context_menu_item) { - BROWSER_LOGE("context_menu->m_current_context_menu_item is null"); - return; - } - Ewk_Context_Menu *ewk_context_menu = ewk_context_menu_item_parent_get(context_menu->m_current_context_menu_item); - - int result = ewk_context_menu_cached_image_save(ewk_context_menu, image_file_name); - if (!result) - context_menu->m_browser_view->show_notify_popup(BR_STRING_SAVED, 2, EINA_TRUE); - - context_menu->destroy_context_popup(); } diff --git a/src/browser-view/browser-context-menu.h b/src/browser-view/browser-context-menu.h index 734c13f7..4c1735ae 100755 --- a/src/browser-view/browser-context-menu.h +++ b/src/browser-view/browser-context-menu.h @@ -1,68 +1,50 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_CONTEXT_MENU_H #define BROWSER_CONTEXT_MENU_H #include "browser-config.h" +#include "browser-common-view.h" +#include "browser-utility.h" class Browser_View; -class Browser_Context_Menu { + +class Browser_Context_Menu : public Browser_Utility, public Browser_Common_View { public: - Browser_Context_Menu(Evas_Object *naviframe, Browser_View *browser_view); + Browser_Context_Menu(Browser_View *browser_view); ~Browser_Context_Menu(void); - Eina_Bool init(Evas_Object *webview, Eina_Bool reader_view = EINA_FALSE); + Eina_Bool init(void) {} + void init(Evas_Object *ewk_view); void deinit(void); - void destroy_context_popup(void); - - typedef struct _context_popup_item_callback_param { - Ewk_Context_Menu_Item *menu_item; - void *user_data; - } context_popup_item_callback_param; + enum { + CustomContextMenuItemBaseApplicationTag = EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG, + CustomContextMenuItemImageSendViaMessageTag, + CustomContextMenuItemImageSendViaEmailTag + }; private: - /* evas object smart callback functions */ - static void __context_menu_new_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_show_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_move_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_hide_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_del_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_customize_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_save_as_cb(void *data, Evas_Object *obj, void *event_info); - static void __magnifier_shown_cb(void *data, Evas_Object *obj, void *event_info); - static void __magnifier_hidden_cb(void *data, Evas_Object *obj, void *event_info); - - static void __context_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_menu_paste_more_item_selected_cb(void *data, Evas_Object *obj, void *event_info); - static void __context_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info); - - std::string _get_context_menu_item_text(Ewk_Context_Menu_Action action); - - Evas_Object *m_naviframe; - Evas_Object *m_webview; - Evas_Object *m_context_popup; - Elm_WebView_Context_Menu_Data *m_context_menu_data; - Eina_Bool m_for_reader_view; + static void __get_context_menu_from_proposed_context_menu_cb(void *data, Evas_Object *obj, void *event_info); + static void __custom_context_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info); Browser_View *m_browser_view; - - std::vector m_param_list; - - Ewk_Context_Menu_Item *m_current_context_menu_item; + Evas_Object *m_ewk_view; }; #endif /* BROWSER_CONTEXT_MENU_H */ diff --git a/src/browser-view/browser-most-visited.cpp b/src/browser-view/browser-most-visited.cpp new file mode 100644 index 00000000..487f2bf9 --- /dev/null +++ b/src/browser-view/browser-most-visited.cpp @@ -0,0 +1,424 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "browser-view.h" +#include "browser-history-db.h" +#include "browser-most-visited.h" + +Browser_Most_Visited::Browser_Most_Visited(Evas_Object *navi_bar, Browser_History_DB *history_db, + Browser_View *browser_view) +: + m_navi_bar(navi_bar) + ,m_history_db(history_db) + ,m_browser_view(browser_view) + ,m_main_layout(NULL) + ,m_item_box(NULL) + ,m_done_button(NULL) + ,m_longpress_timer(NULL) + ,m_guide_text_label(NULL) + ,m_is_edit_mode(EINA_FALSE) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Most_Visited::~Browser_Most_Visited(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_main_layout) + evas_object_del(m_main_layout); + if (m_item_box) + evas_object_del(m_item_box); +} + +void Browser_Most_Visited::_clear_items(void) +{ + BROWSER_LOGD("[%s]", __func__); + elm_box_clear(m_item_box); + for (int i = 0 ; i < m_most_visited_list.size() ; i++) { + if (m_most_visited_list[i]) { + if (m_most_visited_list[i]->layout) + evas_object_del(m_most_visited_list[i]->layout); + if (m_most_visited_list[i]->item_button) + evas_object_del(m_most_visited_list[i]->item_button); + if (m_most_visited_list[i]->favicon) + evas_object_del(m_most_visited_list[i]->favicon); + delete m_most_visited_list[i]; + m_most_visited_list.erase(m_most_visited_list.begin() + i); + } + } + + m_most_visited_list.clear(); +} + +void Browser_Most_Visited::_most_visited_item_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + most_visited_item *item = (most_visited_item *)data; + Browser_Most_Visited *most_visited = (Browser_Most_Visited *)(item->user_data); + + if (!most_visited->m_is_edit_mode) { + /* Give focus the hide the keypad. */ + elm_object_focus_set(most_visited->m_browser_view->m_option_header_cancel_button, EINA_TRUE); + /* Load selected url only with normal mode not edit mode. */ + most_visited->m_browser_view->load_url(item->url.c_str()); + } +} + +void Browser_Most_Visited::__item_mouse_down_cb(void* data, Evas* evas, + Evas_Object* obj, void* ev) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Most_Visited *most_visited = (Browser_Most_Visited *)data; + + if (!most_visited->m_is_edit_mode) { + /* If normal mode. */ + if (most_visited->m_longpress_timer) + ecore_timer_del(most_visited->m_longpress_timer); + most_visited->m_longpress_timer = ecore_timer_add(elm_longpress_timeout_get(), + __longpress_timeout_cb, data); + } +} + +void Browser_Most_Visited::__item_mouse_up_cb(void* data, Evas* evas, + Evas_Object* obj, void* ev) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Browser_Most_Visited *most_visited = (Browser_Most_Visited *)data; + + if (most_visited->m_longpress_timer) { + ecore_timer_del(most_visited->m_longpress_timer); + most_visited->m_longpress_timer = NULL; + } +} + +Eina_Bool Browser_Most_Visited::__longpress_timeout_cb(void* data) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) + return ECORE_CALLBACK_CANCEL; + + Browser_Most_Visited *most_visited = (Browser_Most_Visited *)data; + most_visited->m_longpress_timer = NULL; + + most_visited->m_is_edit_mode = EINA_TRUE; + +#if defined(HORIZONTAL_UI) + if (most_visited->m_browser_view->is_landscape()) + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_main_layout), + "most_visited,landscape_edit_mode,signal", ""); + else +#endif + /* Expand the background of most visited list. */ + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_main_layout), + "most_visited,edit_mode,signal", ""); + + /* Show delete button on each item. */ + for (int i = 0 ; i < most_visited->m_most_visited_list.size() ; i++) + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_most_visited_list[i]->layout), + "most_visited,edit_mode,signal", ""); + + return ECORE_CALLBACK_CANCEL; +} + +void Browser_Most_Visited::__done_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_Most_Visited *most_visited = (Browser_Most_Visited *)data; + if (most_visited->m_longpress_timer) { + ecore_timer_del(most_visited->m_longpress_timer); + most_visited->m_longpress_timer = NULL; + } + + most_visited->m_is_edit_mode = EINA_FALSE; + +#if defined(HORIZONTAL_UI) + if (most_visited->m_browser_view->is_landscape()) + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_main_layout), + "most_visited,landscape_normal_mode,signal", ""); + else +#endif + /* Downscale the background of most visited list. */ + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_main_layout), + "most_visited,normal_mode,signal", ""); + + /* Hide delete button on each item. */ + for (int i = 0 ; i < most_visited->m_most_visited_list.size() ; i++) + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_most_visited_list[i]->layout), + "most_visited,normal_mode,signal", ""); +} + +#if defined(HORIZONTAL_UI) +void Browser_Most_Visited::rotate(int degree) +{ + BROWSER_LOGD("[%s]", __func__); + + if (m_most_visited_list.size()) { + m_is_edit_mode = EINA_FALSE; + + if (m_browser_view->is_landscape()) + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "most_visited,landscape_normal_mode,signal", ""); + else + /* Downscale the background of most visited list. */ + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "most_visited,normal_mode,signal", ""); + /* Hide delete button on each item. */ + for (int i = 0 ; i < m_most_visited_list.size() ; i++) + edje_object_signal_emit(elm_layout_edje_get(m_most_visited_list[i]->layout), + "most_visited,normal_mode,signal", ""); + + if (degree == 0) + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "most_visited,portrait,signal", ""); + else + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "most_visited,landscape,signal", ""); + } +} +#endif + +Eina_Bool Browser_Most_Visited::_show_guide_text(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (m_guide_text_label) { + elm_object_part_content_unset(m_main_layout, "elm.swallow.most_visited_guide_text"); + evas_object_del(m_guide_text_label); + } + + m_guide_text_label = elm_label_add(m_item_box); + if (!m_guide_text_label) { + BROWSER_LOGE("elm_label_add failed"); + return EINA_FALSE; + } + + elm_label_line_wrap_set(m_guide_text_label, ELM_WRAP_WORD); + + std::string guide_text = std::string("") + std::string(BR_STRING_MOST_VISITED_GUIDE_TEXT) + + std::string(""); + elm_object_text_set(m_guide_text_label, guide_text.c_str()); + + elm_object_part_content_set(m_main_layout, "elm.swallow.most_visited_guide_text", m_guide_text_label); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "show,guide_text,signal", ""); + evas_object_show(m_guide_text_label); + + return EINA_TRUE; +} + +void Browser_Most_Visited::__delete_icon_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + most_visited_item *item = (most_visited_item *)data; + Browser_Most_Visited *most_visited = (Browser_Most_Visited *)(item->user_data); + + elm_box_unpack(most_visited->m_item_box, item->layout); + if (!most_visited->m_history_db->delete_history(item->url.c_str())) + BROWSER_LOGE("delete_history failed"); + + int index = 0; + for (index = 0 ; index < most_visited->m_most_visited_list.size() ; index++) { + if (most_visited->m_most_visited_list[index] == item) + break; + } + + if (most_visited->m_most_visited_list[index]->layout) + evas_object_del(most_visited->m_most_visited_list[index]->layout); + if (most_visited->m_most_visited_list[index]->item_button) + evas_object_del(most_visited->m_most_visited_list[index]->item_button); + if (most_visited->m_most_visited_list[index]->favicon) + evas_object_del(most_visited->m_most_visited_list[index]->favicon); + + delete most_visited->m_most_visited_list[index]; + most_visited->m_most_visited_list.erase(most_visited->m_most_visited_list.begin() + index); + + if (most_visited->m_most_visited_list.size() == 0) { +#if defined(HORIZONTAL_UI) + if (most_visited->m_browser_view->is_landscape()) + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_main_layout), + "most_visited,landscape_normal_mode,signal", ""); + else +#endif + /* Downscale the background of most visited list. */ + edje_object_signal_emit(elm_layout_edje_get(most_visited->m_main_layout), + "most_visited,normal_mode,signal", ""); + if (!most_visited->_show_guide_text()) + BROWSER_LOGE("_show_guide_text failed"); + } +} + +Eina_Bool Browser_Most_Visited::_update_items(void) +{ + BROWSER_LOGD("[%s]", __func__); + + _clear_items(); + + std::vector most_visited_list; + if (!m_history_db->get_most_visited_list(most_visited_list)) { + BROWSER_LOGE("m_history_db->get_most_visited_list failed"); + return EINA_FALSE; + } + + for (int i = 0 ; i < most_visited_list.size() ; i++) { + most_visited_item *item = new(nothrow) most_visited_item; + if (!item) { + BROWSER_LOGE("new most_visited_item failed"); + return EINA_FALSE; + } + item->layout = NULL; + item->item_button = NULL; + item->favicon = NULL; + + item->url = std::string(most_visited_list[i].url.c_str()); + item->user_data = (void *)this; + + item->layout = elm_layout_add(m_navi_bar); + if (!item->layout) { + BROWSER_LOGE("elm_layout_add failed."); + return EINA_FALSE; + } + if (!elm_layout_file_set(item->layout, BROWSER_EDJE_DIR"/browser-most-visited.edj", + "browser/most-visited-item")) + BROWSER_LOGE("elm_layout_file_set failed"); + evas_object_size_hint_weight_set(item->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(item->layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + edje_object_signal_callback_add(elm_layout_edje_get(item->layout), "mouse,clicked,1", + "delete_icon", __delete_icon_clicked_cb, item); + + elm_box_pack_end(m_item_box, item->layout); + evas_object_show(item->layout); + + item->item_button = elm_button_add(m_navi_bar); + if (!item->item_button) { + BROWSER_LOGE("elm_button_add failed."); + return EINA_FALSE; + } + elm_object_style_set(item->item_button, "browser/most_visited_item"); + elm_object_part_content_set(item->layout, "elm.swallow.button", item->item_button); + + /* Do no allow focus on most visited item. + * If the item can have focus, the keypad is hided automatically when user click the most visited item. + * It's because to be able to change to edit mode. */ + elm_object_focus_allow_set(item->item_button, EINA_FALSE); + evas_object_smart_callback_add(item->item_button, "clicked", _most_visited_item_clicked_cb, item); + evas_object_event_callback_add(item->item_button, EVAS_CALLBACK_MOUSE_DOWN, + __item_mouse_down_cb, this); + evas_object_event_callback_add(item->item_button, EVAS_CALLBACK_MOUSE_UP, + __item_mouse_up_cb, this); + evas_object_show(item->item_button); + + item->favicon = m_browser_view->get_favicon(item->url.c_str()); + if (!item->favicon) { + item->favicon = elm_icon_add(m_navi_bar); + if (!item->favicon) { + BROWSER_LOGE("elm_icon_add failed."); + return EINA_FALSE; + } + if (!elm_icon_file_set(item->favicon, BROWSER_IMAGE_DIR"/faviconDefault.png", NULL)) + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + } + + elm_object_part_content_set(item->layout, "elm.swallow.favicon", item->favicon); + evas_object_show(item->favicon); + + edje_object_part_text_set(elm_layout_edje_get(item->layout), "name", + most_visited_list[i].title.c_str()); + + m_most_visited_list.push_back(item); + } + + if (most_visited_list.size() == 0) + if (!_show_guide_text()) + BROWSER_LOGE("_show_guide_text failed"); + + return EINA_TRUE; +} + +Evas_Object *Browser_Most_Visited::create_most_visited_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + + m_main_layout = elm_layout_add(m_navi_bar); + if (!m_main_layout) { + BROWSER_LOGE("elm_layout_add failed!"); + return NULL; + } + + if (!elm_layout_file_set(m_main_layout, BROWSER_EDJE_DIR"/browser-most-visited.edj", + "browser/most-visited")) { + BROWSER_LOGE("elm_layout_file_set failed"); + return NULL; + } + evas_object_show(m_main_layout); + + m_item_box = elm_box_add(m_navi_bar); + if (!m_item_box) { + BROWSER_LOGE("elm_box_add failed"); + return NULL; + } + evas_object_size_hint_align_set(m_item_box, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_horizontal_set(m_item_box, EINA_TRUE); + elm_box_homogeneous_set(m_item_box, EINA_TRUE); + elm_object_part_content_set(m_main_layout, "elm.swallow.most_visited", m_item_box); + evas_object_show(m_item_box); + + if (!_update_items()) { + BROWSER_LOGE("_update_items failed!"); + return NULL; + } + + edje_object_part_text_set(elm_layout_edje_get(m_main_layout), + "elm.text.most_visited_title", BR_STRING_MOST_VISITED_SITES); + + m_done_button = elm_button_add(m_navi_bar); + if (!m_done_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_done_button, "text_only/style1"); + elm_object_text_set(m_done_button, BR_STRING_DONE); + /* Do no allow focus on done button. + * If the item can have focus, the keypad is hided automatically when user click done button. */ + elm_object_focus_allow_set(m_done_button, EINA_FALSE); + evas_object_smart_callback_add(m_done_button, "clicked", __done_button_clicked_cb, this); + elm_object_part_content_set(m_main_layout, "elm.swallow.done", m_done_button); + +#if defined(HORIZONTAL_UI) + if (m_browser_view->is_landscape()) + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "most_visited,landscape,signal", ""); +#endif + + return m_main_layout; +} + diff --git a/src/browser-view/browser-most-visited.h b/src/browser-view/browser-most-visited.h new file mode 100644 index 00000000..2f79acba --- /dev/null +++ b/src/browser-view/browser-most-visited.h @@ -0,0 +1,76 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef BROWSER_MOST_VISITED_H +#define BROWSER_MOST_VISITED_H + +#include "browser-config.h" + +class Browser_History_DB; +class Browser_View; + +class Browser_Most_Visited { +public: + struct most_visited_item { + std::string url; + Evas_Object *layout; + Evas_Object *item_button; + Evas_Object *favicon; + void *user_data; + }; + + Browser_Most_Visited(Evas_Object *navi_bar, Browser_History_DB *history_db, Browser_View *browser_view); + ~Browser_Most_Visited(void); + + Evas_Object *create_most_visited_layout(void); +#if defined(HORIZONTAL_UI) + void rotate(int degree); +#endif +private: + Eina_Bool _update_items(void); + void _clear_items(void); + Eina_Bool _show_guide_text(void); + + /* elementary event callback functions */ + static void _most_visited_item_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __done_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + + /* evas object event callback functions */ + static void __item_mouse_down_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); + static void __item_mouse_up_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); + + /* ecore timer callback functions */ + static Eina_Bool __longpress_timeout_cb(void* data); + + /* edje object event callback functions */ + static void __delete_icon_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + + Evas_Object *m_navi_bar; + Evas_Object *m_main_layout; + Evas_Object *m_item_box; + Evas_Object *m_done_button; + Evas_Object *m_guide_text_label; + Browser_History_DB *m_history_db; + Browser_View *m_browser_view; + Ecore_Timer *m_longpress_timer; + std::vector m_most_visited_list; + Eina_Bool m_is_edit_mode; +}; +#endif /* BROWSER_MOST_VISITED_H */ + diff --git a/src/browser-view/browser-predictive-history.cpp b/src/browser-view/browser-predictive-history.cpp deleted file mode 100755 index 09d30b1d..00000000 --- a/src/browser-view/browser-predictive-history.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "browser-history-db.h" -#include "browser-predictive-history.h" -#include "browser-view.h" - -Browser_Predictive_History::Browser_Predictive_History(Evas_Object *navi_bar, Browser_History_DB *history_db, - Browser_View *browser_view) -: - m_navi_bar(navi_bar) - ,m_history_db(history_db) - ,m_browser_view(browser_view) - ,m_genlist(NULL) - ,m_main_layout(NULL) -{ - BROWSER_LOGD("[%s]", __func__); - - memset(m_param, 0x00, sizeof(genlist_callback_param) * BROWSER_PREDICTIVE_HISTORY_COUNT); -} - -Browser_Predictive_History::~Browser_Predictive_History(void) -{ - BROWSER_LOGD("[%s]", __func__); - edje_object_signal_emit(elm_layout_edje_get(m_browser_view->m_main_layout), - "hide,predictive_history,signal", ""); - if (m_main_layout) - evas_object_del(m_main_layout); -} - -char *Browser_Predictive_History::__genlist_predictive_history_get(void *data, - Evas_Object *obj, const char *part) -{ - if (!part || !data) - return NULL; - - std::string url = *((std::string *)data); - if(!strncmp(part, "elm.text", strlen("elm.text"))) - return strdup(url.c_str()); - - return NULL; -} - -Evas_Object *Browser_Predictive_History::__genlist_history_icon_get_cb(void *data, - Evas_Object *obj, const char *part) -{ - if (part && strlen(part) > 0) { - if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { - Evas_Object *globe_icon = elm_icon_add(obj); - if (!elm_icon_file_set(globe_icon, BROWSER_IMAGE_DIR"/globe.png", NULL)) { - BROWSER_LOGE("elm_icon_file_set is failed.\n"); - return NULL; - } - - evas_object_size_hint_aspect_set(globe_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - return globe_icon; - } - } - - return NULL; -} - -void Browser_Predictive_History::__genlist_scrolled_cb(void *data, Evas_Object *obj, - void *event_info) -{ - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_Predictive_History *predictive_history = (Browser_Predictive_History *)data; - - predictive_history->m_browser_view->set_edit_mode(BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF); - - elm_object_focus_allow_set(predictive_history->m_genlist, EINA_TRUE); - elm_object_focus_set(predictive_history->m_genlist, EINA_TRUE); -} - -Evas_Object *Browser_Predictive_History::create_predictive_history_layout(void) -{ - BROWSER_LOGD("[%s]", __func__); - - m_main_layout = elm_layout_add(m_navi_bar); - if (!m_main_layout) { - BROWSER_LOGE("elm_layout_add failed"); - return NULL; - } - if (!elm_layout_file_set(m_main_layout, BROWSER_EDJE_DIR"/browser-predictive-history.edj", - "browser/predictive-history")) { - BROWSER_LOGE("elm_layout_file_set failed"); - return NULL; - } - - evas_object_show(m_main_layout); - - m_genlist = elm_genlist_add(m_navi_bar); - if (!m_genlist) { - BROWSER_LOGE("elm_genlist_add failed"); - return NULL; - } - - memset(&m_item_class, 0x00, sizeof(m_item_class)); - m_item_class.item_style = "browser/1text.1icon.2"; - m_item_class.func.text_get = __genlist_predictive_history_get; - m_item_class.func.content_get = __genlist_history_icon_get_cb; - m_item_class.func.state_get = NULL; - m_item_class.func.del = NULL; - - elm_object_part_content_set(m_main_layout, "elm.swallow.predictive_history_genlist", m_genlist); - - evas_object_smart_callback_add(m_genlist, "drag,stop", __genlist_scrolled_cb, this); - evas_object_show(m_genlist); - - /* Do not allow focus to genlist because if the genlist has focus, - * the keypad is hided automatically when user touch the genlist. */ - elm_object_focus_allow_set(m_genlist, EINA_FALSE); - - return m_main_layout; -} - -Eina_Bool Browser_Predictive_History::__load_uri_idler_cb(void *data) -{ - BROWSER_LOGD("[%s]", __func__); - - if (!data) - return ECORE_CALLBACK_CANCEL; - Browser_Predictive_History *predictive_history = (Browser_Predictive_History *)data; - predictive_history->m_browser_view->load_url(predictive_history->m_uri_to_load.c_str()); - - /* Workaround, give focus to option header cancel button to hide imf. */ - elm_object_focus_set(m_data_manager->get_browser_view()->m_option_header_cancel_button, EINA_TRUE); - - return ECORE_CALLBACK_CANCEL; -} - - -void Browser_Predictive_History::__predictive_history_item_clicked_cb(void *data, Evas_Object *obj, - void *event_info) -{ - if (!data) - return; - genlist_callback_param *param = (genlist_callback_param *)data; - Browser_Predictive_History *predictive_history = param->predictive_history; - int index = param->index; - BROWSER_LOGD("selected url=[%s]", predictive_history->m_history_list[index].c_str()); - - /* Remove the , tag. */ - std::string source_string = predictive_history->m_history_list[index]; - string::size_type pos = string::npos; - if((pos = source_string.find("")) != string::npos) - source_string.replace(pos, strlen(""), std::string("")); - - if((pos = source_string.find("")) != string::npos) - source_string.replace(pos, strlen(""), std::string("")); - - BROWSER_LOGD("source_string=[%s]", source_string.c_str()); - - Evas_Object *edit_field_entry = br_elm_editfield_entry_get(predictive_history->m_browser_view->_get_activated_url_entry()); - /* Becaue of predictive hisotry. */ - evas_object_smart_callback_del(edit_field_entry, "changed", Browser_View::__url_entry_changed_cb); - - predictive_history->m_uri_to_load = source_string; - - ecore_idler_add(__load_uri_idler_cb, predictive_history); -} - -void Browser_Predictive_History::url_changed(const char *url) -{ - m_history_list.clear(); - m_history_db->get_history_list_by_partial_url(url, BROWSER_PREDICTIVE_HISTORY_COUNT, m_history_list); - elm_genlist_clear(m_genlist); - memset(m_param, 0x00, sizeof(genlist_callback_param) * BROWSER_PREDICTIVE_HISTORY_COUNT); - - for (int i = 0 ; i < m_history_list.size() ; i++) { - /* Remove 'http://' prefix. */ - if (!strncmp(m_history_list[i].c_str(), BROWSER_HTTP_SCHEME, strlen(BROWSER_HTTP_SCHEME))) - m_history_list[i] = m_history_list[i].substr(strlen(BROWSER_HTTP_SCHEME)); - - /* mark matched words with match tag. - * The tag is defined in browser-predictive-history.edc */ - int pos = m_history_list[i].find(url); - m_history_list[i] = m_history_list[i].substr(0, pos) + std::string("") + std::string(url) - + std::string("") + m_history_list[i].substr(pos + strlen(url)); - - m_param[i].predictive_history = this; - m_param[i].index = i; - elm_genlist_item_append(m_genlist, &m_item_class, &m_history_list[i], NULL, ELM_GENLIST_ITEM_NONE, - __predictive_history_item_clicked_cb, &m_param[i]); - } - - if (url && strlen(url)) - edje_object_signal_emit(elm_layout_edje_get(m_browser_view->m_main_layout), - "show,predictive_history,signal", ""); - else - edje_object_signal_emit(elm_layout_edje_get(m_browser_view->m_main_layout), - "hide,predictive_history,signal", ""); -} - diff --git a/src/browser-view/browser-predictive-history.h b/src/browser-view/browser-predictive-history.h deleted file mode 100755 index cfa291c2..00000000 --- a/src/browser-view/browser-predictive-history.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_PREDICTIVE_HISTORY_H -#define BROWSER_PREDICTIVE_HISTORY_H - -#include "browser-config.h" -#include "browser-common-view.h" - -class Browser_History_DB; -class Browser_View; - -class Browser_Predictive_History : public Browser_Common_View { -public: - Browser_Predictive_History(Evas_Object *navi_bar, Browser_History_DB *history_db, - Browser_View *browser_view); - ~Browser_Predictive_History(void); - - Evas_Object *create_predictive_history_layout(void); - void url_changed(const char *url); - - Eina_Bool init(void) {} -private: - typedef struct _genlist_callback_param{ - Browser_Predictive_History *predictive_history; - int index; - } genlist_callback_param; - - static Eina_Bool __load_uri_idler_cb(void *data); - /* genlist callback functions */ - static char *__genlist_predictive_history_get(void *data, - Evas_Object *obj, const char *part); - static Evas_Object *__genlist_history_icon_get_cb(void *data, - Evas_Object *obj, const char *part); - - /* elementary event callback functions */ - static void __predictive_history_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); - static void __genlist_scrolled_cb(void *data, Evas_Object *obj, void *event_info); - - Evas_Object *m_navi_bar; - Browser_History_DB *m_history_db; - Browser_View *m_browser_view; - - Evas_Object *m_main_layout; - Evas_Object *m_genlist; - Elm_Genlist_Item_Class m_item_class; - - std::vector m_history_list; - genlist_callback_param m_param[BROWSER_PREDICTIVE_HISTORY_COUNT]; - - std::string m_uri_to_load; -}; -#endif /* BROWSER_PREDICTIVE_HISTORY_H */ - diff --git a/src/browser-view/browser-view.cpp b/src/browser-view/browser-view.cpp index 1e946b3e..403eeb14 100755 --- a/src/browser-view/browser-view.cpp +++ b/src/browser-view/browser-view.cpp @@ -1,40 +1,44 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include "browser-add-to-bookmark-view.h" #include "browser-bookmark-view.h" -#include "browser-certificate-manager.h" #include "browser-class.h" +#include "browser-config.h" #include "browser-context-menu.h" -#include "browser-exscheme-handler.h" #include "browser-history-db.h" #include "browser-find-word.h" #include "browser-multi-window-view.h" -#include "browser-personal-data-manager.h" -#include "browser-picker-handler.h" -#include "browser-predictive-history.h" +#include "browser-scissorbox-view.h" #include "browser-settings-class.h" +#if defined(FEATURE_MOST_VISITED_SITES) +#include "most-visited-sites.h" +#include "most-visited-sites-db.h" +#endif #include "browser-string.h" #include "browser-view.h" #include "browser-window.h" #include -#include -Browser_View::Browser_View(Evas_Object *win, Evas_Object *navi_bar, - Evas_Object *bg, Evas_Object *layout, Browser_Class *browser) +extern "C" { +#include +} + +Browser_View::Browser_View(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg, Browser_Class *browser) : m_main_layout(NULL) ,m_scroller(NULL) @@ -48,46 +52,79 @@ Browser_View::Browser_View(Evas_Object *win, Evas_Object *navi_bar, ,m_url_progresswheel(NULL) ,m_cancel_button(NULL) ,m_control_bar(NULL) - ,m_backward_button(NULL) + ,m_back_button(NULL) ,m_forward_button(NULL) ,m_add_bookmark_button(NULL) ,m_more_button(NULL) ,m_option_header_url_layout(NULL) + ,m_find_word_entry_layout(NULL) + ,m_find_word_edit_field(NULL) ,m_option_header_layout(NULL) + ,m_find_word_cancel_button(NULL) + ,m_option_header_find_word_layout(NULL) ,m_option_header_url_entry_layout(NULL) ,m_option_header_cancel_button(NULL) + ,m_find_word_prev_button(NULL) + ,m_find_word_next_button(NULL) ,m_option_header_url_progressbar(NULL) ,m_option_header_url_progresswheel(NULL) ,m_edit_mode(BR_NO_EDIT_MODE) ,m_homepage_mode(BR_START_MODE_UNKOWN) +#if defined(HORIZONTAL_UI) + ,m_rotate_degree(0) + ,m_multi_window_rotate_timer(NULL) + ,m_is_rotated(EINA_FALSE) +#endif ,m_scroller_region_y(0) ,m_is_scrolling(EINA_FALSE) ,m_focused_window(NULL) ,m_more_context_popup(NULL) - ,m_predictive_history(NULL) +#if defined(FEATURE_MOST_VISITED_SITES) + ,m_most_visited_sites(NULL) + ,m_most_visited_sites_db(NULL) +#endif ,m_new_window_transit(NULL) ,m_created_new_window(NULL) ,m_browser_settings(NULL) ,m_navi_it(NULL) ,m_find_word(NULL) - ,m_is_scroll_up(EINA_FALSE) - ,m_is_multi_touch(EINA_FALSE) - ,m_context_menu(NULL) - ,m_exscheme_handler(NULL) - ,m_personal_data_manager(NULL) - ,m_picker_handler(NULL) + ,m_scissorbox_view(NULL) ,m_share_controlbar_button(NULL) - ,m_add_to_home_control_bar(NULL) +#ifdef USE_META_TAG + ,m_meta_tag(NULL) +#endif + ,m_context_menu(NULL) ,m_multi_window_button(NULL) + ,m_new_window_button(NULL) + ,m_is_full_screen(EINA_FALSE) +#ifdef ZOOM_BUTTON ,m_zoom_in_button(NULL) ,m_zoom_out_button(NULL) ,m_zoom_button_timer(NULL) +#endif + ,m_title_backward_button(NULL) + ,m_title_forward_button(NULL) + ,m_option_header_title_backward_button(NULL) + ,m_option_header_title_forward_button(NULL) + ,m_resize_idler(NULL) + ,m_is_private(EINA_FALSE) + ,m_private_check(NULL) + ,m_is_private_item_pressed(EINA_FALSE) + ,m_bookmark_on_off_icon(NULL) + ,m_brightness_control_bar(NULL) + ,m_brightness_auto_it(NULL) + ,m_brightness_manual_it(NULL) + ,m_default_seg_it(NULL) + ,m_low_seg_it(NULL) + ,m_medium_seg_it(NULL) + ,m_high_seg_it(NULL) + ,m_vibration_device_handle_id(-1) + ,m_is_multi_window_grid_mode(EINA_FALSE) { BROWSER_LOGD("[%s]", __func__); m_win = win; m_navi_bar = navi_bar; m_bg = bg; - m_layout = layout; m_browser = browser; } @@ -99,19 +136,25 @@ Browser_View::~Browser_View() ug_destroy_all(); - if (vconf_set_str(LAST_VISITED_URL_KEY, m_last_visited_url.c_str()) != 0) - BROWSER_LOGE("vconf_set_str failed"); + br_preference_set_str(LAST_VISITED_URL_KEY, m_last_visited_url.c_str()); m_data_manager->destroy_history_db(); + m_data_manager->destroy_geolocation_db(); if (m_data_manager) { delete m_data_manager; m_data_manager = NULL; } - if (m_predictive_history) { - delete m_predictive_history; - m_predictive_history = NULL; +#if defined(FEATURE_MOST_VISITED_SITES) + if (m_most_visited_sites) { + delete m_most_visited_sites; + m_most_visited_sites = NULL; + } + if (m_most_visited_sites_db) { + delete m_most_visited_sites_db; + m_most_visited_sites_db = NULL; } +#endif if (m_new_window_transit) { elm_transit_del(m_new_window_transit); m_new_window_transit = NULL; @@ -128,18 +171,32 @@ Browser_View::~Browser_View() delete m_context_menu; m_context_menu = NULL; } - if (m_exscheme_handler) { - delete m_exscheme_handler; - m_exscheme_handler = NULL; - } - if (m_personal_data_manager) { - delete m_personal_data_manager; - m_personal_data_manager = NULL; - } - if (m_picker_handler) { - delete m_picker_handler; - m_picker_handler = NULL; - } + if (m_scissorbox_view) { + delete m_scissorbox_view; + m_scissorbox_view = NULL; + } +#if defined(HORIZONTAL_UI) + if (m_multi_window_rotate_timer) { + ecore_timer_del(m_multi_window_rotate_timer); + m_multi_window_rotate_timer = NULL; + } +#endif +#ifdef USE_META_TAG + if (m_meta_tag) { + delete m_meta_tag; + m_meta_tag = NULL; + } +#endif +#ifdef ZOOM_BUTTON + if (m_zoom_in_button) + evas_object_del(m_zoom_in_button); + if (m_zoom_out_button) + evas_object_del(m_zoom_out_button); + if (m_zoom_button_timer) { + ecore_timer_del(m_zoom_button_timer); + m_zoom_button_timer = NULL; + } +#endif } Eina_Bool Browser_View::init(void) @@ -160,66 +217,58 @@ Eina_Bool Browser_View::init(void) BROWSER_LOGE("m_data_manager->create_history_db failed"); return EINA_FALSE; } - m_find_word = new(nothrow) Browser_Find_Word(this); - if (!m_find_word) { - BROWSER_LOGE("new Browser_Find_Word failed"); + + if (!m_data_manager->create_geolocation_db()) { + BROWSER_LOGE("m_data_manager->create_geolocation_db failed"); return EINA_FALSE; } - m_context_menu = new(nothrow) Browser_Context_Menu(m_navi_bar, this); - if (!m_context_menu) { - BROWSER_LOGE("new Browser_Context_Menu failed"); +#if defined(FEATURE_MOST_VISITED_SITES) + m_most_visited_sites_db = new(nothrow) Most_Visited_Sites_DB; + if (!m_most_visited_sites_db) { + BROWSER_LOGE("new Most_Visited_Sites_DB failed"); return EINA_FALSE; } +#endif - m_exscheme_handler = new(nothrow) Browser_Exscheme_Handler(); - if (!m_exscheme_handler) { - BROWSER_LOGE("new Browser_Exscheme_Handler failed"); + m_find_word = new(nothrow) Browser_Find_Word(this); + if (!m_find_word) { + BROWSER_LOGE("new Browser_Find_Word failed"); return EINA_FALSE; } - m_personal_data_manager = new(nothrow) Browser_Personal_Data_Manager(); - if (!m_personal_data_manager) { - BROWSER_LOGE("new Browser_Personal_Data_Manager failed"); + + m_context_menu = new(nothrow) Browser_Context_Menu(this); + if (!m_context_menu) { + BROWSER_LOGE("new Browser_Context_Menu failed"); return EINA_FALSE; } - m_picker_handler = new(nothrow) Browser_Picker_Handler(this); - if (!m_picker_handler) { - BROWSER_LOGE("new Browser_Picker_Handler failed"); +#ifdef USE_META_TAG + m_meta_tag = new(nothrow) Browser_Meta_Tag(); + if (!m_meta_tag) { + BROWSER_LOGE("new Browser_Meta_Tag failed"); return EINA_FALSE; } +#endif UG_INIT_EFL(m_win, UG_OPT_INDICATOR_ENABLE); - char *last_url = vconf_get_str(LAST_VISITED_URL_KEY); + char *last_url = NULL; + if (br_preference_get_str(LAST_VISITED_URL_KEY, &last_url) == false) { + BROWSER_LOGE("failed to get %s preference", LAST_VISITED_URL_KEY); + return EINA_FALSE; + } if (last_url) { m_last_visited_url = std::string(last_url); free(last_url); } + if (_haptic_device_init() == EINA_FALSE) { + BROWSER_LOGE("Failed to init haptic device"); + return EINA_FALSE; + } /* create brower view layout */ return _create_main_layout(); } -void Browser_View::stop_and_reload(void) -{ - BROWSER_LOGD("[%s]_is_loading=%d", __func__, _is_loading()); - if (_is_loading()) { - _stop_loading(); - _reload(); - } -} - -Evas_Object *Browser_View::get_focused_webview(void) -{ - return m_focused_window->m_ewk_view; -} - -Eina_Bool Browser_View::_activate_url_entry_idler_cb(void *data) -{ - Browser_View* instance = (Browser_View*)data; - - instance->__url_entry_clicked_cb(instance, NULL, NULL, NULL); - return ECORE_CALLBACK_CANCEL; -} void Browser_View::launch(const char *url) { /* Destroy all other views except browser view. */ @@ -231,53 +280,112 @@ void Browser_View::launch(const char *url) * So give focus to cancel button not to invoke the keypad. */ elm_object_focus_set(m_cancel_button, EINA_TRUE); - if (url && strlen(url)) { + if (url && strlen(url)) load_url(url); - } else if (m_homepage_mode == BR_START_MODE_MOST_VISITED_SITES){ +#if defined(FEATURE_MOST_VISITED_SITES) + else if (m_homepage_mode == BR_START_MODE_MOST_VISITED_SITES) load_url(BROWSER_MOST_VISITED_SITES_URL); - ecore_idler_add(_activate_url_entry_idler_cb, this); - } else if (m_homepage_mode == BR_START_MODE_RECENTLY_VISITED_SITE) { - char *homepage = vconf_get_str(LAST_VISITED_URL_KEY); +#endif + else if (m_homepage_mode == BR_START_MODE_RECENTLY_VISITED_SITE) { + char *homepage = NULL; + if (br_preference_get_str(LAST_VISITED_URL_KEY, &homepage) == false) { + BROWSER_LOGD("failed to get %s preference", LAST_VISITED_URL_KEY); + return; + } if (homepage) { load_url(homepage); free(homepage); } else +#if defined(FEATURE_MOST_VISITED_SITES) load_url(BROWSER_MOST_VISITED_SITES_URL); +#else + load_url(BROWSER_BLANK_PAGE_URL); +#endif } else if (m_homepage_mode == BR_START_MODE_CUSTOMIZED_URL) { - char *user_homepage = vconf_get_str(USER_HOMEPAGE_KEY); + char *user_homepage = NULL; + if (br_preference_get_str(USER_HOMEPAGE_KEY, &user_homepage) ==false) { + BROWSER_LOGE("failed to get %s preference\n", USER_HOMEPAGE_KEY); + return; + } if (user_homepage) { load_url(user_homepage); free(user_homepage); } else +#if defined(FEATURE_MOST_VISITED_SITES) load_url(BROWSER_MOST_VISITED_SITES_URL); +#else + load_url(BROWSER_BLANK_PAGE_URL); +#endif + } else if (m_homepage_mode == BR_START_MODE_EMPTY_PAGE) { + load_url(BROWSER_BLANK_PAGE_URL); } + } -void Browser_View::return_to_browser_view(Eina_Bool saved_most_visited_sites_item) +void Browser_View::set_full_sreen(Eina_Bool enable) { BROWSER_LOGD("[%s]", __func__); - if (!_is_loading()) { - if (get_title().empty()) - _set_navigationbar_title(get_url().c_str()); - else - _set_navigationbar_title(get_title().c_str()); - } + if (m_is_full_screen == enable) + return; - _set_secure_icon(); + m_is_full_screen = enable; + + if (m_is_full_screen) { + elm_win_indicator_mode_set(m_win, ELM_WIN_INDICATOR_HIDE); + _hide_scroller_url_layout(); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "enter,full_screen,signal", ""); + _enable_webview_scroll(); + + elm_object_part_content_unset(m_focused_window->m_ewk_view_layout, "elm.swallow.webview"); + + evas_object_move(m_focused_window->m_ewk_view, 0, 0); + } else { + elm_win_indicator_mode_set(m_win, ELM_WIN_INDICATOR_SHOW); + + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "exit,full_screen,signal", ""); + + elm_object_part_content_set(m_focused_window->m_ewk_view_layout, "elm.swallow.webview", m_focused_window->m_ewk_view); + + _navigationbar_visible_set_signal(EINA_TRUE); + } + ecore_idler_add(__webview_layout_resize_idler_cb, this); } -void Browser_View::init_personal_data_manager(Evas_Object *webview) +#if defined(FEATURE_MOST_VISITED_SITES) +Eina_Bool Browser_View::is_most_visited_sites_running(void) { - BROWSER_LOGD("[%s]", __func__); - m_personal_data_manager->init(webview); + if (m_most_visited_sites) + return EINA_TRUE; + else + return EINA_FALSE; } +#endif -void Browser_View::deinit_personal_data_manager(void) +void Browser_View::return_to_browser_view(Eina_Bool saved_most_visited_sites_item) { BROWSER_LOGD("[%s]", __func__); - m_personal_data_manager->deinit(); + + if (!_is_loading()) { + if (get_title().empty()) + _set_navigationbar_title(get_url().c_str()); + else + _set_navigationbar_title(get_title().c_str()); + } +#if defined(FEATURE_MOST_VISITED_SITES) + if (is_most_visited_sites_running()) { + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "show,control_bar,no_animation,signal", ""); + _set_navigationbar_title(BR_STRING_MOST_VISITED_SITES); + } + if (saved_most_visited_sites_item && is_most_visited_sites_running()) + /* If longpress on speed dial item, then add to bookmark. */ + edje_object_signal_emit(elm_layout_edje_get(m_most_visited_sites->m_selected_item->layout), + "bookmark_icon", ""); +#endif + _set_secure_icon(); + } void Browser_View::_pop_other_views(void) @@ -296,26 +404,42 @@ void Browser_View::_pop_other_views(void) /* Pop all other views except browser view. */ elm_naviframe_item_pop_to(m_navi_it); + if (m_scissorbox_view) + _destroy_scissorbox_view(); } /* set homepage from homepage vconf */ void Browser_View::_set_homepage_mode(void) { - char *homepage = vconf_get_str(HOMEPAGE_KEY); + char *homepage = NULL; + if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) { + BROWSER_LOGE("failed to get %s preference\n", HOMEPAGE_KEY); + return; + } BROWSER_LOGD("homepage=[%s]", homepage); if (!homepage) { BROWSER_LOGE("homepage is null"); +#if defined(FEATURE_MOST_VISITED_SITES) m_homepage_mode = BR_START_MODE_MOST_VISITED_SITES; +#else + m_homepage_mode = BR_START_MODE_EMPTY_PAGE; +#endif return; } +#if defined(FEATURE_MOST_VISITED_SITES) if (!strncmp(homepage, MOST_VISITED_SITES, strlen(MOST_VISITED_SITES))) m_homepage_mode = BR_START_MODE_MOST_VISITED_SITES; - else if (!strncmp(homepage, RECENTLY_VISITED_SITE, + else +#endif + if (!strncmp(homepage, RECENTLY_VISITED_SITE, strlen(RECENTLY_VISITED_SITE))) m_homepage_mode = BR_START_MODE_RECENTLY_VISITED_SITE; + else if (!strncmp(homepage, EMPTY_PAGE, + strlen(EMPTY_PAGE))) + m_homepage_mode = BR_START_MODE_EMPTY_PAGE; else m_homepage_mode = BR_START_MODE_CUSTOMIZED_URL; @@ -334,50 +458,29 @@ void Browser_View::__new_window_transit_finished_cb(void *data, Elm_Transit *tra return; browser_view->m_new_window_transit = NULL; - browser_view->m_browser->set_focused_window(browser_view->m_created_new_window, EINA_FALSE); + browser_view->m_browser->set_focused_window(browser_view->m_created_new_window +#if defined(FEATURE_MOST_VISITED_SITES) + , EINA_FALSE +#endif + ); browser_view->m_created_new_window = NULL; } Eina_Bool Browser_View::_show_new_window_effect(Evas_Object *current_ewk_view, Evas_Object *new_ewk_view) { - BROWSER_LOGD("[%s]", __func__); - m_new_window_transit = elm_transit_add(); - if (!m_new_window_transit) { - BROWSER_LOGE("elm_transit_add failed"); - return EINA_FALSE; - } int scroller_x = 0; + int scroller_y = 0; int scroller_w = 0; int scroller_h = 0; - elm_scroller_region_get(m_scroller, &scroller_x, NULL, &scroller_w, &scroller_h); + elm_scroller_region_get(m_scroller, &scroller_x, &scroller_y, &scroller_w, &scroller_h); elm_scroller_region_show(m_scroller ,scroller_x, 0, scroller_w, scroller_h); - /* Block event durring animation. */ - elm_transit_event_enabled_set(m_new_window_transit, EINA_TRUE); - - int url_layout_h = 0; - int url_layout_y = 0; - evas_object_geometry_get(m_url_layout, NULL, &url_layout_y, NULL, &url_layout_h); - - int current_ewk_view_x = 0; - int current_ewk_view_w = 0; - int current_ewk_view_h = 0; - evas_object_geometry_get(current_ewk_view, ¤t_ewk_view_x, NULL, - ¤t_ewk_view_w, ¤t_ewk_view_h); - - evas_object_resize(new_ewk_view, current_ewk_view_w, current_ewk_view_h - url_layout_h); - evas_object_move(new_ewk_view, current_ewk_view_x + current_ewk_view_w, url_layout_y + url_layout_h); - evas_object_show(new_ewk_view); - - elm_transit_object_add(m_new_window_transit, current_ewk_view); - elm_transit_object_add(m_new_window_transit, new_ewk_view); - elm_transit_tween_mode_set(m_new_window_transit, ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL); - elm_transit_objects_final_state_keep_set(m_new_window_transit, EINA_FALSE); - elm_transit_effect_translation_add(m_new_window_transit, 0, 0, (-1) * current_ewk_view_w, 0); - elm_transit_del_cb_set(m_new_window_transit, __new_window_transit_finished_cb, this); - elm_transit_duration_set(m_new_window_transit, 0.3); - elm_transit_go(m_new_window_transit); + m_browser->set_focused_window(m_created_new_window +#if defined(FEATURE_MOST_VISITED_SITES) + , EINA_FALSE +#endif + ); return EINA_TRUE; } @@ -387,7 +490,9 @@ Evas_Object *Browser_View::get_favicon(const char *url) if (!url || !strlen(url)) return NULL; - Evas_Object *favicon = ewk_settings_icon_database_icon_object_add(url, evas_object_evas_get(m_win)); + Ewk_Context* context = ewk_view_context_get(m_focused_window->m_ewk_view); + Evas_Object *favicon = ewk_context_icon_database_icon_object_add(context, url, evas_object_evas_get(m_focused_window->m_ewk_view)); + return favicon; } @@ -401,19 +506,22 @@ Eina_Bool Browser_View::_set_favicon(void) return EINA_FALSE; } - if (get_url().empty()) +#if defined(FEATURE_MOST_VISITED_SITES) + if (is_most_visited_sites_running()) { + BROWSER_LOGD("is_most_visited_sites_running"); return EINA_FALSE; + } +#endif - double progress = ewk_view_load_progress_get(elm_webview_webkit_get(m_focused_window->m_ewk_view)); + double progress = ewk_view_load_progress_get(m_focused_window->m_ewk_view); if (progress < 1.0f && progress > 0.05f) { BROWSER_LOGD("loadin status"); return EINA_FALSE; } - Evas_Object *favicon = ewk_settings_icon_database_icon_object_add(get_url().c_str(), - evas_object_evas_get(m_win)); - Evas_Object *option_header_favicon = ewk_settings_icon_database_icon_object_add(get_url().c_str(), - evas_object_evas_get(m_win)); + Evas_Object *favicon = get_favicon(get_url().c_str()); + Evas_Object *option_header_favicon = get_favicon(get_url().c_str()); + if (favicon) { if (m_focused_window->m_favicon) evas_object_del(m_focused_window->m_favicon); @@ -474,6 +582,9 @@ Eina_Bool Browser_View::_set_favicon(void) "show,favicon,signal", ""); edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "show,favicon,signal", ""); + + _set_secure_icon(); + return EINA_TRUE; } @@ -492,42 +603,94 @@ Eina_Bool Browser_View::__close_window_idler_cb(void *data) else browser->delete_window(browser_view->m_focused_window); + int scroller_x = 0; + int scroller_w = 0; + int scroller_h = 0; + elm_scroller_region_get(browser_view->m_scroller, &scroller_x, NULL, &scroller_w, &scroller_h); + elm_scroller_region_show(browser_view->m_scroller ,scroller_x, 0, + scroller_w, scroller_h); return ECORE_CALLBACK_CANCEL; } -void Browser_View::__html_boundary_reached_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__close_window_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) return; Browser_View *browser_view = (Browser_View *)data; - browser_view->show_msg_popup(BR_STRING_MSG_BOUNDARY_LACK_OF_SPACE_TO_SAVE_HTML); + Browser_Class *browser = browser_view->m_browser; + + /* The window should be deleted by idler. The webkit recommands to delete by idler. */ + ecore_idler_add(__close_window_idler_cb, browser_view); } -void Browser_View::__window_close_cb(void *data, Evas_Object *obj, void *event_info) +Eina_Bool Browser_View::_haptic_device_init(void) { BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - Browser_View *browser_view = (Browser_View *)data; - Browser_Class *browser = browser_view->m_browser; + if (m_vibration_device_handle_id == BROWSER_HAPTIC_DEVICE_HANDLE) { + BROWSER_LOGD("device handle for haptic is already set"); + return EINA_FALSE; + } - /* The window should be deleted by idler. The webkit recommands to delete by idler. */ - ecore_idler_add(__close_window_idler_cb, browser_view); + if (haptic_initialize() != HAPTIC_ERROR_NONE) { + BROWSER_LOGD("failed to initiate haptic device"); + return EINA_FALSE; + } + + m_vibration_device_handle_id = BROWSER_HAPTIC_DEVICE_HANDLE; + + return EINA_TRUE; } -/* - * navigation_action type : - * WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED, - * WEBKIT_WEB_NAVIGATION_REASON_FORM_SUBMITTED, - * WEBKIT_WEB_NAVIGATION_REASON_BACK_FORWARD, - * WEBKIT_WEB_NAVIGATION_REASON_RELOAD, - * WEBKIT_WEB_NAVIGATION_REASON_FORM_RESUBMITTED, - * WEBKIT_WEB_NAVIGATION_REASON_OTHER, -*/ -void Browser_View::__create_webview_cb(void *data, Evas_Object *obj, void *event_info) +Eina_Bool Browser_View::_haptic_device_play(long haptic_play_time) +{ + BROWSER_LOGD("[%s], requested time is [%dms]", __func__, haptic_play_time); + + if (m_vibration_device_handle_id != BROWSER_HAPTIC_DEVICE_HANDLE) { + BROWSER_LOGD("device handle for haptic is not set. Unable to play haptic"); + return EINA_FALSE; + } + + if (haptic_vibrate_monotone(BROWSER_HAPTIC_DEVICE_HANDLE, haptic_play_time, HAPTIC_LEVEL_AUTO) != HAPTIC_ERROR_NONE) { + BROWSER_LOGD("haptic_vibrate_monotone failed."); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Eina_Bool Browser_View::_haptic_device_stop(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (m_vibration_device_handle_id != BROWSER_HAPTIC_DEVICE_HANDLE) { + BROWSER_LOGD("device handle for haptic is not set. Unable to play haptic"); + return EINA_FALSE; + } + + if (haptic_stop_device(BROWSER_HAPTIC_DEVICE_HANDLE) != HAPTIC_ERROR_NONE) { + BROWSER_LOGD("haptic_stop_device failed."); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Eina_Bool Browser_View::_haptic_device_close(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (haptic_deinitialize() != HAPTIC_ERROR_NONE) { + BROWSER_LOGD("haptic_deinitialize failed."); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +void Browser_View::__create_window_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) @@ -539,22 +702,11 @@ void Browser_View::__create_webview_cb(void *data, Evas_Object *obj, void *event std::vector window_list = browser->get_window_list(); if (window_list.size() >= BROWSER_MULTI_WINDOW_MAX_COUNT) { /* If the multi window is max, delete the first one. */ + /* if the first window is focused, delete second one(oldest one except first one) */ if (browser_view->m_focused_window != window_list[0]) browser->delete_window(window_list[0]); else - browser->delete_window(window_list[BROWSER_MULTI_WINDOW_MAX_COUNT - 1]); - } - - Elm_WebView_Create_Webview_Data *create_webview_data = (Elm_WebView_Create_Webview_Data *)event_info; - if (create_webview_data->navigation_action == 5 && create_webview_data->javascript) { - int block_popup = 1; - const char *msg = BR_STRING_DISPLAY_POPUP_Q; - if (vconf_get_bool(BLOCK_POPUP_KEY, &block_popup) < 0) - BROWSER_LOGE("vconf_get_bool BLOCK_POPUP_KEY failed"); - if (!block_popup) { - if (!browser_view->show_modal_popup(msg)) - return; - } + browser->delete_window(window_list[1]); } browser_view->m_created_new_window = browser->create_new_window(); @@ -570,27 +722,53 @@ void Browser_View::__create_webview_cb(void *data, Evas_Object *obj, void *event /* Destroy previous multi window item snapshot. * This is because the snapshot of multi window item can't be captured in this case. */ +#if defined(HORIZONTAL_UI) if (browser_view->m_focused_window->m_landscape_snapshot_image) { evas_object_del(browser_view->m_focused_window->m_landscape_snapshot_image); browser_view->m_focused_window->m_landscape_snapshot_image = NULL; } +#endif if (browser_view->m_focused_window->m_portrait_snapshot_image) { evas_object_del(browser_view->m_focused_window->m_portrait_snapshot_image); browser_view->m_focused_window->m_portrait_snapshot_image = NULL; } - create_webview_data->webview = elm_webview_webkit_get(browser_view->m_created_new_window->m_ewk_view); - if (!browser_view->_show_new_window_effect(browser_view->m_focused_window->m_ewk_view, browser_view->m_created_new_window->m_ewk_view)) BROWSER_LOGE("_show_new_window_effect failed"); + + *((Evas_Object **)event_info) = browser_view->m_created_new_window->m_ewk_view; +} + +void Browser_View::__load_started_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *url_progressbar = browser_view->m_url_progressbar; + Evas_Object *progressbar_wheel = browser_view->m_url_progresswheel; + Evas_Object *option_header_url_progressbar = browser_view->m_option_header_url_progressbar; + Evas_Object *option_header_progressbar_wheel = browser_view->m_option_header_url_progresswheel; + + double progress = ewk_view_load_progress_get(browser_view->m_focused_window->m_ewk_view); + if (progress <= 0.0f) + progress = 0.05f; + elm_progressbar_pulse(progressbar_wheel, EINA_TRUE); + elm_progressbar_pulse(option_header_progressbar_wheel, EINA_TRUE); + + elm_progressbar_value_set(url_progressbar, progress); + elm_progressbar_value_set(option_header_url_progressbar, progress); + + browser_view->_load_start(); } void Browser_View::_navigationbar_visible_set_signal(Eina_Bool visible) { BROWSER_LOGD("visible=%d", visible); - if (visible && m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) + if (visible && (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW) || m_is_full_screen || m_brightness_control_bar)) return; if (m_navi_it != elm_naviframe_top_item_get(m_navi_bar)) @@ -608,7 +786,7 @@ void Browser_View::_navigationbar_visible_set_signal(Eina_Bool visible) void Browser_View::_navigationbar_visible_set(Eina_Bool visible) { - if (visible && m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) + if (visible && (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW) || m_is_full_screen)) return; if (m_navi_it != elm_naviframe_top_item_get(m_navi_bar)) @@ -678,18 +856,28 @@ void Browser_View::_load_start(void) m_focused_window->m_option_header_favicon = NULL; } + /* This makes the ewk view unfocused so that the ime can't be invoked. */ + evas_object_focus_set(m_focused_window->m_ewk_view_layout, EINA_TRUE); + if (_get_edit_mode() != BR_NO_EDIT_MODE) _set_edit_mode(BR_NO_EDIT_MODE); + /* For deleted window because of unused case like low memory. */ m_focused_window->m_url.clear(); m_focused_window->m_title.clear(); - m_browser->get_certificate_manager()->reset_certificate(); + set_full_sreen(EINA_FALSE); + + elm_object_focus_set(m_option_header_cancel_button, EINA_TRUE); + elm_object_signal_emit(m_option_header_url_edit_field, "ellipsis_show,signal", "elm"); + elm_object_signal_emit(m_url_edit_field, "ellipsis_show,signal", "elm"); - m_picker_handler->destroy_picker_layout(); + if (m_scissorbox_view) + _destroy_scissorbox_view(); + _destroy_more_context_popup(); } -void Browser_View::__uri_changed_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__load_committed_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) @@ -698,14 +886,11 @@ void Browser_View::__uri_changed_cb(void *data, Evas_Object *obj, void *event_in Browser_View *browser_view = (Browser_View *)data; if (browser_view->_get_edit_mode() != BR_NO_EDIT_MODE) return; - const char *uri = (const char *)event_info; - browser_view->_set_url_entry(uri); - /* Workaround, give focus to option header cancel button to hide imf. */ - elm_object_focus_set(browser_view->m_option_header_cancel_button, EINA_TRUE); + browser_view->_set_url_entry(browser_view->get_url().c_str()); } -void Browser_View::__load_started_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__load_nonempty_layout_finished_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) @@ -713,21 +898,32 @@ void Browser_View::__load_started_cb(void *data, Evas_Object *obj, void *event_i Browser_View *browser_view = (Browser_View *)data; - Evas_Object *url_progressbar = browser_view->m_url_progressbar; - Evas_Object *progressbar_wheel = browser_view->m_url_progresswheel; - Evas_Object *option_header_url_progressbar = browser_view->m_option_header_url_progressbar; - Evas_Object *option_header_progressbar_wheel = browser_view->m_option_header_url_progresswheel; + if (!browser_view->_is_loading()) + return; - double progress = ewk_view_load_progress_get(elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view)); - if (progress <= 0.0f) - progress = 0.05f; - elm_progressbar_pulse(progressbar_wheel, EINA_TRUE); - elm_progressbar_pulse(option_header_progressbar_wheel, EINA_TRUE); +#ifdef BROWSER_SCROLLER_BOUNCING + /* If the first content is displayed, hide the url layout in browser scroller like safari. */ + int scroller_x = 0; + int scroller_w = 0; + int scroller_h = 0; + elm_scroller_region_get(browser_view->m_scroller, &scroller_x, NULL, &scroller_w, &scroller_h); + elm_scroller_region_show(browser_view->m_scroller ,scroller_x, 0, + scroller_w, scroller_h); +#endif +} - elm_progressbar_value_set(url_progressbar, progress); - elm_progressbar_value_set(option_header_url_progressbar, progress); +void Browser_View::__title_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; - browser_view->_load_start(); + Browser_View *browser_view = (Browser_View *)data; + if (browser_view->_get_edit_mode() != BR_NO_EDIT_MODE) + return; + + if (!m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) + browser_view->_set_navigationbar_title(browser_view->get_title().c_str()); } void Browser_View::__load_finished_cb(void *data, Evas_Object *obj, void *event_info) @@ -743,206 +939,265 @@ void Browser_View::__load_finished_cb(void *data, Evas_Object *obj, void *event_ elm_progressbar_pulse(progressbar_wheel, EINA_FALSE); elm_progressbar_pulse(option_header_progressbar_wheel, EINA_FALSE); + /* + * For the first time, the background color is white initially. + * If the background is not displayed yet, show the grey background. + * This code is executed only one time at launching time. + */ + const char* state = edje_object_part_state_get(elm_layout_edje_get(browser_view->m_main_layout), + "contents_bg", NULL); + if(state && !strncmp(state, "default", strlen("default"))) + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_main_layout), + "show,grey_background,signal", ""); + if (browser_view->m_edit_mode != BR_URL_ENTRY_EDIT_MODE && browser_view->m_edit_mode != BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF) { /* change the url layout for normal mode. (change the reload icon etc) */ - edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), - "loading,off,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), "loading,off,signal", ""); edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_entry_layout), "loading,off,signal", ""); } - if (!m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) { - if (browser_view->get_title().empty()) - browser_view->_set_navigationbar_title(browser_view->get_url().c_str()); - else - browser_view->_set_navigationbar_title(browser_view->get_title().c_str()); - } + if (!m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) + browser_view->_set_navigationbar_title(browser_view->get_title().c_str()); - browser_view->_set_secure_icon(); + /* This is because, + * finish progress event can be come after finish progress frame event at some pages. + * In this case, the title & favicon display error happens, becaue these are handled in finish progress frame. + * So do that again here. */ if (!browser_view->_set_favicon()) BROWSER_LOGE("_set_favicon failed"); - + browser_view->_set_secure_icon(); browser_view->_load_finished(); } -void Browser_View::__load_progress_cb(void *data, Evas_Object *obj, void *event_info) +static Eina_Bool __kill_browser_timer_cb(void *data) { - BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - - Browser_View *browser_view = (Browser_View *)data; - - Evas_Object *url_progressbar = browser_view->m_url_progressbar; - Evas_Object *option_header_url_progressbar = browser_view->m_option_header_url_progressbar; - - double progress = *((double *)event_info); - BROWSER_LOGD("progress=%f", progress); - elm_progressbar_value_set(url_progressbar, progress); - elm_progressbar_value_set(option_header_url_progressbar, progress); + elm_exit(); + return ECORE_CALLBACK_CANCEL; } -void Browser_View::__load_nonempty_layout_finished_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__process_crashed_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) return; Browser_View *browser_view = (Browser_View *)data; - - /* If the first content is displayed, hide the url layout in browser scroller like safari. */ - int scroller_x = 0; - int scroller_w = 0; - int scroller_h = 0; - elm_scroller_region_get(browser_view->m_scroller, &scroller_x, NULL, &scroller_w, &scroller_h); - elm_scroller_region_show(browser_view->m_scroller ,scroller_x, 0, - scroller_w, scroller_h); + browser_view->show_msg_popup(BR_STRING_WEBPROCESS_CRASH, 3); + ecore_timer_add(3, __kill_browser_timer_cb, NULL); } -void Browser_View::__html5_video_request_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__did_finish_load_for_frame_cb(void *data, Evas_Object *obj, void *event_info) { - BROWSER_LOGD("[%s]", __func__); - if (!data || !event_info) + if (!data) return; Browser_View *browser_view = (Browser_View *)data; - html5_video_data *video_data = (html5_video_data *)event_info; - if (!browser_view->_call_html5_video_streaming_player(video_data->path, video_data->cookie)) - BROWSER_LOGE("_call_html5_video_streaming_player"); + if (!m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) + browser_view->_set_navigationbar_title(browser_view->get_title().c_str()); + + browser_view->_load_finished(); } -void Browser_View::__vibrator_vibrate_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::_set_secure_icon(void) { - BROWSER_LOGD("[%s]", __func__); + std::string url = get_url(); + BROWSER_LOGD("url=[%s]", url.c_str()); - int device_handle = 0; - int ret_val = 0; - const long vibration_time = *((const long *)event_info); + if (m_focused_window->m_secure_icon == NULL) { + m_focused_window->m_secure_icon = elm_icon_add(m_focused_window->m_ewk_view); + if (!m_focused_window->m_secure_icon) { + BROWSER_LOGE("elm_icon_add is failed."); + return; + } - BROWSER_LOGD("__vibrator_vibrate_cb : play time is [%ld]", vibration_time); + if (!elm_icon_file_set(m_focused_window->m_secure_icon, BROWSER_IMAGE_DIR"/lock.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed."); + return; + } + evas_object_size_hint_aspect_set(m_focused_window->m_secure_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + elm_object_part_content_set(m_url_entry_layout, "elm.swallow.secure_icon", + m_focused_window->m_secure_icon); + } - device_handle = device_haptic_open(DEV_IDX_0, 0); + if (m_focused_window->m_option_header_secure_icon == NULL) { + m_focused_window->m_option_header_secure_icon = elm_icon_add(m_focused_window->m_ewk_view); + if (!m_focused_window->m_option_header_secure_icon) { + BROWSER_LOGE("elm_icon_add is failed."); + return; + } - if (device_handle < 0) { - BROWSER_LOGD("Failed to get handle ID of vibration device"); - return; + if (!elm_icon_file_set(m_focused_window->m_option_header_secure_icon, BROWSER_IMAGE_DIR"/lock.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed."); + return; + } + evas_object_size_hint_aspect_set(m_focused_window->m_option_header_secure_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + elm_object_part_content_set(m_option_header_url_entry_layout, "elm.swallow.secure_icon", + m_focused_window->m_option_header_secure_icon); } - ret_val = device_haptic_play_monotone(device_handle, vibration_time); - if (ret_val != 0) - BROWSER_LOGD("Failed to play vibration"); - - ret_val = device_haptic_close(device_handle); - if (ret_val != 0) - BROWSER_LOGD("Failed to withdraw vibration handle"); + if (url.c_str() && url.length()) { + if (!strncmp(url.c_str(), BROWSER_HTTPS_SCHEME, strlen(BROWSER_HTTPS_SCHEME))) { + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), + "show,secure_icon,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "show,secure_icon,signal", ""); + return; + } + } + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "hide,secure_icon,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "hide,secure_icon,signal", ""); } -void Browser_View::__vibrator_cancel_cb(void *data, Evas_Object *obj, void *event_info) +#if defined(FEATURE_MOST_VISITED_SITES) +Eina_Bool Browser_View::_capture_most_visited_sites_item_screen_shot(void) { BROWSER_LOGD("[%s]", __func__); - int device_handle = 0; - int ret_val = 0; - - device_handle = device_haptic_open(DEV_IDX_0, 0); + Eina_Bool is_ranked = EINA_FALSE; + std::string screen_shot_path; + std::string current_url = get_url(); + screen_shot_path.clear(); + + if (!m_selected_most_visited_sites_item_info.url.empty()) { + std::string history_id; + history_id = m_most_visited_sites_db->get_history_id_by_url(get_url().c_str()); + if (!history_id.empty()) { + std::string history_title; + history_title = m_most_visited_sites_db->get_history_title_by_id(history_id.c_str()); + if (!history_title.empty()) { + if (!m_most_visited_sites_db->save_most_visited_sites_item(m_selected_most_visited_sites_item_info.index, + get_url().c_str(), history_title.c_str(), history_id.c_str())) + BROWSER_LOGE("save_most_visited_sites_item failed"); + } else { + if (!m_most_visited_sites_db->save_most_visited_sites_item(m_selected_most_visited_sites_item_info.index, + get_url().c_str(), m_selected_most_visited_sites_item_info.title.c_str(), + history_id.c_str())) + BROWSER_LOGE("save_most_visited_sites_item failed"); + } + } - if (device_handle < 0) { - BROWSER_LOGD("Failed to get handle ID of vibration device"); - return; + m_selected_most_visited_sites_item_info.url.clear(); + m_selected_most_visited_sites_item_info.title.clear(); + m_selected_most_visited_sites_item_info.id.clear(); } - ret_val = device_haptic_stop_play(device_handle); - if (ret_val != 0) - BROWSER_LOGD("Failed to stop vibration"); - - ret_val = device_haptic_close(device_handle); - if (ret_val != 0) - BROWSER_LOGD("Failed to withdraw vibration handle"); -} - -Eina_Bool Browser_View::_call_html5_video_streaming_player(const char *url, const char *cookie) -{ - BROWSER_LOGD("[%s]", __func__); - if (!url || !strlen(url)) { - BROWSER_LOGE("url is null"); + std::vector most_visited_sites_list; + if (!m_most_visited_sites_db->get_most_visited_sites_list(most_visited_sites_list)) { + BROWSER_LOGE("get_most_visited_sites_list failed"); return EINA_FALSE; } - bool is_running = false; - if (app_manager_is_running(SEC_VT_CALL, &is_running)) { - BROWSER_LOGE("Fail to get app running information\n"); - return EINA_FALSE; + for (int i = 0 ; i < most_visited_sites_list.size() ; i++) { + if (!current_url.empty() && !most_visited_sites_list[i].url.empty() + && (current_url.length() == most_visited_sites_list[i].url.length()) + && !strncmp(most_visited_sites_list[i].url.c_str(), current_url.c_str(), current_url.length())) { + is_ranked = EINA_TRUE; + screen_shot_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + most_visited_sites_list[i].id; + if (most_visited_sites_list[i].id.length() > strlen(DEFAULT_ICON_PREFIX) && + !strncmp(DEFAULT_ICON_PREFIX, most_visited_sites_list[i].id.c_str(), + strlen(DEFAULT_ICON_PREFIX))) { + /* If default icon */ + std::string history_id; + history_id = m_most_visited_sites_db->get_history_id_by_url(most_visited_sites_list[i].url.c_str()); + if (!history_id.empty()) { + if (m_most_visited_sites_db->save_most_visited_sites_item(most_visited_sites_list[i].index, + most_visited_sites_list[i].url.c_str(), most_visited_sites_list[i].title.c_str(), + history_id.c_str())) { + screen_shot_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + most_visited_sites_list[i].id; + remove(screen_shot_path.c_str()); + screen_shot_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + history_id; + } + } + } + break; + } } - if (is_running) { - BROWSER_LOGE("org.tizen.vtmain is running......\n"); - show_msg_popup(BR_STRING_WARNING_VIDEO_PLAYER); - return EINA_FALSE; + if (!is_ranked) { + std::vector most_visited_list; + if (!m_most_visited_sites_db->get_most_visited_list(most_visited_list, most_visited_sites_list, + BROWSER_MOST_VISITED_SITES_ITEM_MAX * 2)) { + BROWSER_LOGE("get_most_visited_list failed"); + return EINA_FALSE; + } + for (int i = 0; i < most_visited_list.size(); i++) + { + if (most_visited_list[i].url == current_url) { + is_ranked = EINA_TRUE; + screen_shot_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + most_visited_list[i].id; + break; + } + } } - service_h service_handle = NULL; + if (is_ranked && screen_shot_path.size() > 0) { + int focused_ewk_view_w = 0; + int focused_ewk_view_h = 0; + evas_object_geometry_get(m_focused_window->m_ewk_view, NULL, NULL, + &focused_ewk_view_w, &focused_ewk_view_h); - if (service_create(&service_handle) < 0) { - BROWSER_LOGE("Fail to create service handle"); - return EINA_FALSE; - } + int window_w = 0; + evas_object_geometry_get(m_win, NULL, NULL, &window_w, NULL); + int item_w = window_w / 3; + int item_h = item_w + 10 * elm_scale_get(); - if (!service_handle) { - BROWSER_LOGE("service handle is NULL"); - return EINA_FALSE; - } + double ratio = (double)((double)item_h / (double)item_w); - if (service_set_uri(service_handle, url) < 0) { - BROWSER_LOGE("Fail to set uri"); - service_destroy(service_handle); - return EINA_FALSE; - } + Eina_Rectangle snapshot_rect; + snapshot_rect.x = snapshot_rect.y = 0; + snapshot_rect.w = focused_ewk_view_w; + snapshot_rect.h = focused_ewk_view_w * ratio; - if (cookie && strlen(cookie)) { - if (service_add_extra_data(service_handle, "cookie", cookie) < 0) { - BROWSER_LOGE("Fail to set extra data as cookie"); - service_destroy(service_handle); + Evas_Object *snapshot = ewk_view_screenshot_contents_get(m_focused_window->m_ewk_view, + snapshot_rect, 0.33, evas_object_evas_get(m_navi_bar)); + if (!snapshot) { + BROWSER_LOGE("ewk_view_screenshot_contents_get failed"); + return EINA_FALSE; + } + uint8_t *pixels = (uint8_t *)(evas_object_image_data_get(snapshot, EINA_TRUE)); + + int surface_width = 0; + int surface_height = 0; + evas_object_image_size_get(snapshot, &surface_width, &surface_height); + BROWSER_LOGD("<<<< surface_width = %d, surface_height = %d >>>", surface_width, surface_height); + + cairo_surface_t *snapshot_surface = cairo_image_surface_create_for_data(pixels, CAIRO_FORMAT_RGB24, + surface_width, surface_height, + cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, surface_width)); + if (!snapshot_surface) { + BROWSER_LOGE("cairo_image_surface_create_for_data failed"); return EINA_FALSE; } - } - - if (service_set_package(service_handle, SEC_STREAMING_PLAYER) < 0) { - BROWSER_LOGE("Fail to create service_set_package as org.tizen.video-player"); - return EINA_FALSE; - } - if (service_send_launch_request(service_handle, NULL, NULL) < 0) { - BROWSER_LOGE("Fail to launch service operation"); - service_destroy(service_handle); - return EINA_FALSE; + if (cairo_surface_write_to_png(snapshot_surface, screen_shot_path.c_str()) + != CAIRO_STATUS_SUCCESS) + BROWSER_LOGD("cairo_surface_write_to_png FAILED"); + cairo_surface_destroy(snapshot_surface); } - - service_destroy(service_handle); - return EINA_TRUE; } -void Browser_View::_set_secure_icon(void) +Eina_Bool Browser_View::__capture_most_visited_sites_screen_shot_idler_cb(void *data) { - std::string url = get_url(); - BROWSER_LOGD("url=[%s]", url.c_str()); + BROWSER_LOGD("[%s]", __func__); + if (!data) + return ECORE_CALLBACK_CANCEL; - if (url.c_str() && url.length()) { - if (!strncmp(url.c_str(), BROWSER_HTTPS_SCHEME, strlen(BROWSER_HTTPS_SCHEME))) { - edje_object_signal_emit(elm_layout_edje_get(m_url_layout), - "show,secure_icon,signal", ""); - edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_layout), - "show,secure_icon,signal", ""); - return; - } - } + Browser_View *browser_view = (Browser_View *)data; + if (!browser_view->_capture_most_visited_sites_item_screen_shot()) + BROWSER_LOGE("_capture_most_visited_sites_item_screen_shot failed"); - edje_object_signal_emit(elm_layout_edje_get(m_url_layout), "hide,secure_icon,signal", ""); - edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_layout), - "hide,secure_icon,signal", ""); + return ECORE_CALLBACK_CANCEL; } +#endif void Browser_View::_load_finished(void) { @@ -951,9 +1206,9 @@ void Browser_View::_load_finished(void) /* enable or disable back,forward controlbar buttons */ _set_controlbar_back_forward_status(); - _set_secure_icon(); if (!_set_favicon()) BROWSER_LOGE("_set_favicon failed"); + _set_secure_icon(); /* Add current url to history */ Eina_Bool is_full = EINA_FALSE; @@ -961,24 +1216,35 @@ void Browser_View::_load_finished(void) /* Save last visited url to save this when browser exits. */ m_last_visited_url = get_url(); - if (m_data_manager->get_history_db()) { + if (m_data_manager->get_history_db() && !m_is_private) { m_data_manager->get_history_db()->save_history(m_last_visited_url.c_str(), get_title().c_str(), &is_full); if (is_full) BROWSER_LOGE("history is full, delete the first one"); } - if (!m_personal_data_manager->set_personal_data(get_url().c_str())) - BROWSER_LOGE("set_personal_data failed"); - _hide_scroller_url_layout(); + +#if defined(FEATURE_MOST_VISITED_SITES) + ecore_idler_add(__capture_most_visited_sites_screen_shot_idler_cb, this); +#endif + + elm_object_focus_set(m_option_header_cancel_button, EINA_TRUE); + elm_object_signal_emit(m_option_header_url_edit_field, "ellipsis_show,signal", "elm"); + elm_object_signal_emit(m_url_edit_field, "ellipsis_show,signal", "elm"); + + _update_back_forward_buttons(); } void Browser_View::_hide_scroller_url_layout(void) { BROWSER_LOGD("[%s]", __func__); - if (_get_edit_mode() != BR_NO_EDIT_MODE) + if (_get_edit_mode() != BR_NO_EDIT_MODE +#if defined(FEATURE_MOST_VISITED_SITES) + || is_most_visited_sites_running() +#endif + ) return; _navigationbar_visible_set_signal(EINA_FALSE); @@ -995,6 +1261,23 @@ void Browser_View::_hide_scroller_url_layout(void) browser_scroller_w, browser_scroller_h); } +void Browser_View::__load_progress_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *url_progressbar = browser_view->m_url_progressbar; + Evas_Object *option_header_url_progressbar = browser_view->m_option_header_url_progressbar; + + double progress = ewk_view_load_progress_get(browser_view->m_focused_window->m_ewk_view); + elm_progressbar_value_set(url_progressbar, progress); + elm_progressbar_value_set(option_header_url_progressbar, progress); + + if (progress == 1.0f) + __load_finished_cb(data, obj, NULL); +} + void Browser_View::__ewk_view_mouse_down_cb(void* data, Evas* evas, Evas_Object* obj, void* ev) { if (!data) @@ -1005,157 +1288,152 @@ void Browser_View::__ewk_view_mouse_down_cb(void* data, Evas* evas, Evas_Object* Evas_Object *main_layout = browser_view->m_main_layout; Evas_Object *ewk_view = browser_view->m_focused_window->m_ewk_view; +#if defined(FEATURE_MOST_VISITED_SITES) + if (browser_view->is_most_visited_sites_running()) + return; +#endif + +#ifdef BROWSER_SCROLLER_BOUNCING + /* activate webview firstly when user starts to touch. */ + browser_view->_enable_webview_scroll(); +#endif + if (!browser_view->_is_loading() && browser_view->_get_edit_mode() != BR_FIND_WORD_MODE) browser_view->_navigationbar_visible_set(EINA_FALSE); browser_view->m_is_scrolling = EINA_TRUE; - Evas_Object *webkit = elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view); - float max_zoom_rate = ewk_view_zoom_range_max_get(webkit); - float min_zoom_rate = ewk_view_zoom_range_min_get(webkit); - float current_zoom_rate = ewk_view_zoom_get(webkit); - - Eina_Bool can_zoom_in = EINA_TRUE; - Eina_Bool can_zoom_out = EINA_TRUE; - if (current_zoom_rate >= max_zoom_rate) - can_zoom_in = EINA_FALSE; - if (current_zoom_rate <= min_zoom_rate) - can_zoom_out = EINA_FALSE; - if (can_zoom_in || can_zoom_out) { - if (browser_view->m_zoom_button_timer) - ecore_timer_del(browser_view->m_zoom_button_timer); - browser_view->m_zoom_button_timer = ecore_timer_add(3, __zoom_button_timeout_cb, browser_view); - edje_object_signal_emit(elm_layout_edje_get(browser_view->m_main_layout), "show,zoom_buttons,signal", ""); - } - - if (!can_zoom_in) - elm_object_disabled_set(browser_view->m_zoom_in_button ,EINA_TRUE); - else - elm_object_disabled_set(browser_view->m_zoom_in_button ,EINA_FALSE); + BROWSER_LOGD("__ewk_view_mouse_down_cb"); - if (!can_zoom_out) - elm_object_disabled_set(browser_view->m_zoom_out_button ,EINA_TRUE); - else - elm_object_disabled_set(browser_view->m_zoom_out_button ,EINA_FALSE); -} +#ifdef ZOOM_BUTTON + double sacle_factor = ewk_view_scale_get(browser_view->m_focused_window->m_ewk_view); + double min_scale = 0; + double max_scale = 0; -void Browser_View::__ewk_view_multi_down_cb(void *data, Evas *evas, Evas_Object *obj, void *ev) -{ - if (!data) + bool zoom_button_flag = true; + if (br_preference_get_bool(ZOOM_BUTTON_KEY, &zoom_button_flag) == false) + BROWSER_LOGE("failed to get ZOOM_BUTTON_KEY value\n"); + + BROWSER_LOGD("zoom_button_flag =%d", zoom_button_flag); + + if (zoom_button_flag == false) return; - Browser_View *browser_view = (Browser_View *)data; - browser_view->m_is_multi_touch = EINA_TRUE; - browser_view->_enable_webview_scroll(); + if (browser_view->m_zoom_button_timer) + ecore_timer_del(browser_view->m_zoom_button_timer); + browser_view->m_zoom_button_timer = ecore_timer_add(3, __zoom_button_timeout_cb, browser_view); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_main_layout), "show,zoom_buttons,signal", ""); +#endif } -void Browser_View::__ewk_view_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *ev) +void Browser_View::__ewk_view_enter_full_screen_cb(void *data, Evas_Object *obj, void *event_info) { if (!data) return; Browser_View *browser_view = (Browser_View *)data; - - browser_view->m_is_multi_touch = EINA_FALSE; - browser_view->m_is_scrolling = EINA_FALSE; + browser_view->set_full_sreen(EINA_TRUE); } -void Browser_View::__ewk_view_edge_top_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__ewk_view_exit_full_screen_cb(void *data, Evas_Object *obj, void *event_info) { if (!data) return; - Browser_View *browser_view = (Browser_View *)data; - int browser_scroller_x = 0; - int browser_scroller_y = 0; - int browser_scroller_w = 0; - int browser_scroller_h = 0; - elm_scroller_region_get(browser_view->m_scroller, &browser_scroller_x, &browser_scroller_y, - &browser_scroller_w, &browser_scroller_h); + Browser_View *browser_view = (Browser_View *)data; + browser_view->set_full_sreen(EINA_FALSE); +} - int url_layout_h = 0; - evas_object_geometry_get(browser_view->m_url_layout, NULL, NULL, NULL, &url_layout_h); +void Browser_View::__ewk_view_vibration_vibrate_cb(void *data, Evas_Object *obj, void *event_info) +{ + Browser_View *browser_view = (Browser_View*)data; + const long vibration_time = *((const long *)event_info); - if (browser_scroller_y < url_layout_h) - return; + BROWSER_LOGD("__ewk_view_vibration_vibrate_cb : play time is [%ld]", vibration_time); - if (browser_view->m_is_scroll_up) - return; + browser_view->_haptic_device_play(vibration_time); +} +void Browser_View::__ewk_view_vibration_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ BROWSER_LOGD("[%s]", __func__); - browser_view->_enable_browser_scroller_scroll(); - /* If user do flicking the mouse with scroll up, bring in the browser scroller to y=0. */ - if (!browser_view->m_is_scrolling && !browser_view->m_is_scroll_up) { - BROWSER_LOGD("<< elm_scroller_region_bring_in >>"); - elm_scroller_region_bring_in(browser_view->m_scroller, browser_scroller_x, 0, - browser_scroller_w, browser_scroller_h); - } + Browser_View *browser_view = (Browser_View*)data; + + browser_view->_haptic_device_stop(); } -void Browser_View::__scroller_edge_bottom_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__ewk_view_mouse_up_cb(void* data, Evas* evas, Evas_Object* obj, void* ev) { - BROWSER_LOGD("[%s]", __func__); if (!data) return; + Browser_View *browser_view = (Browser_View *)data; - browser_view->_enable_webview_scroll(); + + browser_view->m_is_scrolling = EINA_FALSE; } -void Browser_View::__ewk_view_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *ev) +void Browser_View::__ewk_view_edge_top_cb(void *data, Evas_Object *obj, void *event_info) { +#ifdef BROWSER_SCROLLER_BOUNCING + BROWSER_LOGD("[%s]", __func__); + if (!data) return; + Browser_View *browser_view = (Browser_View *)data; + browser_view->_enable_browser_scroller_scroll(); - Evas_Event_Mouse_Move *point = (Evas_Event_Mouse_Move *)ev; + /* If user do flicking the mouse with scroll up, bring in the browser scroller to y=0. */ + if (!browser_view->m_is_scrolling) { + BROWSER_LOGD("<< elm_scroller_region_bring_in >>"); + int browser_scroller_x = 0; + int browser_scroller_w = 0; + int browser_scroller_h = 0; + elm_scroller_region_get(browser_view->m_scroller, &browser_scroller_x, NULL, + &browser_scroller_w, &browser_scroller_h); - Browser_View *browser_view = (Browser_View *)data; - if (point->cur.output.y < point->prev.output.y) { - browser_view->m_is_scroll_up = EINA_TRUE; - __ewk_view_scroll_down_cb(data, NULL, NULL); - } else { - browser_view->m_is_scroll_up = EINA_FALSE; - /* scroll up */ - __ewk_view_scroll_up_cb(data, NULL, NULL); + elm_scroller_region_bring_in(browser_view->m_scroller, browser_scroller_x, 0, + browser_scroller_w, browser_scroller_h); } +#endif } void Browser_View::__ewk_view_scroll_down_cb(void *data, Evas_Object *obj, void *event_info) { +#ifdef BROWSER_SCROLLER_BOUNCING if (!data) return; Browser_View *browser_view = (Browser_View *)data; - int browser_scroller_y = 0; + int scroller_x = 0; + int scroller_y = 0; + int scroller_w = 0; + int scroller_h = 0; int url_layout_h = 0; - elm_scroller_region_get(browser_view->m_scroller, NULL, &browser_scroller_y, NULL, NULL); + elm_scroller_region_get(browser_view->m_scroller, &scroller_x, &scroller_y, &scroller_w, &scroller_h); evas_object_geometry_get(browser_view->m_url_layout, NULL, NULL, NULL, &url_layout_h); - if (browser_scroller_y < url_layout_h) - browser_view->_enable_browser_scroller_scroll(); - else + if (scroller_y < url_layout_h) { + /* We have to hide urlbar when webview's contents are scrolled down by flicking. */ + if (!browser_view->m_is_scrolling) + elm_scroller_region_show(browser_view->m_scroller, scroller_x, url_layout_h, scroller_w, scroller_h); + else + browser_view->_enable_browser_scroller_scroll(); + } else { browser_view->_enable_webview_scroll(); + } +#endif } void Browser_View::__ewk_view_scroll_up_cb(void *data, Evas_Object *obj, void *event_info) { +#ifdef BROWSER_SCROLLER_BOUNCING if (!data) return; Browser_View *browser_view = (Browser_View *)data; - - int frame_position_y = 0; - Evas_Object *webkit = elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view); - Evas_Object *frame = ewk_view_frame_main_get(webkit); - ewk_frame_scroll_pos_get(frame, NULL, &frame_position_y); - - int browser_scroller_y = 0; - elm_scroller_region_get(browser_view->m_scroller, NULL, &browser_scroller_y, NULL, NULL); - - if (frame_position_y == 0 && browser_scroller_y) - browser_view->_enable_browser_scroller_scroll(); - else - browser_view->_enable_webview_scroll(); + browser_view->_enable_webview_scroll(); +#endif } void Browser_View::_set_navigationbar_title(const char *title) @@ -1184,13 +1462,36 @@ void Browser_View::_set_url_entry(const char *url, Eina_Bool set_secrue_icon) elm_entry_entry_set(entry, mark_up_url); entry = br_elm_editfield_entry_get(m_option_header_url_edit_field); elm_entry_entry_set(entry, mark_up_url); + + edje_object_part_text_set(elm_layout_edje_get(m_option_header_url_edit_field), + "elm.text.ellipsis", mark_up_url); + edje_object_part_text_set(elm_layout_edje_get(m_url_edit_field), + "elm.text.ellipsis", mark_up_url); free(mark_up_url); } } else { Evas_Object *entry = br_elm_editfield_entry_get(m_url_edit_field); +#if defined(FEATURE_MOST_VISITED_SITES) elm_entry_entry_set(entry, BROWSER_MOST_VISITED_SITES_URL); +#else + elm_entry_entry_set(entry, BROWSER_BLANK_PAGE_URL); +#endif entry = br_elm_editfield_entry_get(m_option_header_url_edit_field); +#if defined(FEATURE_MOST_VISITED_SITES) elm_entry_entry_set(entry, BROWSER_MOST_VISITED_SITES_URL); + + edje_object_part_text_set(elm_layout_edje_get(m_option_header_url_edit_field), + "elm.text.ellipsis", BROWSER_MOST_VISITED_SITES_URL); + edje_object_part_text_set(elm_layout_edje_get(m_url_edit_field), + "elm.text.ellipsis", BROWSER_MOST_VISITED_SITES_URL); +#else + elm_entry_entry_set(entry, BROWSER_BLANK_PAGE_URL); + + edje_object_part_text_set(elm_layout_edje_get(m_option_header_url_edit_field), + "elm.text.ellipsis", BROWSER_BLANK_PAGE_URL); + edje_object_part_text_set(elm_layout_edje_get(m_url_edit_field), + "elm.text.ellipsis", BROWSER_BLANK_PAGE_URL); +#endif } if (set_secrue_icon) @@ -1200,26 +1501,27 @@ void Browser_View::_set_url_entry(const char *url, Eina_Bool set_secrue_icon) void Browser_View::_stop_loading(void) { BROWSER_LOGD("[%s]", __func__); - if (m_focused_window->m_ewk_view) { - if (!ewk_view_stop(elm_webview_webkit_get(m_focused_window->m_ewk_view))) - BROWSER_LOGE("ewk_view_stop failed.\n"); - } + if (m_focused_window->m_ewk_view) + ewk_view_stop(m_focused_window->m_ewk_view); } void Browser_View::_reload(void) { BROWSER_LOGD("[%s]", __func__); - if (m_focused_window->m_ewk_view) { - if (!ewk_view_reload_full(elm_webview_webkit_get(m_focused_window->m_ewk_view))) - BROWSER_LOGE("ewk_view_reload_full failed.\n"); - } + if (m_focused_window->m_ewk_view) + ewk_view_reload_bypass_cache(m_focused_window->m_ewk_view); } -void Browser_View::set_focused_window(Browser_Window *window, Eina_Bool show_most_visited_sites) +void Browser_View::set_focused_window(Browser_Window *window +#if defined(FEATURE_MOST_VISITED_SITES) + ,Eina_Bool show_most_visited_sites +#endif + ) { BROWSER_LOGD("[%s]", __func__); - if (m_focused_window && m_focused_window->m_ewk_view) { - evas_object_hide(m_focused_window->m_ewk_view); + if (m_focused_window && m_focused_window->m_ewk_view_layout) { + elm_box_unpack(m_content_box, m_focused_window->m_ewk_view_layout); + evas_object_hide(m_focused_window->m_ewk_view_layout); } if (m_focused_window && m_focused_window->m_favicon) { @@ -1237,16 +1539,43 @@ void Browser_View::set_focused_window(Browser_Window *window, Eina_Bool show_mos m_focused_window = window; - elm_box_unpack_all(m_content_box); + if (!m_focused_window->m_ewk_view_layout) { + m_focused_window->m_ewk_view_layout = elm_layout_add(m_navi_bar); + if (!m_focused_window->m_ewk_view_layout) { + BROWSER_LOGE("elm_layout_add failed!"); + return; + } + if (!elm_layout_file_set(m_focused_window->m_ewk_view_layout, + BROWSER_EDJE_DIR"/browser-view-main.edj", + "browser/browser-view-webview")) { + BROWSER_LOGE("elm_layout_file_set failed", BROWSER_EDJE_DIR); + return; + } + evas_object_size_hint_weight_set(m_focused_window->m_ewk_view_layout, + EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_focused_window->m_ewk_view_layout, + EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_pack_end(m_content_box, m_focused_window->m_ewk_view_layout); + evas_object_show(m_focused_window->m_ewk_view_layout); - elm_box_pack_end(m_content_box, m_focused_window->m_ewk_view); - elm_box_pack_start(m_content_box, m_url_layout); + elm_object_part_content_set(m_focused_window->m_ewk_view_layout, "elm.swallow.webview", + m_focused_window->m_ewk_view); + evas_object_show(m_focused_window->m_ewk_view); - evas_object_show(m_focused_window->m_ewk_view); - /* Workaround. - * The webview layout is not resized whenever repack to content box. - * So resize the webview layout whenever repack. */ - ecore_idler_add(__webview_layout_resize_idler_cb, this); + + /* Workaround. + * If launch the browser by aul, the grey bg is displayed shortly. */ + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "hide,grey_background,signal", ""); + /* Workaround. + * The webview layout is not resized whenever repack to content box. + * So resize the webview layout whenever repack. */ + m_resize_idler = ecore_idler_add(__webview_layout_resize_idler_cb, this); + } else { + elm_box_pack_end(m_content_box, m_focused_window->m_ewk_view_layout); + evas_object_show(m_focused_window->m_ewk_view_layout); + evas_object_show(m_focused_window->m_ewk_view); + } if (!_is_loading()) { edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "loading,off,signal", ""); @@ -1257,7 +1586,11 @@ void Browser_View::set_focused_window(Browser_Window *window, Eina_Bool show_mos } /* show or hide favicon in url layout. */ - if (m_focused_window->m_favicon) { + if (m_focused_window->m_favicon +#if defined(FEATURE_MOST_VISITED_SITES) + && !is_most_visited_sites_running() +#endif + ) { if (elm_object_part_content_get(m_url_entry_layout, "elm.swallow.favicon")) elm_object_part_content_unset(m_url_entry_layout, "elm.swallow.favicon"); @@ -1266,13 +1599,18 @@ void Browser_View::set_focused_window(Browser_Window *window, Eina_Bool show_mos edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "show,favicon,signal", ""); evas_object_show(m_focused_window->m_favicon); + _set_secure_icon(); } else { edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "hide,favicon,signal", ""); } /* show or hide favicon in option header url layout. */ - if (m_focused_window->m_option_header_favicon) { + if (m_focused_window->m_option_header_favicon +#if defined(FEATURE_MOST_VISITED_SITES) + && !is_most_visited_sites_running() +#endif + ) { if (elm_object_part_content_get(m_option_header_url_entry_layout, "elm.swallow.favicon")) elm_object_part_content_unset(m_option_header_url_entry_layout, "elm.swallow.favicon"); @@ -1280,43 +1618,157 @@ void Browser_View::set_focused_window(Browser_Window *window, Eina_Bool show_mos m_focused_window->m_option_header_favicon); edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "show,favicon,signal", ""); + _set_secure_icon(); evas_object_show(m_focused_window->m_option_header_favicon); } else { edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "hide,favicon,signal", ""); } +#if defined(FEATURE_MOST_VISITED_SITES) + if (show_most_visited_sites) { + if (get_url().empty()) + _show_most_visited_sites(EINA_TRUE); + else + _show_most_visited_sites(EINA_FALSE); + } +#endif + std::vector window_list = m_browser->get_window_list(); _set_multi_window_controlbar_text(window_list.size()); if (!_set_favicon()) BROWSER_LOGE("_set_favicon failed"); + _update_back_forward_buttons(); + /* Without this code, the url is empty shortly when create deleted-window in multi window. */ if (get_url().empty() && !m_focused_window->m_url.empty()) _set_url_entry(m_focused_window->m_url.c_str()); else _set_url_entry(get_url().c_str()); + + if (window_list.size() >= BROWSER_MULTI_WINDOW_MAX_COUNT) + elm_object_item_disabled_set(m_new_window_button, EINA_TRUE); + else + elm_object_item_disabled_set(m_new_window_button, EINA_FALSE); } -void Browser_View::load_url(const char *url) +#if defined(FEATURE_MOST_VISITED_SITES) +Eina_Bool Browser_View::_show_most_visited_sites(Eina_Bool is_show) { - BROWSER_LOGD("[%s]url=[%s]", __func__, url); - if (!url || !strlen(url)) { - edje_object_signal_emit(elm_layout_edje_get(m_main_layout), - "show,control_bar,no_animation,signal", ""); + BROWSER_LOGD("[%s]is_show=%d", __func__, is_show); + if (is_show) { + m_selected_most_visited_sites_item_info.url.clear(); + m_selected_most_visited_sites_item_info.title.clear(); + m_selected_most_visited_sites_item_info.id.clear(); + + if (!m_most_visited_sites) { + m_most_visited_sites = new(nothrow) Most_Visited_Sites(m_navi_bar, this, m_most_visited_sites_db); + if (!m_most_visited_sites) { + BROWSER_LOGE("new Most_Visited_Sites failed"); + return EINA_FALSE; + } + + Evas_Object *most_visited_sites_layout = m_most_visited_sites->create_most_visited_sites_main_layout(); + if (!most_visited_sites_layout) { + BROWSER_LOGE("create_most_visited_sites_main_layout failed"); + if (m_most_visited_sites) { + delete m_most_visited_sites; + m_most_visited_sites = NULL; + } + return EINA_FALSE; + } + elm_object_part_content_set(m_main_layout, "elm.swallow.most_visited_sites", most_visited_sites_layout); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "show,most_visited_sites,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "show,control_bar,no_animation,signal", ""); - if (m_dummy_loading_progressbar) { - elm_object_part_content_unset(m_main_layout, "elm.swallow.waiting_progress"); - evas_object_del(m_dummy_loading_progressbar); - m_dummy_loading_progressbar = NULL; + /* change the url layout for normal mode. (change the reload icon etc) */ + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "loading,off,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "loading,off,signal", ""); + + edje_object_part_text_set(elm_layout_edje_get(m_url_entry_layout), + "url_guide_text", BR_STRING_URL_GUIDE_TEXT); + edje_object_part_text_set(elm_layout_edje_get(m_option_header_url_entry_layout), + "url_guide_text", BR_STRING_URL_GUIDE_TEXT); + + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "url_guide_text,on,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "url_guide_text,on,signal", ""); + + _set_navigationbar_title(BR_STRING_MOST_VISITED_SITES); + _set_url_entry(BROWSER_MOST_VISITED_SITES_URL); + + /* If the speed dial is displayed for the first time, destroy the progress wheel. */ + if (m_dummy_loading_progressbar) { + elm_object_part_content_unset(m_main_layout, "elm.swallow.waiting_progress"); + evas_object_del(m_dummy_loading_progressbar); + m_dummy_loading_progressbar = NULL; + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "hide,waiting_progressbar,signal", ""); + } + + elm_object_item_disabled_set(m_add_bookmark_button, EINA_TRUE); + } + + int scroller_x = 0; + int scroller_w = 0; + int scroller_h = 0; + elm_scroller_region_get(m_scroller, &scroller_x, NULL, &scroller_w, &scroller_h); + elm_scroller_region_show(m_scroller ,scroller_x, 0, scroller_w, scroller_h); + + _navigationbar_visible_set_signal(EINA_TRUE); + + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), + "hide,favicon,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "hide,favicon,signal", ""); + +#ifdef BROWSER_SCROLLER_BOUNCING + BROWSER_LOGD("<< lock browser scroller >>"); + elm_object_scroll_freeze_pop(m_scroller); + elm_object_scroll_freeze_push(m_scroller); +#endif + } else { + if (m_most_visited_sites) { + if (elm_object_part_content_get(m_main_layout, "elm.swallow.most_visited_sites")) + elm_object_part_content_unset(m_main_layout, "elm.swallow.most_visited_sites"); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), + "hide,most_visited_sites,signal", ""); edje_object_signal_emit(elm_layout_edje_get(m_main_layout), - "hide,waiting_progressbar,signal", ""); + "hide,most_visited_sites_guide_text,signal", ""); + + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "url_guide_text,off,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "url_guide_text,off,signal", ""); + + delete m_most_visited_sites; + m_most_visited_sites = NULL; + + elm_object_item_disabled_set(m_add_bookmark_button, EINA_FALSE); } + } + return EINA_TRUE; +} +#endif - ecore_idler_add(_activate_url_entry_idler_cb, this); +void Browser_View::load_url(const char *url) +{ + BROWSER_LOGD("[%s]", __func__); +#if defined(FEATURE_MOST_VISITED_SITES) + if (!url || !strlen(url)) { + if (!_show_most_visited_sites(EINA_TRUE)) + BROWSER_LOGE("_show_most_visited_sites EINA_TRUE failed"); return; + + } else { + if (!_show_most_visited_sites(EINA_FALSE)) + BROWSER_LOGE("_show_most_visited_sites EINA_FALSE failed"); } +#endif Evas_Object *edit_field_entry = br_elm_editfield_entry_get(_get_activated_url_entry()); evas_object_smart_callback_del(edit_field_entry, "changed", __url_entry_changed_cb); @@ -1331,86 +1783,74 @@ void Browser_View::load_url(const char *url) _set_url_entry(full_url.c_str()); - elm_webview_uri_set(m_focused_window->m_ewk_view, full_url.c_str()); - } + ewk_view_uri_set(m_focused_window->m_ewk_view, full_url.c_str()); +} string Browser_View::get_title(Browser_Window *window) { - BROWSER_LOGD("[%s]", __func__); - string title = ""; + const char *title = ewk_view_title_get(window->m_ewk_view); + BROWSER_LOGD("title = [%s]", title); if (!window->m_ewk_view && !window->m_title.empty()) return window->m_title; if (!window->m_ewk_view) - return title; + return std::string(); - Evas_Object *webkit = elm_webview_webkit_get(window->m_ewk_view); - Evas_Object *main_frame = ewk_view_frame_main_get(webkit); - if (main_frame) { - const char *frame_title = ewk_frame_title_get(main_frame); - if (frame_title) - title = std::string(frame_title); + if (!title) { + if (!window->m_title.empty()) + return window->m_title; + else + return std::string(); } - return title; + return std::string(title); } string Browser_View::get_title(void) { - BROWSER_LOGD("[%s]", __func__); - string title = ""; - - Evas_Object *webkit = elm_webview_webkit_get(m_focused_window->m_ewk_view); - Evas_Object *main_frame = ewk_view_frame_main_get(webkit); - if (main_frame) { - const char *frame_title = ewk_frame_title_get(main_frame); - if (frame_title) - title = std::string(frame_title); - } + const char *title = ewk_view_title_get(m_focused_window->m_ewk_view); + BROWSER_LOGD("title = [%s]", title); - BROWSER_LOGD("m_focused_window->m_title=[%s]", m_focused_window->m_title.c_str()); - if (title.empty() && !m_focused_window->m_title.empty()) + if (!title && m_focused_window->m_title.empty()) + return std::string(); + else if (!title && !m_focused_window->m_title.empty()) return m_focused_window->m_title; - else - return title; + + if (title && strlen(title)) + return std::string(title); + + return std::string(); } string Browser_View::get_url(Browser_Window *window) { BROWSER_LOGD("[%s]", __func__); - string url = ""; if (!window->m_ewk_view && !window->m_url.empty()) return window->m_url; if (!window->m_ewk_view) - return url; + return std::string(); - Evas_Object *webkit = elm_webview_webkit_get(window->m_ewk_view); - Evas_Object *main_frame = ewk_view_frame_main_get(webkit); - if (main_frame) { - const char *frame_url = ewk_frame_uri_get(main_frame); - if (frame_url) - url = std::string(frame_url); - } + const char *uri = ewk_view_uri_get(window->m_ewk_view); + BROWSER_LOGD("uri = [%s]", uri); + + if (!uri || strlen(uri) == 0) + return std::string(); - return url; + return std::string(uri); } string Browser_View::get_url(void) { - BROWSER_LOGD("[%s]", __func__); - string url = ""; + const char *uri = ewk_view_uri_get(m_focused_window->m_ewk_view); + BROWSER_LOGD("uri = [%s]", uri); - Evas_Object *webkit = elm_webview_webkit_get(m_focused_window->m_ewk_view); - Evas_Object *main_frame = ewk_view_frame_main_get(webkit); - if (main_frame) { - const char *frame_url = ewk_frame_uri_get(main_frame); - if (frame_url) - url = std::string(frame_url); - } - return url; + if (!uri || strlen(uri) == 0) + return std::string(); + + return std::string(uri); } /* If multi window is running, unset the navigation title object, @@ -1431,8 +1871,10 @@ void Browser_View::unset_navigationbar_title_object(Eina_Bool is_unset) m_option_header_layout); evas_object_show(m_option_header_layout); } - - _navigationbar_visible_set_signal(EINA_FALSE); +#if defined(FEATURE_MOST_VISITED_SITES) + if (!is_most_visited_sites_running()) + _navigationbar_visible_set_signal(EINA_FALSE); +#endif } } @@ -1443,7 +1885,7 @@ void Browser_View::__go_to_bookmark_cb(void *data, Evas_Object *obj, void *event return; Browser_View *browser_view = (Browser_View *)data; - browser_view->suspend_webview(browser_view->m_focused_window->m_ewk_view); + if (!m_data_manager->create_bookmark_view()) { BROWSER_LOGE("m_data_manager->create_bookmark_view failed"); return; @@ -1454,7 +1896,6 @@ void Browser_View::__go_to_bookmark_cb(void *data, Evas_Object *obj, void *event m_data_manager->destroy_bookmark_view(); } - browser_view->m_context_menu->destroy_context_popup(); browser_view->_destroy_more_context_popup(); } @@ -1465,9 +1906,9 @@ void Browser_View::__backward_cb(void *data, Evas_Object *obj, void *event_info) return; Browser_View *browser_view = (Browser_View *)data; - __title_back_button_clicked_cb(data, obj, event_info); + __title_back_button_clicked_cb(data, NULL, NULL); + browser_view->_destroy_more_context_popup(); - browser_view->m_context_menu->destroy_context_popup(); } void Browser_View::__forward_cb(void *data, Evas_Object *obj, void *event_info) @@ -1478,13 +1919,207 @@ void Browser_View::__forward_cb(void *data, Evas_Object *obj, void *event_info) Browser_View *browser_view = (Browser_View *)data; browser_view->_destroy_more_context_popup(); - if (browser_view->m_focused_window->m_ewk_view) { - Evas_Object *webkit = elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view); - if (ewk_view_forward_possible(webkit)) { - if (!ewk_view_forward(webkit)) - BROWSER_LOGE("ewk_view_forward failed"); + if (browser_view->m_focused_window->m_ewk_view + && ewk_view_forward_possible(browser_view->m_focused_window->m_ewk_view)) + ewk_view_forward(browser_view->m_focused_window->m_ewk_view); +} + +#ifdef USE_META_TAG +void Browser_View::__web_app_capable_get_cb(Eina_Bool capable, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!user_data) + return; + + Browser_View *browser_view = (Browser_View *)user_data; + Evas_Object *webkit = browser_view->m_focused_window->m_ewk_view; + if (capable) { + ewk_view_web_application_icon_url_get(webkit, __web_app_icon_url_get_cb, browser_view); + } +} + +void Browser_View::__web_app_icon_url_get_cb(const char* icon_url, void* user_data) +{ + BROWSER_LOGD("icon_url:%s", icon_url); + + if (!user_data) + return; + + Browser_View *browser_view = (Browser_View *)user_data; + + /* make configure file */ + browser_view->m_meta_tag->create_config_xml((browser_view->get_url()).c_str(), browser_view->get_title().c_str(), NULL); + if (!icon_url || strlen(icon_url) == 0) { + BROWSER_LOGD("Failed to get webapp icon url, make widget with default icon"); + browser_view->m_meta_tag->wgt_install(NULL); + } else { + BROWSER_LOGD("Succeed to get webapp icon url, make widget after icon downloaded"); + /* get icon */ + browser_view->m_meta_tag->request_download_icon(icon_url); + } +} +#endif + +Eina_Bool Browser_View::__show_scissorbox_view_idler_cb(void *data) +{ + if (!data) + return ECORE_CALLBACK_CANCEL; + + Browser_View *browser_view = (Browser_View *)data; + + if (browser_view->m_scissorbox_view) + delete browser_view->m_scissorbox_view; + + browser_view->m_scissorbox_view = new(nothrow) Browser_Scissorbox_View(browser_view); + if (!browser_view->m_scissorbox_view) { + BROWSER_LOGE("new Browser_Scissorbox_View failed"); + return ECORE_CALLBACK_CANCEL; + } + if (!browser_view->m_scissorbox_view->init()) { + BROWSER_LOGE("m_scissorbox_view->init failed"); + delete browser_view->m_scissorbox_view; + browser_view->m_scissorbox_view = NULL; + return ECORE_CALLBACK_CANCEL; + } + + elm_object_part_content_set(browser_view->m_main_layout, "elm.swallow.scissorbox", + browser_view->m_scissorbox_view->get_layout()); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_main_layout), + "show,scissorbox,signal", ""); + + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_layout), + "show,scissorbox,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_layout), + "show,scissorbox,signal", ""); + + + elm_object_part_content_unset(browser_view->m_main_layout, "elm.swallow.control_bar"); + evas_object_hide(browser_view->m_control_bar); + + return ECORE_CALLBACK_CANCEL; +} + +Eina_Bool Browser_View::_show_scissorbox_view(void) +{ + BROWSER_LOGD("[%s]", __func__); + +// _hide_scroller_url_layout(); + + ecore_idler_add(__show_scissorbox_view_idler_cb, this); + + return EINA_TRUE; +} + +void Browser_View::_destroy_scissorbox_view(void) +{ + elm_object_part_content_unset(m_main_layout, "elm.swallow.scissorbox"); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "hide,scissorbox,signal", ""); + + edje_object_signal_emit(elm_layout_edje_get(m_url_layout), + "hide,scissorbox,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_layout), + "hide,scissorbox,signal", ""); + + elm_object_part_content_unset(m_main_layout, "elm.swallow.control_bar"); + + if (m_scissorbox_view) { + delete m_scissorbox_view; + m_scissorbox_view = NULL; + } + + elm_object_part_content_set(m_main_layout, "elm.swallow.control_bar", m_control_bar); + evas_object_show(m_control_bar); +} + +void Browser_View::__private_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + browser_view->m_is_private = !browser_view->m_is_private; + + browser_view->m_is_private_item_pressed = EINA_TRUE; + + elm_check_state_set(browser_view->m_private_check, browser_view->m_is_private); + + if (browser_view->m_is_private) { + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), "private,on,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_entry_layout), "private,on,signal", ""); + } else { + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), "private,off,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_entry_layout), "private,off,signal", ""); + } + + Ewk_Setting *setting = ewk_view_setting_get(browser_view->m_focused_window->m_ewk_view); + ewk_setting_private_browsing_set(setting, browser_view->m_is_private); +} + +void Browser_View::__bookmark_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + int bookmark_id = -1; + if(!m_data_manager->get_history_db()->is_in_bookmark(browser_view->get_url().c_str(), &bookmark_id)) { + if (!elm_icon_file_set(browser_view->m_bookmark_on_off_icon, BROWSER_IMAGE_DIR"/I01_icon_bookmark_on.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return; + } + m_data_manager->create_bookmark_db()->save_bookmark(BROWSER_BOOKMARK_MAIN_FOLDER_ID, + browser_view->get_title().c_str(), browser_view->get_url().c_str()); + browser_view->show_notify_popup(BR_STRING_ADDED_TO_BOOKMARKS, 3, EINA_TRUE); + } else { + if (!elm_icon_file_set(browser_view->m_bookmark_on_off_icon, BROWSER_IMAGE_DIR"/I01_icon_bookmark_off.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return; } + m_data_manager->create_bookmark_db()->delete_bookmark(bookmark_id); + browser_view->show_notify_popup(BR_STRING_REMOVED_TO_BOOKMARKS, 3, EINA_TRUE); + } + + m_data_manager->destroy_bookmark_db(); +} + +void Browser_View::__bookmark_icon_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; +} + +void Browser_View::__private_check_change_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Eina_Bool state = elm_check_state_get((Evas_Object*)obj); + browser_view->m_is_private = state; + + if (browser_view->m_is_private_item_pressed) { + browser_view->m_is_private = !browser_view->m_is_private; + elm_check_state_set(browser_view->m_private_check, browser_view->m_is_private); + browser_view->m_is_private_item_pressed = EINA_FALSE; } + + if (browser_view->m_is_private) { + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), "private,on,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_entry_layout), "private,on,signal", ""); + } else { + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_url_entry_layout), "private,off,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_option_header_url_entry_layout), "private,off,signal", ""); + } + + Ewk_Setting *setting = ewk_view_setting_get(browser_view->m_focused_window->m_ewk_view); + ewk_setting_private_browsing_set(setting, browser_view->m_is_private); } void Browser_View::__expand_option_header_cb(void *data, Evas_Object *obj, void *event_info) @@ -1498,32 +2133,65 @@ void Browser_View::__expand_option_header_cb(void *data, Evas_Object *obj, void browser_view->_navigationbar_title_clicked(); } -void Browser_View::__add_bookmark_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::__add_bookmark_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + if (!m_data_manager->create_add_to_bookmark_view(browser_view->get_title(), browser_view->get_url())) { + BROWSER_LOGE("m_data_manager->create_add_to_bookmark_view failed"); + return; + } + + if (!m_data_manager->get_add_to_bookmark_view()->init()) + m_data_manager->destroy_add_to_bookmark_view(); +} + +#if defined(HORIZONTAL_UI) +void Browser_View::_rotate_multi_window(void) { BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - Browser_View *browser_view = (Browser_View *)data; + if (!m_data_manager->create_multi_window_view()) { + BROWSER_LOGE("m_data_manager->create_multi_window_view failed"); + return; + } - if (!m_data_manager->create_add_to_bookmark_view(browser_view->get_title(), browser_view->get_url())) { - BROWSER_LOGE("m_data_manager->create_add_to_bookmark_view failed"); + if (!m_data_manager->get_multi_window_view()->init(0.0, m_is_multi_window_grid_mode)) { + m_data_manager->destroy_multi_window_view(); + BROWSER_LOGE("get_multi_window_view()->init failed"); return; } - if (!m_data_manager->get_add_to_bookmark_view()->init()) - m_data_manager->destroy_add_to_bookmark_view(); + ewk_view_suspend(m_focused_window->m_ewk_view); + + _navigationbar_visible_set_signal(EINA_FALSE); + + /* Hide the secure lock icon in title bar. */ + Elm_Object_Item *top_it = elm_naviframe_top_item_get(m_navi_bar); + elm_object_item_part_content_set(top_it, ELM_NAVIFRAME_ITEM_ICON, NULL); + + if (_get_edit_mode() != BR_NO_EDIT_MODE) + _set_edit_mode(BR_NO_EDIT_MODE); + + m_is_multi_window_grid_mode = EINA_FALSE; } +#endif void Browser_View::__multi_window_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); Browser_View *browser_view = (Browser_View *)data; - - browser_view->m_context_menu->destroy_context_popup(); browser_view->_destroy_more_context_popup(); +#if defined(FEATURE_MOST_VISITED_SITES) + if (browser_view->m_most_visited_sites && browser_view->m_most_visited_sites->is_guide_text_running()) + return; +#endif + if (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) { BROWSER_LOGD("close multi window"); m_data_manager->get_multi_window_view()->close_multi_window(); @@ -1544,7 +2212,10 @@ void Browser_View::__multi_window_cb(void *data, Evas_Object *obj, void *event_i return; } - browser_view->suspend_webview(browser_view->m_focused_window->m_ewk_view); + /* Exception case to call ewk_view_suspend directly. + * That's because the webpage is cleared, when call ewk_view_visibility_set suspend_ewk_view */ + ewk_view_suspend(browser_view->m_focused_window->m_ewk_view); + ewk_view_visibility_set(browser_view->m_focused_window->m_ewk_view, EINA_FALSE); browser_view->_navigationbar_visible_set_signal(EINA_FALSE); @@ -1556,6 +2227,74 @@ void Browser_View::__multi_window_cb(void *data, Evas_Object *obj, void *event_i browser_view->_set_edit_mode(BR_NO_EDIT_MODE); } +void Browser_View::__new_window_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Browser_Class *browser = browser_view->m_browser; + + if (browser_view->m_resize_idler) + return; + + std::vector window_list = browser->get_window_list(); + if (window_list.size() >= BROWSER_MULTI_WINDOW_MAX_COUNT) { + /* If the multi window is max, delete the first one. */ + /* if the first window is focused, delete second one(oldest one except first one) */ + if (browser_view->m_focused_window != window_list[0]) + browser->delete_window(window_list[0]); + else + browser->delete_window(window_list[1]); + } + + browser_view->m_created_new_window = browser->create_new_window(EINA_TRUE); + if (!browser_view->m_created_new_window) { + BROWSER_LOGE("create_new_window failed"); + return; + } + /* initialize the created webview first to connect ewk event callback functions such as load start, progress etc. */ + ewk_view_suspend(browser_view->m_focused_window->m_ewk_view); + +#if defined(HORIZONTAL_UI) + if (browser_view->m_focused_window->m_landscape_snapshot_image) { + evas_object_del(browser_view->m_focused_window->m_landscape_snapshot_image); + browser_view->m_focused_window->m_landscape_snapshot_image = NULL; + } +#endif + if (browser_view->m_focused_window->m_portrait_snapshot_image) { + evas_object_del(browser_view->m_focused_window->m_portrait_snapshot_image); + browser_view->m_focused_window->m_portrait_snapshot_image = NULL; + } + +#if defined(HORIZONTAL_UI) + if (browser_view->is_landscape()) + browser_view->m_focused_window->m_landscape_snapshot_image = browser_view->_capture_snapshot(browser_view->m_focused_window, BROWSER_MULTI_WINDOW_ITEM_RATIO); + else +#endif + browser_view->m_focused_window->m_portrait_snapshot_image = browser_view->_capture_snapshot(browser_view->m_focused_window, BROWSER_MULTI_WINDOW_ITEM_RATIO); + +#if defined(FEATURE_MOST_VISITED_SITES) + if (!browser_view->_show_most_visited_sites(EINA_FALSE)) + BROWSER_LOGE("_show_most_visited_sites EINA_FALSE failed"); +#endif + + /* initialize the created webview first to connect ewk event callback functions such as load start, progress etc. */ + browser->ewk_view_init(browser_view->m_created_new_window->m_ewk_view); + + if (!browser_view->_show_new_window_effect(browser_view->m_focused_window->m_ewk_view, + browser_view->m_created_new_window->m_ewk_view)) + BROWSER_LOGE("_show_new_window_effect failed"); + +#if defined(FEATURE_MOST_VISITED_SITES) + browser_view->load_url(BROWSER_MOST_VISITED_SITES_URL); +#else + browser_view->load_url(BROWSER_BLANK_PAGE_URL); +#endif + return; +} + Eina_Bool Browser_View::_call_internet_settings(void) { BROWSER_LOGD("[%s]", __func__); @@ -1588,6 +2327,13 @@ void Browser_View::__internet_settings_cb(void *data, Evas_Object *obj, void *ev BROWSER_LOGE("_call_internet_settings failed"); } +void Browser_View::_update_find_word_index_text(const char *index_text) +{ + BROWSER_LOGD("[%s]", __func__); + + edje_object_part_text_set(elm_layout_edje_get(m_option_header_find_word_layout), "elm.index_text", index_text); +} + void Browser_View::__find_word_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); @@ -1606,8 +2352,9 @@ void Browser_View::__find_word_cb(void *data, Evas_Object *obj, void *event_info browser_view->_set_edit_mode(BR_FIND_WORD_MODE); - browser_view->m_find_word->init(browser_view->m_focused_window->m_ewk_view); + elm_object_focus_set(browser_view->m_find_word_edit_field, EINA_TRUE); + edje_object_part_text_set(elm_layout_edje_get(browser_view->m_option_header_find_word_layout), "elm.index_text", "0/0"); } Eina_Bool Browser_View::_call_download_manager(void) @@ -1661,12 +2408,59 @@ void Browser_View::__download_manager_cb(void *data, Evas_Object *obj, void *eve BROWSER_LOGE("_call_download_manager failed"); } +void Browser_View::__send_via_message_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + browser_view->_destroy_more_context_popup(); + + if (!browser_view->_send_via_message(browser_view->get_url(), std::string())) + BROWSER_LOGE("_send_via_message failed"); +} + +void Browser_View::__send_via_email_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + browser_view->_destroy_more_context_popup(); + + if (!browser_view->_send_via_email(browser_view->get_url())) + BROWSER_LOGE("_send_via_email failed"); +} + +void Browser_View::__post_to_sns_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View*)data; + + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + const char *label = elm_object_item_text_get(it); + BROWSER_LOGD("label=[%s]", label); + if (label && strlen(label)) { + if (!browser_view->_post_to_sns(std::string(label), browser_view->get_url())) + BROWSER_LOGE("_post_to_sns failed"); + } + + browser_view->_destroy_more_context_popup(); +} + void Browser_View::_destroy_more_context_popup(void) { if (m_more_context_popup) { evas_object_del(m_more_context_popup); m_more_context_popup = NULL; } + + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "hide,more_context_bg,signal", ""); } void Browser_View::__more_context_popup_dismissed_cb(void *data, Evas_Object *obj, @@ -1680,6 +2474,17 @@ void Browser_View::__more_context_popup_dismissed_cb(void *data, Evas_Object *ob browser_view->_destroy_more_context_popup(); } +void Browser_View::__clean_up_windows_test_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + browser_view->_destroy_more_context_popup(); + + m_browser->clean_up_windows(); +} + Eina_Bool Browser_View::_show_more_context_popup(void) { BROWSER_LOGD("[%s]", __func__); @@ -1691,41 +2496,83 @@ Eina_Bool Browser_View::_show_more_context_popup(void) BROWSER_LOGE("elm_ctxpopup_add failed"); return EINA_FALSE; } + + elm_object_style_set(m_more_context_popup, "pass_event"); + + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "show,more_context_bg,signal", ""); + evas_object_size_hint_weight_set(m_more_context_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_smart_callback_add(m_more_context_popup, "dismissed", __more_context_popup_dismissed_cb, this); - Elm_Object_Item *sub_menu = elm_ctxpopup_item_append(m_more_context_popup, - BR_STRING_FORWARD, NULL, __forward_cb, this); - if (get_url().empty()) - elm_object_item_disabled_set(sub_menu, EINA_TRUE); - else { - Evas_Object *webkit = elm_webview_webkit_get(m_focused_window->m_ewk_view); - if (!ewk_view_forward_possible(webkit)) - elm_object_item_disabled_set(sub_menu, EINA_TRUE); - } - + Elm_Object_Item *sub_menu = NULL; elm_ctxpopup_item_append(m_more_context_popup, BR_STRING_DOWNLOAD_MANAGER, NULL, __download_manager_cb, this); - sub_menu = elm_ctxpopup_item_append(m_more_context_popup, BR_STRING_FIND_WORD, NULL, + sub_menu = elm_ctxpopup_item_append(m_more_context_popup, BR_STRING_FIND_ON_PAGE, NULL, __find_word_cb, this); - if (get_url().empty() + if ( +#if defined(FEATURE_MOST_VISITED_SITES) + is_most_visited_sites_running() || +#endif + get_url().empty() + || _get_edit_mode() == BR_FIND_WORD_MODE) + elm_object_item_disabled_set(sub_menu, EINA_TRUE); + + m_bookmark_on_off_icon = elm_icon_add(m_more_context_popup); + + if(m_data_manager->get_history_db()->is_in_bookmark(get_url().c_str(), NULL)) { + if (!elm_icon_file_set(m_bookmark_on_off_icon, BROWSER_IMAGE_DIR"/I01_icon_bookmark_on.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return EINA_FALSE; + } + } else { + if (!elm_icon_file_set(m_bookmark_on_off_icon, BROWSER_IMAGE_DIR"/I01_icon_bookmark_off.png", NULL)) { + BROWSER_LOGE("elm_icon_file_set is failed.\n"); + return EINA_FALSE; + } + } + evas_object_size_hint_aspect_set(m_bookmark_on_off_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + + evas_object_propagate_events_set(m_bookmark_on_off_icon, EINA_FALSE); + evas_object_repeat_events_set(m_bookmark_on_off_icon, EINA_FALSE); + evas_object_smart_callback_add(m_bookmark_on_off_icon, "clicked", __bookmark_icon_changed_cb, this); + + sub_menu = elm_ctxpopup_item_append(m_more_context_popup, BR_STRING_BOOKMARK, m_bookmark_on_off_icon, + __bookmark_cb, this); + if ( +#if defined(FEATURE_MOST_VISITED_SITES) + is_most_visited_sites_running() || +#endif + get_url().empty() || _get_edit_mode() == BR_FIND_WORD_MODE) elm_object_item_disabled_set(sub_menu, EINA_TRUE); + m_private_check = elm_check_add(m_more_context_popup); + elm_object_style_set(m_private_check, "on&off"); + evas_object_smart_callback_add(m_private_check, "changed", __private_check_change_cb, this); + + elm_check_state_set(m_private_check, m_is_private); + evas_object_propagate_events_set(m_private_check, EINA_FALSE); + evas_object_show(m_private_check); + + elm_ctxpopup_item_append(m_more_context_popup, BR_STRING_PRIVATE, m_private_check, + __private_cb, this); + elm_ctxpopup_item_append(m_more_context_popup, BR_STRING_SETTINGS, NULL, __internet_settings_cb, this); elm_ctxpopup_hover_parent_set(m_more_context_popup, m_navi_bar); - Evas_Coord navibar_width = 0; - Evas_Coord navibar_height = 0; - evas_object_geometry_get(m_navi_bar, NULL, NULL, &navibar_width, &navibar_height); + int controlbar_x = 0; + int controlbar_y = 0; + int controlbar_w = 0; + int controlbar_h = 0; + evas_object_geometry_get(m_control_bar, &controlbar_x, &controlbar_y, &controlbar_w, &controlbar_h); + + evas_object_move(m_more_context_popup, (controlbar_w / 5) * 3 + controlbar_w / 10, controlbar_y + (controlbar_h / 2)); - evas_object_move(m_more_context_popup, BROWSER_MORE_CTX_POPUP_MARGIN * 7, - navibar_height - BROWSER_MORE_CTX_POPUP_MARGIN); evas_object_show(m_more_context_popup); return EINA_TRUE; @@ -1738,15 +2585,14 @@ void Browser_View::__more_cb(void *data, Evas_Object *obj, void *event_info) return; Browser_View *browser_view = (Browser_View *)data; - - browser_view->m_context_menu->destroy_context_popup(); - if (browser_view->m_more_context_popup == NULL) { if (!browser_view->_show_more_context_popup()) BROWSER_LOGE("_show_more_context_popup failed"); } else { browser_view->_destroy_more_context_popup(); } + + browser_view->_navigationbar_visible_set(EINA_TRUE); } void Browser_View::_set_controlbar_back_forward_status(void) @@ -1756,7 +2602,11 @@ void Browser_View::_set_controlbar_back_forward_status(void) if (!ewk_view) return; - if (get_url().empty()) + if ( +#if defined(FEATURE_MOST_VISITED_SITES) + is_most_visited_sites_running() || +#endif + get_url().empty()) elm_object_item_disabled_set(m_share_controlbar_button, EINA_TRUE); else elm_object_item_disabled_set(m_share_controlbar_button, EINA_FALSE); @@ -1777,40 +2627,69 @@ void Browser_View::_set_multi_window_controlbar_text(int count) Evas_Object *Browser_View::_create_control_bar(void) { BROWSER_LOGD("[%s]", __func__); + Evas_Object *controlbar_layout; + controlbar_layout = elm_layout_add(m_navi_bar); + if (!controlbar_layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + if (!elm_layout_file_set(controlbar_layout, BROWSER_EDJE_DIR"/browser-view-control-bar.edj", + "browser-view-controlbar")) { + BROWSER_LOGE("Can not set layout browser-view-controlbar\n"); + return NULL; + } + evas_object_size_hint_weight_set(controlbar_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(controlbar_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(controlbar_layout); + Evas_Object *control_bar; control_bar = elm_toolbar_add(m_navi_bar); if (control_bar) { - elm_object_style_set(control_bar, "browser/default"); + elm_object_style_set(control_bar, "browser/browser-view"); elm_toolbar_shrink_mode_set(control_bar, ELM_TOOLBAR_SHRINK_EXPAND); - m_more_button = elm_toolbar_item_append(control_bar, - BROWSER_IMAGE_DIR"/I01_controlbar_icon_more.png", NULL, __more_cb, this); - if (!m_more_button) { + /* New Window Button */ + m_new_window_button = elm_toolbar_item_append(control_bar, + BROWSER_IMAGE_DIR"/I01_controlbar_icon_new_window.png", NULL, __new_window_cb, this); + if (!m_new_window_button) { BROWSER_LOGE("elm_toolbar_item_append failed"); return NULL; } + /* Multi Window Button */ m_multi_window_button = elm_toolbar_item_append(control_bar, BROWSER_IMAGE_DIR"/01_controlbar_icon_multiview.png", NULL, __multi_window_cb, this); + /* Bookmark Button */ elm_toolbar_item_append(control_bar, BROWSER_IMAGE_DIR"/I01_controlbar_icon_bookmark.png", NULL, __go_to_bookmark_cb, this); + /* More menu Button */ + m_more_button = elm_toolbar_item_append(control_bar, + BROWSER_IMAGE_DIR"/I01_controlbar_icon_more.png", NULL, __more_cb, this); + if (!m_more_button) { + BROWSER_LOGE("elm_toolbar_item_append failed"); + return NULL; + } + elm_object_part_content_set(controlbar_layout, "elm.swallow.controlbar", control_bar); - m_backward_button = elm_toolbar_item_append(control_bar, - BROWSER_IMAGE_DIR"/01_controlbar_icon_back.png", NULL, __backward_cb, this); - if (!m_backward_button) { - BROWSER_LOGE("elm_toolbar_item_append failed"); + m_back_button = elm_button_add(control_bar); + if (!m_back_button) { + BROWSER_LOGE("elm_button_add failed"); return NULL; } + elm_object_style_set(m_back_button, "browser/browser_view_controlbar_back"); + elm_object_part_content_set(controlbar_layout, "elm.swallow.back_button", m_back_button); + evas_object_smart_callback_add(m_back_button, "clicked", __backward_cb, this); + evas_object_show(m_back_button); evas_object_show(control_bar); } - return control_bar; + return controlbar_layout; } -/* +/* * Create two same url layouts similar with other browsers like android & safari. * The one(by _create_url_layout) is in the browser scroller and * the other(by _create_option_header_url_layout) is in the navigation bar option header. @@ -1856,7 +2735,7 @@ Evas_Object *Browser_View::_create_option_header_url_layout(void) } elm_object_part_content_set(m_option_header_url_entry_layout, "elm.swallow.entry", m_option_header_url_edit_field); - br_elm_editfield_entry_single_line_set(m_option_header_url_edit_field, EINA_TRUE); +// br_elm_editfield_entry_single_line_set(m_option_header_url_edit_field, EINA_TRUE); br_elm_editfield_eraser_set(m_option_header_url_edit_field, EINA_FALSE); Evas_Object *edit_field_entry = br_elm_editfield_entry_get(m_option_header_url_edit_field); @@ -1884,7 +2763,9 @@ Evas_Object *Browser_View::_create_option_header_url_layout(void) BROWSER_LOGE("elm_progressbar_add failed"); return NULL; } - elm_object_style_set(m_option_header_url_progresswheel, "browser/loading_wheel"); + + elm_object_style_set(m_option_header_url_progresswheel, "UIActivityIndicatorStyleWhite"); + elm_progressbar_pulse(m_option_header_url_progresswheel, EINA_FALSE); elm_object_part_content_set(m_option_header_url_entry_layout, "elm.swallow.progress", m_option_header_url_progresswheel); evas_object_show(m_option_header_url_progresswheel); @@ -1896,12 +2777,36 @@ Evas_Object *Browser_View::_create_option_header_url_layout(void) } evas_object_size_hint_weight_set(m_option_header_cancel_button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(m_option_header_cancel_button, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_style_set(m_option_header_cancel_button, "text_only/style2"); + elm_object_style_set(m_option_header_cancel_button, "browser/cancel_button"); elm_object_text_set(m_option_header_cancel_button, BR_STRING_CANCEL); elm_object_part_content_set(url_layout, "elm.swallow.cancel", m_option_header_cancel_button); evas_object_smart_callback_add(m_option_header_cancel_button, "clicked", __cancel_button_clicked_cb, this); evas_object_show(m_option_header_cancel_button); + m_option_header_title_backward_button = elm_button_add(m_navi_bar); + if (!m_option_header_title_backward_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_option_header_title_backward_button, "browser/backward"); + elm_object_part_content_set(url_layout, "elm.swallow.backward_button", m_option_header_title_backward_button); + evas_object_smart_callback_add(m_option_header_title_backward_button, "clicked", __backward_button_clicked_cb, this); + elm_object_focus_allow_set(m_option_header_title_backward_button, EINA_FALSE); + evas_object_show(m_option_header_title_backward_button); + elm_object_disabled_set(m_option_header_title_backward_button, EINA_TRUE); + + m_option_header_title_forward_button = elm_button_add(m_navi_bar); + if (!m_option_header_title_forward_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_option_header_title_forward_button, "browser/forward"); + elm_object_part_content_set(url_layout, "elm.swallow.forward_button", m_option_header_title_forward_button); + evas_object_smart_callback_add(m_option_header_title_forward_button, "clicked", __forward_button_clicked_cb, this); + elm_object_focus_allow_set(m_option_header_title_forward_button, EINA_FALSE); + evas_object_show(m_option_header_title_forward_button); + elm_object_disabled_set(m_option_header_title_forward_button, EINA_TRUE); + /* for jump to top. */ evas_object_event_callback_add(url_layout, EVAS_CALLBACK_MOUSE_DOWN, __option_header_url_layout_mouse_down_cb, this); } @@ -1911,7 +2816,7 @@ Evas_Object *Browser_View::_create_option_header_url_layout(void) Evas_Object *Browser_View::_get_activated_url_entry(void) { - /* The edit field in option header url layout is only valid for edit. + /* The edit field in option header url layout is only valid for edit. * If the edit field in browser scroller can have focus, there is so many focus issue. * So just make the edit field in option header editable. */ return m_option_header_url_edit_field; @@ -1932,8 +2837,8 @@ void Browser_View::__url_entry_imf_event_cb(void *data, Ecore_IMF_Context *ctx, if (browser_view->m_edit_mode != BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF && browser_view->m_edit_mode != BR_FIND_WORD_MODE) browser_view->_set_edit_mode(BR_NO_EDIT_MODE); - - browser_view->_set_url_entry(browser_view->get_url().c_str()); + else + return; } else if (value == ECORE_IMF_INPUT_PANEL_STATE_SHOW) /* If the focus of url entry is set automatically, the keypad is also displayed automatically. */ /* eg. At url edit mode, lock the screen -> then unlock, the url entry will get focus. */ @@ -1968,14 +2873,28 @@ void Browser_View::_set_edit_mode(edit_mode mode) if (m_edit_mode == mode) return; - m_context_menu->destroy_context_popup(); - m_picker_handler->destroy_picker_layout(); +#if defined(FEATURE_MOST_VISITED_SITES) + if (mode == BR_NO_EDIT_MODE) { + if (m_most_visited_sites) { + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "url_guide_text,on,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "url_guide_text,on,signal", ""); + } + } else { + if (m_most_visited_sites) { + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "url_guide_text,off,signal", ""); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), + "url_guide_text,off,signal", ""); + } + } +#endif if (mode == BR_URL_ENTRY_EDIT_MODE || mode == BR_FIND_WORD_MODE || mode == BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF) { +#ifdef BROWSER_SCROLLER_BOUNCING /* If edit mode, lock the browser scroller */ _enable_webview_scroll(); - +#endif /* Make the browser scroller region y = 0 to show url bar all at edit mode. */ int scroller_x = 0; int scroller_w = 0; @@ -1998,41 +2917,12 @@ void Browser_View::_set_edit_mode(edit_mode mode) edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "hide,favicon,signal", ""); edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "hide,favicon,signal", ""); - - edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "rss,off,signal", ""); - edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), - "rss,off,signal", ""); - - /* change the browser main view layout for edit mode. - * Display content dim*/ edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "edit,url,on,signal", ""); - if (m_predictive_history) - delete m_predictive_history; - m_predictive_history = new(nothrow) Browser_Predictive_History(m_navi_bar, - m_data_manager->get_history_db(), this); - if (!m_predictive_history) { - BROWSER_LOGE("new Browser_Predictive_History failed"); - return; - } - Evas_Object *predictive_history_layout = m_predictive_history->create_predictive_history_layout(); - if (!predictive_history_layout) { - BROWSER_LOGE("create_predictive_history_layout failed"); - delete m_predictive_history; - m_predictive_history = NULL; - return; - } - - /* Becaue of predictive hisotry. */ - Evas_Object *edit_field_entry = br_elm_editfield_entry_get(_get_activated_url_entry()); - evas_object_smart_callback_del(edit_field_entry, "changed", __url_entry_changed_cb); - evas_object_smart_callback_add(edit_field_entry, "changed", __url_entry_changed_cb, this); - - elm_object_part_content_set(m_main_layout, "elm.swallow.predictive_history", predictive_history_layout); } else if (mode == BR_NO_EDIT_MODE || mode == BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF) { if (m_edit_mode == BR_FIND_WORD_MODE) { edje_object_signal_emit(elm_layout_edje_get(m_option_header_layout), "hide,find_word_layout,signal", ""); - m_find_word->deinit(); + m_find_word->find_word("", Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); } else { /* change layout of url layout for normal mode. */ edje_object_signal_emit(elm_layout_edje_get(m_url_layout), "edit,url,off,signal", ""); @@ -2044,35 +2934,36 @@ void Browser_View::_set_edit_mode(edit_mode mode) edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "edit,url,off,signal", ""); - if (m_focused_window->m_favicon) - edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), - "show,favicon,signal", ""); - if (m_focused_window->m_option_header_favicon) +#if defined(FEATURE_MOST_VISITED_SITES) + if (!is_most_visited_sites_running()) +#endif + { + if (m_focused_window->m_favicon) + edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), + "show,favicon,signal", ""); + _set_secure_icon(); + } + if (m_focused_window->m_option_header_favicon) { edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "show,favicon,signal", ""); + _set_secure_icon(); + } - /* change the browser main view layout for normal mode. - * Hide content dim */ edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "edit,url,off,signal", ""); - if (_is_loading()) { edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "loading,on,signal", ""); edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), "loading,on,signal", ""); } - - Evas_Object *edit_field_entry = br_elm_editfield_entry_get(_get_activated_url_entry()); - /* Becaue of predictive hisotry. */ - evas_object_smart_callback_del(edit_field_entry, "changed", __url_entry_changed_cb); - edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "hide,predictive_history,signal", ""); - elm_object_part_content_unset(m_main_layout, "elm.swallow.predictive_history"); - if (m_predictive_history) { - delete m_predictive_history; - m_predictive_history = NULL; - } } } else if (mode == BR_FIND_WORD_MODE) { + Evas_Object *find_word_edit_field_entry = br_elm_editfield_entry_get(m_find_word_edit_field); + elm_entry_entry_set(find_word_edit_field_entry, ""); + + evas_object_smart_callback_del(find_word_edit_field_entry, "changed", __find_word_entry_changed_cb); + evas_object_smart_callback_add(find_word_edit_field_entry, "changed", __find_word_entry_changed_cb, this); + edje_object_signal_emit(elm_layout_edje_get(m_option_header_layout), "show,find_word_layout,signal", ""); } @@ -2082,6 +2973,21 @@ void Browser_View::_set_edit_mode(edit_mode mode) _set_favicon(); } +/* Workaround + * The url entry of option header can't be focusable in case of switch TEXTBLOCK & elm entry. + * So focus the url entry in idler callback. + */ +static Eina_Bool __url_entry_focus_idler_cb(void *data) +{ + Evas_Object *edit_field = (Evas_Object *)data; + elm_object_focus_set(edit_field, EINA_TRUE); + + Evas_Object *entry = br_elm_editfield_entry_get(edit_field); + elm_entry_cursor_end_set(entry); + + return ECORE_CALLBACK_CANCEL; +} + void Browser_View::__url_entry_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { BROWSER_LOGD("[%s]", __func__); @@ -2098,15 +3004,19 @@ void Browser_View::__url_entry_clicked_cb(void *data, Evas_Object *obj, const ch browser_view->_navigationbar_visible_set_signal(EINA_TRUE); } + browser_view->_destroy_more_context_popup(); + edit_mode mode = browser_view->_get_edit_mode(); browser_view->_set_edit_mode(BR_URL_ENTRY_EDIT_MODE); if (mode == BR_NO_EDIT_MODE) { - elm_object_focus_set(browser_view->m_option_header_url_edit_field, EINA_TRUE); - Evas_Object *entry = br_elm_editfield_entry_get(browser_view->m_option_header_url_edit_field); + + elm_object_focus_set(browser_view->m_option_header_url_edit_field, EINA_TRUE); elm_entry_cursor_end_set(entry); + +// ecore_idler_add(__url_entry_focus_idler_cb, browser_view->m_option_header_url_edit_field); } } @@ -2128,6 +3038,9 @@ void Browser_View::__cancel_button_clicked_cb(void *data, Evas_Object *obj, void browser_view->_set_edit_mode(BR_NO_EDIT_MODE); + elm_object_signal_emit(browser_view->m_option_header_url_edit_field, "ellipsis_show,signal", "elm"); + elm_object_signal_emit(browser_view->m_url_edit_field, "ellipsis_show,signal", "elm"); + browser_view->_set_url_entry(browser_view->get_url().c_str()); } @@ -2163,60 +3076,123 @@ void Browser_View::__url_entry_enter_key_cb(void *data, Evas_Object *obj, void * * Give focus to option header cancel button to hide imf. */ elm_object_focus_set(browser_view->m_option_header_cancel_button, EINA_TRUE); - char *url = elm_entry_markup_to_utf8(elm_entry_entry_get(edit_field_entry)); - BROWSER_LOGD("input url = [%s]", url); + char *url = elm_entry_markup_to_utf8(elm_entry_entry_get(edit_field_entry)); + BROWSER_LOGD("input url = [%s]", url); + + if (url && strlen(url)) { + browser_view->load_url(url); + free(url); + } +} + + +void Browser_View::__url_entry_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); +} + +void Browser_View::__url_layout_mouse_down_cb(void *data, Evas* evas, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Evas_Event_Mouse_Down event = *(Evas_Event_Mouse_Down *)event_info; + + Browser_View *browser_view = (Browser_View *)data; + + Evas_Object *entry = br_elm_editfield_entry_get(browser_view->m_url_edit_field); + + int entry_x = 0; + int entry_y = 0; + int entry_w = 0; + int entry_h = 0; + evas_object_geometry_get(browser_view->m_url_edit_field, &entry_x, &entry_y, &entry_w, &entry_h); + + if (event.output.x > entry_x && event.output.x < entry_x + entry_w && + event.output.y > entry_y && event.output.y < entry_y + entry_h) { + elm_object_signal_emit(browser_view->m_option_header_url_edit_field, "ellipsis_hide,signal", "elm"); + elm_object_signal_emit(browser_view->m_url_edit_field, "ellipsis_hide,signal", "elm"); + } + + edit_mode mode = browser_view->_get_edit_mode(); + if (mode == BR_URL_ENTRY_EDIT_MODE || mode == BR_FIND_WORD_MODE + || mode == BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF) { +#ifdef BROWSER_SCROLLER_BOUNCING + BROWSER_LOGD("<< lock browser scroller >>"); + elm_object_scroll_freeze_pop(browser_view->m_scroller); + elm_object_scroll_freeze_push(browser_view->m_scroller); +#endif + } +} + +void Browser_View::__option_header_url_layout_mouse_down_cb(void *data, Evas* evas, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Evas_Event_Mouse_Down event = *(Evas_Event_Mouse_Down *)event_info; + Browser_View *browser_view = (Browser_View *)data; + + Evas_Object *entry = br_elm_editfield_entry_get(browser_view->m_option_header_url_edit_field); - if (url && strlen(url)) { - browser_view->load_url(url); - free(url); + int entry_x = 0; + int entry_y = 0; + int entry_w = 0; + int entry_h = 0; + evas_object_geometry_get(browser_view->m_option_header_url_edit_field, &entry_x, &entry_y, &entry_w, &entry_h); + + if (event.output.x > entry_x && event.output.x < entry_x + entry_w && + event.output.y > entry_y && event.output.y < entry_y + entry_h) { + elm_object_signal_emit(browser_view->m_option_header_url_edit_field, "ellipsis_hide,signal", "elm"); + elm_object_signal_emit(browser_view->m_url_edit_field, "ellipsis_hide,signal", "elm"); } + + int icon_y = 0; + if (event.output.y < icon_y) + browser_view->_jump_to_top(); } -void Browser_View::__url_entry_changed_cb(void *data, Evas_Object *obj, void *event_info) +void Browser_View::_update_back_forward_buttons(void) { BROWSER_LOGD("[%s]", __func__); - if (!data) - return; - Browser_View *browser_view = (Browser_View *)data; + if (ewk_view_back_possible(m_focused_window->m_ewk_view)) { + elm_object_disabled_set(m_title_backward_button, EINA_FALSE); + elm_object_disabled_set(m_option_header_title_backward_button, EINA_FALSE); + } else { + elm_object_disabled_set(m_title_backward_button, EINA_TRUE); + elm_object_disabled_set(m_option_header_title_backward_button, EINA_TRUE); + } - Evas_Object *entry = br_elm_editfield_entry_get(browser_view->_get_activated_url_entry()); - const char *input_text = elm_entry_entry_get(entry); - BROWSER_LOGD("[%s]", input_text); - if (browser_view->m_predictive_history) - browser_view->m_predictive_history->url_changed(input_text); + if (ewk_view_forward_possible(m_focused_window->m_ewk_view)) { + elm_object_disabled_set(m_title_forward_button, EINA_FALSE); + elm_object_disabled_set(m_option_header_title_forward_button, EINA_FALSE); + } else { + elm_object_disabled_set(m_title_forward_button, EINA_TRUE); + elm_object_disabled_set(m_option_header_title_forward_button, EINA_TRUE); + } } -void Browser_View::__url_layout_mouse_down_cb(void *data, Evas* evas, Evas_Object *obj, - void *event_info) +void Browser_View::__backward_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) return; Browser_View *browser_view = (Browser_View *)data; - edit_mode mode = browser_view->_get_edit_mode(); - if (mode == BR_URL_ENTRY_EDIT_MODE || mode == BR_FIND_WORD_MODE - || mode == BR_URL_ENTRY_EDIT_MODE_WITH_NO_IMF) { - BROWSER_LOGD("<< lock browser scroller >>"); - elm_object_scroll_freeze_pop(browser_view->m_scroller); - elm_object_scroll_freeze_push(browser_view->m_scroller); - } + ewk_view_back(browser_view->m_focused_window->m_ewk_view); } -void Browser_View::__option_header_url_layout_mouse_down_cb(void *data, Evas* evas, Evas_Object *obj, - void *event_info) +void Browser_View::__forward_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); if (!data) return; - Evas_Event_Mouse_Down event = *(Evas_Event_Mouse_Down *)event_info; - Browser_View *browser_view = (Browser_View *)data; - int jump_y = 0; - evas_object_geometry_get(browser_view->m_option_header_cancel_button, NULL, &jump_y, - NULL, NULL); - if (event.output.y < jump_y) - browser_view->_jump_to_top(); + Browser_View *browser_view = (Browser_View *)data; + ewk_view_forward(browser_view->m_focused_window->m_ewk_view); } Evas_Object *Browser_View::_create_url_layout(void) @@ -2254,7 +3230,7 @@ Evas_Object *Browser_View::_create_url_layout(void) return NULL; } elm_object_part_content_set(m_url_entry_layout, "elm.swallow.entry", m_url_edit_field); - br_elm_editfield_entry_single_line_set(m_url_edit_field, EINA_TRUE); +// br_elm_editfield_entry_single_line_set(m_url_edit_field, EINA_TRUE); br_elm_editfield_eraser_set(m_url_edit_field, EINA_FALSE); Evas_Object *edit_field_entry = br_elm_editfield_entry_get(m_url_edit_field); @@ -2264,6 +3240,8 @@ Evas_Object *Browser_View::_create_url_layout(void) elm_object_focus_allow_set(m_url_edit_field, EINA_FALSE); elm_object_focus_allow_set(edit_field_entry, EINA_FALSE); elm_entry_input_panel_enabled_set(edit_field_entry, EINA_FALSE); + + elm_entry_text_style_user_push(edit_field_entry, "DEFAULT='font_size=35 color=#3C3632 ellipsis=1'"); evas_object_show(m_url_edit_field); edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "disable_entry,signal", ""); @@ -2271,7 +3249,7 @@ Evas_Object *Browser_View::_create_url_layout(void) __url_entry_clicked_cb, this); edje_object_signal_callback_add(elm_layout_edje_get(m_url_entry_layout), "refresh_stop", "*", - __refresh_button_clicked_cb, this); + __refresh_button_clicked_cb, this); m_url_progressbar = elm_progressbar_add(m_navi_bar); if (!m_url_progressbar) { @@ -2288,7 +3266,8 @@ Evas_Object *Browser_View::_create_url_layout(void) BROWSER_LOGE("elm_progressbar_add failed"); return NULL; } - elm_object_style_set(m_url_progresswheel, "browser/loading_wheel"); + + elm_object_style_set(m_url_progresswheel, "UIActivityIndicatorStyleWhite"); elm_progressbar_pulse(m_url_progresswheel, EINA_FALSE); elm_object_part_content_set(m_url_entry_layout, "elm.swallow.progress", m_url_progresswheel); evas_object_show(m_url_progresswheel); @@ -2300,12 +3279,36 @@ Evas_Object *Browser_View::_create_url_layout(void) } evas_object_size_hint_weight_set(m_cancel_button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(m_cancel_button, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_style_set(m_cancel_button, "text_only/style2"); + elm_object_style_set(m_cancel_button, "browser/cancel_button"); elm_object_text_set(m_cancel_button, BR_STRING_CANCEL); elm_object_part_content_set(url_layout, "elm.swallow.cancel", m_cancel_button); evas_object_smart_callback_add(m_cancel_button, "clicked", __cancel_button_clicked_cb, this); evas_object_show(m_cancel_button); + m_title_backward_button = elm_button_add(m_navi_bar); + if (!m_title_backward_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_title_backward_button, "browser/backward"); + elm_object_part_content_set(url_layout, "elm.swallow.backward_button", m_title_backward_button); + evas_object_smart_callback_add(m_title_backward_button, "clicked", __backward_button_clicked_cb, this); + elm_object_focus_allow_set(m_title_backward_button, EINA_FALSE); + evas_object_show(m_title_backward_button); + elm_object_disabled_set(m_title_backward_button, EINA_TRUE); + + m_title_forward_button = elm_button_add(m_navi_bar); + if (!m_title_forward_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_title_forward_button, "browser/forward"); + elm_object_part_content_set(url_layout, "elm.swallow.forward_button", m_title_forward_button); + evas_object_smart_callback_add(m_title_forward_button, "clicked", __forward_button_clicked_cb, this); + elm_object_focus_allow_set(m_title_forward_button, EINA_FALSE); + evas_object_show(m_title_forward_button); + elm_object_disabled_set(m_title_forward_button, EINA_TRUE); + /* Workaround. * When edit mode, if scroll down on url layout in browser view, * the browser can be scrolled even though scroll locked. @@ -2317,73 +3320,275 @@ Evas_Object *Browser_View::_create_url_layout(void) return url_layout; } -Eina_Bool Browser_View::_search_keyword_from_search_engine(const char *keyword) +Evas_Object *Browser_View::_create_find_word_layout(void) { BROWSER_LOGD("[%s]", __func__); - if (!keyword || !strlen(keyword)) { - BROWSER_LOGE("keyword is null"); - return EINA_FALSE; + Evas_Object *url_layout = elm_layout_add(m_navi_bar); + if (!url_layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + if (!elm_layout_file_set(url_layout, BROWSER_EDJE_DIR"/browser-view-find-word-layout.edj", + "browser-view/find_word_layout")) { + BROWSER_LOGE("Can not set layout theme[browser-view/find_word_layout]\n"); + return NULL; } + evas_object_size_hint_weight_set(url_layout, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(url_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(url_layout); - Eina_Bool only_has_space = EINA_FALSE; - int space_count = 0; - for (int i = 0 ; i < strlen(keyword) ; i++) { - if (keyword[i] == ' ') - space_count++; + /* create url entry layout in url layout */ + m_find_word_entry_layout = elm_layout_add(m_navi_bar); + if (!m_find_word_entry_layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + if (!elm_layout_file_set(m_find_word_entry_layout, BROWSER_EDJE_DIR"/browser-view-find-word-layout.edj", + "browser-view/find_word_editfield_layout")) { + BROWSER_LOGE("browser-view/find_word_editfield_layout failed"); + return NULL; } - if (space_count == strlen(keyword)) - only_has_space = EINA_TRUE; + elm_object_part_content_set(url_layout, "elm.swallow.url", m_find_word_entry_layout); + evas_object_show(m_find_word_entry_layout); - if (only_has_space) { - BROWSER_LOGE("keyword has only spaces"); - return EINA_FALSE; + edje_object_part_text_set(elm_layout_edje_get(url_layout), "title_text", BR_STRING_FIND_ON_PAGE); + + m_find_word_edit_field = br_elm_find_word_editfield_add(m_navi_bar); + if (!m_find_word_edit_field) { + BROWSER_LOGE("elm_editfield_add failed"); + return NULL; } + elm_object_part_content_set(m_find_word_entry_layout, "elm.swallow.entry", m_find_word_edit_field); + evas_object_show(m_find_word_edit_field); - char *search_engine = vconf_get_str(BROWSER_SEARCH_ENGINE_KEY); - if (!search_engine) { - search_engine = strdup(BROWSER_GOOGLE); - if (!search_engine) { - BROWSER_LOGE("strdup failed"); - return EINA_FALSE; - } + edje_object_signal_emit(elm_layout_edje_get(m_find_word_edit_field), "find_word,signal", "elm"); + +// br_elm_editfield_entry_single_line_set(m_find_word_edit_field, EINA_TRUE); + br_elm_editfield_eraser_set(m_find_word_edit_field, EINA_TRUE); + + elm_object_signal_callback_add(m_find_word_edit_field, "elm,eraser,clicked", "elm", + __find_word_erase_button_clicked_cb, this); + + Evas_Object *find_word_edit_field_entry = br_elm_editfield_entry_get(m_find_word_edit_field); + elm_entry_entry_set(find_word_edit_field_entry, ""); + evas_object_smart_callback_add(find_word_edit_field_entry, "activated", __find_word_entry_enter_key_cb, this); + elm_entry_input_panel_layout_set(find_word_edit_field_entry, ELM_INPUT_PANEL_LAYOUT_NORMAL); + elm_entry_prediction_allow_set(find_word_edit_field_entry, EINA_FALSE); + ecore_imf_context_input_panel_event_callback_add((Ecore_IMF_Context *)elm_entry_imf_context_get(find_word_edit_field_entry), + ECORE_IMF_INPUT_PANEL_STATE_EVENT, __find_word_entry_imf_event_cb, this); + elm_entry_text_style_user_push(find_word_edit_field_entry, "DEFAULT='font_size=35 color=#3C363 2 ellipsis=1'"); + evas_object_show(m_find_word_edit_field); + + m_find_word_cancel_button = elm_button_add(m_navi_bar); + if (!m_find_word_cancel_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; } + elm_object_style_set(m_find_word_cancel_button, "browser/cancel_button"); + elm_object_text_set(m_find_word_cancel_button, BR_STRING_CANCEL); + elm_object_part_content_set(url_layout, "elm.swallow.cancel", m_find_word_cancel_button); + evas_object_show(m_find_word_cancel_button); - std::string search_url_prefix; - if (!strncmp(search_engine, BROWSER_GOOGLE, strlen(BROWSER_GOOGLE))) - search_url_prefix = std::string(BROWSER_SEARCH_URL_GOOGLE); - else if (!strncmp(search_engine, BROWSER_YAHOO, strlen(BROWSER_YAHOO))) - search_url_prefix = std::string(BROWSER_SEARCH_URL_YAHOO); + evas_object_smart_callback_add(m_find_word_cancel_button, "clicked", __find_word_cancel_button_clicked_cb, this); - if (search_url_prefix.empty()) { - BROWSER_LOGE("search_url_prefix is empty"); - return EINA_FALSE; + m_find_word_prev_button = elm_button_add(m_navi_bar); + if (!m_find_word_prev_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_find_word_prev_button, "browser/find_word_prev_but"); + elm_object_part_content_set(url_layout, "elm.swallow.find_word_prev", m_find_word_prev_button); + evas_object_show(m_find_word_prev_button); + evas_object_smart_callback_add(m_find_word_prev_button, "clicked", __find_word_prev_button_clicked_cb, this); + + m_find_word_next_button = elm_button_add(m_navi_bar); + if (!m_find_word_next_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; } + elm_object_style_set(m_find_word_next_button, "browser/find_word_next_but"); + elm_object_part_content_set(url_layout, "elm.swallow.find_word_next", m_find_word_next_button); + evas_object_show(m_find_word_next_button); + evas_object_smart_callback_add(m_find_word_next_button, "clicked", __find_word_next_button_clicked_cb, this); - std::string search_url = search_url_prefix + std::string(keyword); - load_url(search_url.c_str()); + const char *current_theme = elm_theme_get(NULL); + if (current_theme && strstr(current_theme, "white")) { + } else { +// edje_object_signal_emit(elm_layout_edje_get(m_find_word_entry_layout), +// "black_theme,signal", ""); + } - return EINA_TRUE; + return url_layout; +} + +void Browser_View::__find_word_erase_button_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_View *browser_view = (Browser_View *)data; + edje_object_part_text_set(elm_layout_edje_get(browser_view->m_option_header_find_word_layout), "elm.index_text", "0/0"); + + if (elm_object_disabled_get(browser_view->m_find_word_prev_button)) + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + if (elm_object_disabled_get(browser_view->m_find_word_next_button)) + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); +} + +void Browser_View::__find_word_cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + browser_view->_set_edit_mode(BR_NO_EDIT_MODE); + browser_view->m_find_word->find_word("", Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); + + if (elm_object_disabled_get(browser_view->m_find_word_prev_button)) + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + if (elm_object_disabled_get(browser_view->m_find_word_next_button)) + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); +} +void Browser_View::__find_word_prev_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *edit_field_entry = br_elm_editfield_entry_get(browser_view->m_find_word_edit_field); + const char *find_word = elm_entry_entry_get(edit_field_entry); + if (!find_word || !strlen(find_word)) + return; + + int index_cnt = browser_view->m_find_word->find_word(find_word, Browser_Find_Word::BROWSER_FIND_WORD_BACKWARD); + int match_max_cnt = browser_view->m_find_word->get_match_max_value(); + + if (index_cnt == 1) { + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_TRUE); + if (index_cnt != match_max_cnt) + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); + } else { + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + } +} + +void Browser_View::__find_word_next_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *edit_field_entry = br_elm_editfield_entry_get(browser_view->m_find_word_edit_field); + const char *find_word = elm_entry_entry_get(edit_field_entry); + if (!find_word || !strlen(find_word)) + return; + + int index_cnt = browser_view->m_find_word->find_word(find_word, Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); + int match_max_cnt = browser_view->m_find_word->get_match_max_value(); + + if (index_cnt == match_max_cnt) { + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_TRUE); + if (match_max_cnt != 1) + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + } else { + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + } +} + +void Browser_View::__find_word_entry_imf_event_cb(void *data, Ecore_IMF_Context *ctx, int value) +{ + BROWSER_LOGD("value=%d", value); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *find_word_editfield_entry = br_elm_editfield_entry_get(browser_view->m_find_word_edit_field); + elm_object_focus_set(find_word_editfield_entry, EINA_FALSE); + const char *find_word = elm_entry_entry_get(find_word_editfield_entry); + + if (value == ECORE_IMF_INPUT_PANEL_STATE_HIDE) { + int match_max_cnt = browser_view->m_find_word->get_match_max_value(); + if (match_max_cnt == 0 || match_max_cnt == 1) { + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_TRUE); + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_TRUE); + } + } else + elm_object_focus_set(find_word_editfield_entry, EINA_TRUE); } void Browser_View::_enable_browser_scroller_scroll(void) { - if (!elm_webview_vertical_panning_hold_get(m_focused_window->m_ewk_view) - && !m_is_multi_touch && !_is_loading() - && !elm_webview_fixed_position_get(m_focused_window->m_ewk_view)) { +#ifdef BROWSER_SCROLLER_BOUNCING + if (!ewk_view_vertical_panning_hold_get(m_focused_window->m_ewk_view) + && !_is_loading() && !m_is_full_screen) { BROWSER_LOGD("<< unlock browser scroller, lock ewk view >>"); elm_object_scroll_freeze_pop(m_scroller); - elm_webview_vertical_panning_hold_set(m_focused_window->m_ewk_view, EINA_TRUE); + ewk_view_vertical_panning_hold_set(m_focused_window->m_ewk_view, EINA_TRUE); } +#endif } void Browser_View::_enable_webview_scroll(void) { -// if (elm_webview_vertical_panning_hold_get(m_focused_window->m_ewk_view)) - { -// BROWSER_LOGD("<< lock browser scroller, unlock ewk view >>"); +#ifdef BROWSER_SCROLLER_BOUNCING + if (ewk_view_vertical_panning_hold_get(m_focused_window->m_ewk_view)) { + BROWSER_LOGD("<< lock browser scroller, unlock ewk view >>"); elm_object_scroll_freeze_pop(m_scroller); elm_object_scroll_freeze_push(m_scroller); - elm_webview_vertical_panning_hold_set(m_focused_window->m_ewk_view, EINA_FALSE); + ewk_view_vertical_panning_hold_set(m_focused_window->m_ewk_view, EINA_FALSE); + } +#endif +} + +void Browser_View::__find_word_entry_enter_key_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *edit_field_entry = br_elm_editfield_entry_get(browser_view->m_find_word_edit_field); + const char *find_word = elm_entry_entry_get(edit_field_entry); + if (!find_word || !strlen(find_word)) + return; + + if (elm_object_disabled_get(browser_view->m_find_word_prev_button)) + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + if (elm_object_disabled_get(browser_view->m_find_word_next_button)) + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); + + browser_view->m_find_word->init_index(); + browser_view->m_find_word->find_word(find_word, Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); + + elm_object_focus_set(edit_field_entry, EINA_FALSE); + BROWSER_LOGD("find_word=[%s]", find_word); +} + +void Browser_View::__find_word_entry_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + Evas_Object *edit_field_entry = br_elm_editfield_entry_get(browser_view->m_find_word_edit_field); + + const char *find_word = elm_entry_entry_get(edit_field_entry); + + if (elm_object_disabled_get(browser_view->m_find_word_prev_button)) + elm_object_disabled_set(browser_view->m_find_word_prev_button, EINA_FALSE); + if (elm_object_disabled_get(browser_view->m_find_word_next_button)) + elm_object_disabled_set(browser_view->m_find_word_next_button, EINA_FALSE); + + if (!find_word || !strlen(find_word)) { + browser_view->m_find_word->find_word("", Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); + } else { + browser_view->m_find_word->init_index(); + browser_view->m_find_word->find_word(find_word, Browser_Find_Word::BROWSER_FIND_WORD_FORWARD); } } @@ -2396,6 +3601,9 @@ void Browser_View::_navigationbar_title_clicked(void) return; if (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW) +#if defined(FEATURE_MOST_VISITED_SITES) + || is_most_visited_sites_running() +#endif || m_edit_mode != BR_NO_EDIT_MODE) return; @@ -2413,19 +3621,24 @@ void Browser_View::_navigationbar_title_clicked(void) if(state && !strncmp(state, "default", strlen("default"))) edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "show,control_bar,signal", ""); else { +#ifdef BROWSER_SCROLLER_BOUNCING int url_layout_h = 0; evas_object_geometry_get(m_url_layout, NULL, NULL, NULL, &url_layout_h); elm_scroller_region_bring_in(m_scroller ,scroller_x, url_layout_h, scroller_w, scroller_h); +#endif } } else { if (_is_loading()) { } else { Eina_Bool visible = _navigationbar_visible_get(); +#ifdef BROWSER_SCROLLER_BOUNCING _navigationbar_visible_set(!visible); +#endif } } } + void Browser_View::_jump_to_top(void) { BROWSER_LOGD("[%s]", __func__); @@ -2435,6 +3648,9 @@ void Browser_View::_jump_to_top(void) return; if (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW) +#if defined(FEATURE_MOST_VISITED_SITES) + || is_most_visited_sites_running() +#endif || m_edit_mode != BR_NO_EDIT_MODE) return; @@ -2445,13 +3661,7 @@ void Browser_View::_jump_to_top(void) &browser_scroller_w, &browser_scroller_h); elm_scroller_region_show(m_scroller, browser_scroller_x, 0, browser_scroller_w, browser_scroller_h); - Evas_Object *webkit = elm_webview_webkit_get(m_focused_window->m_ewk_view); - int frame_x = 0; - int frame_y = 0; - if (!ewk_frame_scroll_pos_get(ewk_view_frame_main_get(webkit), &frame_x, &frame_y)) - BROWSER_LOGE("_scroll_pos_get is failed.\n"); - if (!ewk_frame_scroll_set(ewk_view_frame_main_get(webkit), frame_x, 0)) - BROWSER_LOGE("ewk_frame_scroll_set is failed.\n"); + ewk_view_top_of_contents_go(m_focused_window->m_ewk_view); } void Browser_View::delete_non_user_created_windows(void) @@ -2464,26 +3674,14 @@ void Browser_View::delete_non_user_created_windows(void) if (window_count <= 1) return; - Browser_Window *focusable_window = NULL; int i = 0; for (i = 0 ; i < window_count ; i++) { - if (window_list[i]->m_ewk_view && window_list[i]->m_created_by_user == EINA_TRUE) { - focusable_window = window_list[i]; - break; - } - } - - if (!focusable_window) - focusable_window = window_list[0]; - - for (i = 0 ; i < window_count ; i++) { - BROWSER_LOGD("focusable_window = %d, window[%d]=%d", focusable_window, i, window_list[i]); + BROWSER_LOGD("focusable_window = %d, window[%d]=%d", m_focused_window, i, window_list[i]); if (window_list[i]->m_ewk_view - &&!ewk_view_back_possible(elm_webview_webkit_get(window_list[i]->m_ewk_view)) - && window_list[i] != focusable_window + &&!ewk_view_back_possible(window_list[i]->m_ewk_view) + && window_list[i] != m_focused_window && window_list[i]->m_created_by_user == EINA_FALSE) { BROWSER_LOGD("delete window index=[%d]", i); - m_browser->set_focused_window(focusable_window); m_browser->delete_window(window_list[i]); /* Set title & url with the focused window. */ @@ -2511,11 +3709,9 @@ void Browser_View::__title_back_button_clicked_cb(void *data , Evas_Object *obj, Browser_View *browser_view = (Browser_View *)data; if (browser_view->m_focused_window->m_ewk_view - && ewk_view_back_possible(elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view))) { - if (!ewk_view_back(elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view))) - BROWSER_LOGE("ewk_view_back failed"); - } else - { + && ewk_view_back_possible(browser_view->m_focused_window->m_ewk_view)) + ewk_view_back(browser_view->m_focused_window->m_ewk_view); + else { if (browser_view->m_focused_window->m_parent) { /* Save current window pointer to delete later. */ Browser_Window *delete_window = browser_view->m_focused_window; @@ -2538,6 +3734,7 @@ void Browser_View::__title_back_button_clicked_cb(void *data , Evas_Object *obj, void Browser_View::__scroller_scroll_cb(void *data, Evas_Object *obj, void *event_info) { +#ifdef BROWSER_SCROLLER_BOUNCING if (!data) return; @@ -2558,11 +3755,10 @@ void Browser_View::__scroller_scroll_cb(void *data, Evas_Object *obj, void *even * It's because the browser scroller region y is also bouncing. * So if the scroller region y is bigger than the height of url bar(65 pixel), * make the region y to url bar height by force. */ - if (browser_scroller_y > url_layout_h) { - BROWSER_LOGE("== elm_scroller_region_show / hide url bar =="); + if (browser_scroller_y > url_layout_h) elm_scroller_region_show(browser_view->m_scroller, browser_scroller_x, url_layout_h, browser_scroller_w, browser_scroller_h); - } +#endif } Eina_Bool Browser_View::_is_loading(void) @@ -2570,46 +3766,85 @@ Eina_Bool Browser_View::_is_loading(void) if (!m_focused_window || !m_focused_window->m_ewk_view) return EINA_FALSE; - Evas_Object *webkit = elm_webview_webkit_get(m_focused_window->m_ewk_view); - if (!webkit) { - BROWSER_LOGE("elm_webview_webkit_get is failed\n"); - return EINA_FALSE; - } - double progress = ewk_view_load_progress_get(webkit); - + double progress = ewk_view_load_progress_get(m_focused_window->m_ewk_view); +// BROWSER_LOGD("progress=%f", progress); if (progress == 1.0f || progress < 0.05f) return EINA_FALSE; else return EINA_TRUE; } -void Browser_View::suspend_webview(Evas_Object *webview) +#if defined(HORIZONTAL_UI) +Eina_Bool Browser_View::is_available_to_rotate(void) +{ + BROWSER_LOGD("\n"); + if (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) { + if (m_data_manager->get_multi_window_view()->is_reordering_mode()) + return EINA_FALSE; + } + + if (m_scissorbox_view) + return EINA_FALSE; + + return EINA_TRUE; +} + +Eina_Bool Browser_View::__rotate_multi_window_cb(void *data) +{ + BROWSER_LOGD("[%s]", __func__); + Browser_View *browser_view = (Browser_View *)data; + browser_view->m_multi_window_rotate_timer = NULL; + browser_view->_rotate_multi_window(); + + return ECORE_CALLBACK_CANCEL; +} + +void Browser_View::rotate(int degree) +{ + BROWSER_LOGD("\n"); + /* In landscape mode, if the url bar is not displayed -> rotate to portrait mode. + * Then the url bar is displayed. To avoid this issue, remember the scroller region y, + * then restore it at portrait mode. */ + int scroller_region_y = 0; + elm_scroller_region_get(m_scroller, NULL, &scroller_region_y, NULL, NULL); + m_scroller_region_y = scroller_region_y; + + m_rotate_degree = degree; + +#if defined(FEATURE_MOST_VISITED_SITES) + if (m_most_visited_sites) + m_most_visited_sites->rotate(); +#endif + if (m_scissorbox_view) + _destroy_scissorbox_view(); +} +#endif +void Browser_View::suspend_ewk_view(Evas_Object *ewk_view) { BROWSER_LOGD("[%s]", __func__); - Evas_Object *webkit = elm_webview_webkit_get(webview); - ewk_view_visibility_state_set(webkit, EWK_PAGE_VISIBILITY_STATE_VISIBLE, EINA_FALSE); - ewk_view_pause_or_resume_plugins(webkit, EINA_TRUE); - ewk_view_pause_or_resume_video_audio(webkit, EINA_TRUE); - ewk_view_javascript_suspend(webkit); - ewk_view_disable_render(webkit); - ewk_view_suspend_request(webkit); + std::vector window_list = m_browser->get_window_list(); + for (int i = 0 ; i < window_list.size() ; i++) { + if (window_list[i]->m_ewk_view_layout) { + edje_object_signal_emit(elm_layout_edje_get(window_list[i]->m_ewk_view_layout), + "unresizable,signal", ""); + + } + } + + ewk_view_suspend(ewk_view); + ewk_view_visibility_set(ewk_view, EINA_FALSE); } -void Browser_View::resume_webview(Evas_Object *webview) +void Browser_View::resume_ewk_view(Evas_Object *ewk_view) { BROWSER_LOGD("[%s]", __func__); if (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) return; - Evas_Object *webkit = elm_webview_webkit_get(webview); - ewk_view_visibility_state_set(webkit, EWK_PAGE_VISIBILITY_STATE_VISIBLE, EINA_TRUE); - ewk_view_pause_or_resume_plugins(webkit, EINA_FALSE); - ewk_view_pause_or_resume_video_audio(webkit, EINA_FALSE); - ewk_view_javascript_resume(webkit); - ewk_view_enable_render(webkit); - ewk_view_resume_request(webkit); + ewk_view_resume(ewk_view); + ewk_view_visibility_set(ewk_view, EINA_TRUE); } void Browser_View::pause(void) @@ -2624,9 +3859,14 @@ void Browser_View::pause(void) elm_progressbar_pulse(m_url_progresswheel, EINA_FALSE); } + set_full_sreen(EINA_FALSE); + ug_pause(); - suspend_webview(m_focused_window->m_ewk_view); + suspend_ewk_view(m_focused_window->m_ewk_view); + + /* stop vibration */ + _haptic_device_stop(); } void Browser_View::resume(void) @@ -2643,7 +3883,7 @@ void Browser_View::resume(void) ug_resume(); - resume_webview(m_focused_window->m_ewk_view); + resume_ewk_view(m_focused_window->m_ewk_view); } void Browser_View::reset(void) @@ -2661,25 +3901,31 @@ Eina_Bool Browser_View::__webview_layout_resize_idler_cb(void *data) Browser_View *browser_view = (Browser_View *)data; + browser_view->m_resize_idler = NULL; + + edje_object_signal_emit(elm_layout_edje_get(browser_view->m_focused_window->m_ewk_view_layout), + "resizable,signal", ""); + int content_w = 0; int content_h = 0; +#ifdef BROWSER_SCROLLER_BOUNCING edje_object_part_geometry_get(elm_layout_edje_get(browser_view->m_main_layout), "elm.swallow.content", NULL, NULL, &content_w, &content_h); - evas_object_size_hint_min_set(browser_view->m_focused_window->m_ewk_view, - content_w, content_h); - evas_object_resize(browser_view->m_focused_window->m_ewk_view, - content_w, content_h); - - /* - * For the first time, the background color is white initially. - * If the background is not displayed yet, show the grey background. - * This code is executed only one time at launching time. - */ - const char* state = edje_object_part_state_get(elm_layout_edje_get(browser_view->m_main_layout), - "contents_bg", NULL); - if(state && !strncmp(state, "default", strlen("default"))) - edje_object_signal_emit(elm_layout_edje_get(browser_view->m_main_layout), - "show,grey_background,signal", ""); +#else + edje_object_part_geometry_get(elm_layout_edje_get(browser_view->m_focused_window->m_ewk_view_layout), + "elm.swallow.webview", NULL, NULL, &content_w, &content_h); +#endif + if (browser_view->m_is_full_screen) { + int browser_scroller_y = 0; + evas_object_geometry_get(browser_view->m_scroller, NULL, &browser_scroller_y, NULL, NULL); + evas_object_resize(browser_view->m_focused_window->m_ewk_view, + content_w, content_h + browser_scroller_y); + } else { + evas_object_size_hint_min_set(browser_view->m_focused_window->m_ewk_view_layout, + content_w, content_h); + evas_object_resize(browser_view->m_focused_window->m_ewk_view_layout, + content_w, content_h); + } return ECORE_CALLBACK_CANCEL; } @@ -2697,7 +3943,7 @@ Eina_Bool Browser_View::__scroller_bring_in_idler_cb(void *data) BROWSER_LOGD("<< elm_scroller_region_bring_in , url_layout_h=%d >>", url_layout_h); int browser_scroller_x = 0; int browser_scroller_w = 0; - int browser_scroller_h = 0; + int browser_scroller_h = 0; elm_scroller_region_get(browser_view->m_scroller, &browser_scroller_x, NULL, &browser_scroller_w, &browser_scroller_h); elm_scroller_region_show(browser_view->m_scroller, browser_scroller_x, url_layout_h, @@ -2710,7 +3956,7 @@ Eina_Bool Browser_View::__scroller_bring_in_idler_cb(void *data) * If user invokes the keypad via input field or url entry, resize the webview. * The only scroller resize is called when the keypad is launched. * Other elements like layout, conformant resize event doesn't come. */ -void Browser_View::__scoller_resize_cb(void* data, Evas* evas, Evas_Object* obj, void* ev) +void Browser_View::__scroller_resize_cb(void* data, Evas* evas, Evas_Object* obj, void* ev) { BROWSER_LOGD("[%s]", __func__); if (!data) @@ -2718,16 +3964,29 @@ void Browser_View::__scoller_resize_cb(void* data, Evas* evas, Evas_Object* obj, Browser_View *browser_view = (Browser_View *)data; + if (browser_view->m_is_full_screen) { + ecore_idler_add(__webview_layout_resize_idler_cb, browser_view); + return; + } + int scroller_w = 0; int scroller_h = 0; evas_object_geometry_get(browser_view->m_scroller, NULL, NULL, &scroller_w, &scroller_h); - if (browser_view->m_focused_window && browser_view->m_focused_window->m_ewk_view) { - evas_object_size_hint_min_set(browser_view->m_focused_window->m_ewk_view, + std::vector window_list = m_browser->get_window_list(); + + for (int i = 0 ; i < window_list.size() ; i++) { + if (window_list[i]->m_ewk_view_layout) { + edje_object_signal_emit(elm_layout_edje_get(window_list[i]->m_ewk_view_layout), + "resizable,signal", ""); + + evas_object_size_hint_min_set(window_list[i]->m_ewk_view_layout, + scroller_w, scroller_h); + evas_object_resize(window_list[i]->m_ewk_view_layout, scroller_w, scroller_h); - evas_object_resize(browser_view->m_focused_window->m_ewk_view, - scroller_w, scroller_h); + } } +#if defined(HORIZONTAL_UI) Evas_Object *edit_field_entry; edit_field_entry = br_elm_editfield_entry_get(browser_view->_get_activated_url_entry()); Ecore_IMF_Context *ic = (Ecore_IMF_Context *)elm_entry_imf_context_get(edit_field_entry); @@ -2743,8 +4002,23 @@ void Browser_View::__scoller_resize_cb(void* data, Evas* evas, Evas_Object* obj, ecore_idler_add(__scroller_bring_in_idler_cb, browser_view); } } +#endif + + if (m_data_manager->is_in_view_stack(BR_MULTI_WINDOW_VIEW)) { + BROWSER_LOGD("close multi window"); + browser_view->m_is_multi_window_grid_mode = m_data_manager->get_multi_window_view()->_is_grid_mode(); + m_data_manager->get_multi_window_view()->close_multi_window(); + +#if defined(HORIZONTAL_UI) + if (browser_view->m_multi_window_rotate_timer) + ecore_timer_del(browser_view->m_multi_window_rotate_timer); + browser_view->m_multi_window_rotate_timer = ecore_timer_add(0.2, __rotate_multi_window_cb, browser_view); +#endif + } } + +#ifdef ZOOM_BUTTON Eina_Bool Browser_View::__zoom_button_timeout_cb(void *data) { BROWSER_LOGD("[%s]", __func__); @@ -2766,35 +4040,12 @@ void Browser_View::__zoom_out_clicked_cb(void *data, Evas_Object *obj, void *eve return; Browser_View *browser_view = (Browser_View *)data; - - Evas_Object *webkit = elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view); - float current_zoom_rate = ewk_view_zoom_get(webkit); - ewk_view_zoom_set(webkit, current_zoom_rate - 0.5f, 0, 0); + double scale_factor = ewk_view_scale_get(browser_view->m_focused_window->m_ewk_view); + ewk_view_scale_set(browser_view->m_focused_window->m_ewk_view, scale_factor - 0.5f, 0, 0); if (browser_view->m_zoom_button_timer) ecore_timer_del(browser_view->m_zoom_button_timer); browser_view->m_zoom_button_timer = ecore_timer_add(3, __zoom_button_timeout_cb, browser_view); - - current_zoom_rate = ewk_view_zoom_get(webkit); - float max_zoom_rate = ewk_view_zoom_range_max_get(webkit); - float min_zoom_rate = ewk_view_zoom_range_min_get(webkit); - - Eina_Bool can_zoom_in = EINA_TRUE; - Eina_Bool can_zoom_out = EINA_TRUE; - if (current_zoom_rate >= max_zoom_rate) - can_zoom_in = EINA_FALSE; - if (current_zoom_rate <= min_zoom_rate) - can_zoom_out = EINA_FALSE; - - if (!can_zoom_in) - elm_object_disabled_set(browser_view->m_zoom_in_button ,EINA_TRUE); - else - elm_object_disabled_set(browser_view->m_zoom_in_button ,EINA_FALSE); - - if (!can_zoom_out) - elm_object_disabled_set(browser_view->m_zoom_out_button ,EINA_TRUE); - else - elm_object_disabled_set(browser_view->m_zoom_out_button ,EINA_FALSE); } void Browser_View::__zoom_in_clicked_cb(void *data, Evas_Object *obj, void *event_info) @@ -2804,35 +4055,12 @@ void Browser_View::__zoom_in_clicked_cb(void *data, Evas_Object *obj, void *even return; Browser_View *browser_view = (Browser_View *)data; - - Evas_Object *webkit = elm_webview_webkit_get(browser_view->m_focused_window->m_ewk_view); - float current_zoom_rate = ewk_view_zoom_get(webkit); - ewk_view_zoom_set(webkit, current_zoom_rate + 0.5f, 0, 0); + double scale_factor = ewk_view_scale_get(browser_view->m_focused_window->m_ewk_view); + ewk_view_scale_set(browser_view->m_focused_window->m_ewk_view, scale_factor + 0.5f, 0, 0); if (browser_view->m_zoom_button_timer) ecore_timer_del(browser_view->m_zoom_button_timer); browser_view->m_zoom_button_timer = ecore_timer_add(3, __zoom_button_timeout_cb, browser_view); - - current_zoom_rate = ewk_view_zoom_get(webkit); - float max_zoom_rate = ewk_view_zoom_range_max_get(webkit); - float min_zoom_rate = ewk_view_zoom_range_min_get(webkit); - - Eina_Bool can_zoom_in = EINA_TRUE; - Eina_Bool can_zoom_out = EINA_TRUE; - if (current_zoom_rate >= max_zoom_rate) - can_zoom_in = EINA_FALSE; - if (current_zoom_rate <= min_zoom_rate) - can_zoom_out = EINA_FALSE; - - if (!can_zoom_in) - elm_object_disabled_set(browser_view->m_zoom_in_button ,EINA_TRUE); - else - elm_object_disabled_set(browser_view->m_zoom_in_button ,EINA_FALSE); - - if (!can_zoom_out) - elm_object_disabled_set(browser_view->m_zoom_out_button ,EINA_TRUE); - else - elm_object_disabled_set(browser_view->m_zoom_out_button ,EINA_FALSE); } Eina_Bool Browser_View::_create_zoom_buttons(void) @@ -2861,6 +4089,8 @@ Eina_Bool Browser_View::_create_zoom_buttons(void) return EINA_TRUE; } +#endif + void Browser_View::__naviframe_pop_finished_cb(void *data , Evas_Object *obj, void *event_info) { BROWSER_LOGD("[%s]", __func__); @@ -2870,23 +4100,22 @@ void Browser_View::__naviframe_pop_finished_cb(void *data , Evas_Object *obj, vo Browser_View *browser_view = (Browser_View *)data; Elm_Object_Item *it = (Elm_Object_Item *)event_info; - if (browser_view->m_navi_it != elm_naviframe_top_item_get(m_navi_bar)) { - browser_view->suspend_webview(browser_view->m_focused_window->m_ewk_view); + if (browser_view->m_navi_it != elm_naviframe_top_item_get(m_navi_bar)) return; - } m_data_manager->destroy_bookmark_view(); m_data_manager->destroy_history_layout(); /* Add to bookmark, then cancel. */ m_data_manager->destroy_add_to_bookmark_view(); +#if defined(FEATURE_MOST_VISITED_SITES) + m_data_manager->destroy_add_to_most_visited_sites_view(); +#endif /* If return from browser settings. */ if (browser_view->m_browser_settings) { delete browser_view->m_browser_settings; browser_view->m_browser_settings = NULL; } - - browser_view->resume_webview(browser_view->m_focused_window->m_ewk_view); } void Browser_View::__dim_area_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) @@ -2900,6 +4129,17 @@ void Browser_View::__dim_area_clicked_cb(void *data, Evas_Object *obj, const cha elm_object_focus_set(m_data_manager->get_browser_view()->m_option_header_cancel_button, EINA_TRUE); } +void Browser_View::__context_menu_bg_mouse_down_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Browser_View *browser_view = (Browser_View *)data; + + browser_view->_destroy_more_context_popup(); +} + Eina_Bool Browser_View::_create_main_layout(void) { BROWSER_LOGD("[%s]", __func__); @@ -2949,14 +4189,18 @@ Eina_Bool Browser_View::_create_main_layout(void) elm_scroller_policy_set(m_scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); evas_object_size_hint_align_set(m_scroller, EVAS_HINT_FILL, 0.0); evas_object_size_hint_weight_set(m_scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - +#ifdef BROWSER_SCROLLER_BOUNCING +// elm_scroller_bounce_set(m_scroller, EINA_FALSE, EINA_TRUE); elm_scroller_bounce_set(m_scroller, EINA_FALSE, EINA_FALSE); - +#else + elm_scroller_bounce_set(m_scroller, EINA_FALSE, EINA_FALSE); + elm_object_scroll_freeze_pop(m_scroller); + elm_object_scroll_freeze_push(m_scroller); +#endif evas_object_show(m_scroller); evas_object_smart_callback_add(m_scroller, "scroll", __scroller_scroll_cb, this); - evas_object_event_callback_add(m_scroller, EVAS_CALLBACK_RESIZE, __scoller_resize_cb, this); - evas_object_smart_callback_add(m_scroller, "edge,bottom", __scroller_edge_bottom_cb, this); + evas_object_event_callback_add(m_scroller, EVAS_CALLBACK_RESIZE, __scroller_resize_cb, this); /* create content box which contains navigation layout & webview */ m_content_box = elm_box_add(m_main_layout); @@ -3036,30 +4280,35 @@ Eina_Bool Browser_View::_create_main_layout(void) elm_object_part_content_set(m_option_header_layout, "elm.swallow.url_layout", m_option_header_url_layout); evas_object_show(m_option_header_layout); - Evas_Object *find_word_layout = m_find_word->get_layout(); - if (!find_word_layout) { + m_option_header_find_word_layout = _create_find_word_layout(); + if (!m_option_header_find_word_layout) { BROWSER_LOGE("_create_find_word_layout failed"); return EINA_FALSE; } - elm_object_part_content_set(m_option_header_layout, "elm.swallow.find_word_layout", find_word_layout); + elm_object_part_content_set(m_option_header_layout, "elm.swallow.find_word_layout", m_option_header_find_word_layout); elm_object_item_part_content_set(m_navi_it, ELM_NAVIFRAME_ITEM_OPTIONHEADER, m_option_header_layout); _navigationbar_visible_set_signal(EINA_FALSE); +#ifdef ZOOM_BUTTON if (!_create_zoom_buttons()) { BROWSER_LOGE("_create_zoom_buttons failed"); return EINA_FALSE; } +#endif edje_object_signal_callback_add(elm_layout_edje_get(m_main_layout), "mouse,clicked,1", "elm.rect.content_dim", __dim_area_clicked_cb, this); + edje_object_signal_callback_add(elm_layout_edje_get(m_main_layout), + "mouse,down,1", "elm.rect.more_context_bg", __context_menu_bg_mouse_down_cb, this); + const char *current_theme = elm_theme_get(NULL); if (current_theme && strstr(current_theme, "white")) { } else { - edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "black_theme,signal", ""); - edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), - "black_theme,signal", ""); +// edje_object_signal_emit(elm_layout_edje_get(m_url_entry_layout), "black_theme,signal", ""); +// edje_object_signal_emit(elm_layout_edje_get(m_option_header_url_entry_layout), +// "black_theme,signal", ""); } return EINA_TRUE; diff --git a/src/browser-view/browser-view.h b/src/browser-view/browser-view.h index 23e0330f..bc4718b3 100755 --- a/src/browser-view/browser-view.h +++ b/src/browser-view/browser-view.h @@ -1,34 +1,45 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_VIEW_H #define BROWSER_VIEW_H #include "browser-common-view.h" +#ifdef USE_META_TAG +#include "browser-meta-tag.h" +#endif #include "browser-config.h" +#if defined(FEATURE_MOST_VISITED_SITES) +#include "browser-most-visited.h" +#include "most-visited-sites-db.h" +#endif + class Browser_Bookmark_DB; -class Browser_Class; class Browser_Context_Menu; -class Browser_Exscheme_Handler; +class Browser_Class; class Browser_Find_Word; +#ifdef USE_META_TAG +class Browser_Meta_Tag; +#endif class Browser_Multi_Window_View; -class Browser_Personal_Data_Manager; -class Browser_Picker_Handler; -class Browser_Predictive_History; +class Browser_Scissorbox_View; class Browser_Settings_Class; +class Most_Visited_Sites; +class Most_Visited_Sites_DB; class Browser_Window; /* edit mode state check */ @@ -41,20 +52,22 @@ typedef enum _edit_mode { class Browser_View : public Browser_Common_View { friend class Browser_Class; - friend class Browser_Context_Menu; friend class Browser_Find_Word; friend class Browser_Multi_Window_View; - friend class Browser_Predictive_History; + friend class Most_Visited_Sites; + friend class Browser_Scissorbox_View; public: - Browser_View(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg, - Evas_Object *layout, Browser_Class *browser); + Browser_View(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg, Browser_Class *browser); ~Browser_View(void); Eina_Bool init(void); void launch(const char *url); - void set_focused_window(Browser_Window *window, Eina_Bool show_most_visited_sites = EINA_TRUE); + void set_focused_window(Browser_Window *window +#if defined(FEATURE_MOST_VISITED_SITES) + , Eina_Bool show_most_visited_sites = EINA_TRUE +#endif + ); Browser_Window *get_focused_window(void) { return m_focused_window; } - Evas_Object *get_focused_webview(void); void load_url(const char *url); string get_title(Browser_Window *window); string get_title(void); @@ -63,29 +76,30 @@ public: void return_to_browser_view(Eina_Bool saved_most_visited_sites_item = EINA_FALSE); void unset_navigationbar_title_object(Eina_Bool is_unset); +#if defined(HORIZONTAL_UI) + void rotate(int degree); + Eina_Bool is_available_to_rotate(void); +#endif void pause(void); void resume(void); void reset(void); + void set_full_sreen(Eina_Bool enable); - void suspend_webview(Evas_Object *webview); - void resume_webview(Evas_Object *webview); + void suspend_ewk_view(Evas_Object *ewk_view); + void resume_ewk_view(Evas_Object *ewk_view); void set_edit_mode(edit_mode mode) { m_edit_mode = mode; } +#if defined(FEATURE_MOST_VISITED_SITES) + Eina_Bool is_most_visited_sites_running(void); +#endif Evas_Object *get_favicon(const char *url); void delete_non_user_created_windows(void); - void init_personal_data_manager(Evas_Object *webview); - void deinit_personal_data_manager(void); - Browser_Personal_Data_Manager *get_personal_data_manager(void) { return m_personal_data_manager; } - - void stop_and_reload(void); - - typedef struct _html5_video_data { - const char* path; - const char* cookie; - } html5_video_data; + Eina_Bool _is_loading(void); private: typedef enum _homepage_mode { +#if defined(FEATURE_MOST_VISITED_SITES) BR_START_MODE_MOST_VISITED_SITES = 0, +#endif BR_START_MODE_RECENTLY_VISITED_SITE, BR_START_MODE_CUSTOMIZED_URL, BR_START_MODE_EMPTY_PAGE, @@ -93,86 +107,118 @@ private: } homepage_mode; /* ewk view event callback functions. */ - static void __uri_changed_cb(void *data, Evas_Object *obj, void *event_info); + static void __create_window_cb(void *data, Evas_Object *obj, void *event_info); + static void __close_window_cb(void *data, Evas_Object *obj, void *event_info); static void __load_started_cb(void *data, Evas_Object *obj, void *event_info); static void __load_progress_cb(void *data, Evas_Object *obj, void *event_info); static void __load_finished_cb(void *data, Evas_Object *obj, void *event_info); + static void __did_finish_load_for_frame_cb(void *data, Evas_Object *obj, void *event_info); + static void __process_crashed_cb(void *data, Evas_Object *obj, void *event_info); + static void __load_committed_cb(void *data, Evas_Object *obj, void *event_info); + static void __title_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __load_nonempty_layout_finished_cb(void *data, Evas_Object *obj, void *event_info); - static void __create_webview_cb(void *data, Evas_Object *obj, void *event_info); - static void __window_close_cb(void *data, Evas_Object *obj, void *event_info); - static void __html_boundary_reached_cb(void *data, Evas_Object *obj, void *event_info); - static void __html5_video_request_cb(void *data, Evas_Object *obj, void *event_info); - static void __vibrator_vibrate_cb(void *data, Evas_Object *obj, void *event_info); - static void __vibrator_cancel_cb(void *data, Evas_Object *obj, void *event_info); /* imf event callback functions */ static void __url_entry_imf_event_cb(void *data, Ecore_IMF_Context *ctx, int value); + static void __find_word_entry_imf_event_cb(void *data, Ecore_IMF_Context *ctx, int value); /* edje object event callback functions */ static void __url_entry_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); static void __refresh_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); + static void __context_menu_bg_mouse_down_cb(void *data, Evas_Object *obj, const char *emission, const char *source); /* evas event callback functions */ static void __url_entry_focus_out_cb(void *data, Evas *e, void *event_info); /* ewk view evas object event callback functions */ - static void __ewk_view_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *ev); - static void __ewk_view_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *ev); - static void __ewk_view_multi_down_cb(void *data, Evas *evas, Evas_Object *obj, void *ev); - static void __ewk_view_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *ev); - static void __scroller_edge_bottom_cb(void *data, Evas_Object *obj, void *event_info); + static void __ewk_view_mouse_down_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); + static void __ewk_view_mouse_up_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); /* idler callback functions */ +#if defined(HORIZONTAL_UI) + static Eina_Bool __rotate_multi_window_cb(void *data); +#endif static Eina_Bool __webview_layout_resize_idler_cb(void *data); +#if defined(FEATURE_MOST_VISITED_SITES) + static Eina_Bool __capture_most_visited_sites_screen_shot_idler_cb(void *data); +#endif static Eina_Bool __close_window_idler_cb(void *data); static Eina_Bool __scroller_bring_in_idler_cb(void *data); + static Eina_Bool __show_scissorbox_view_idler_cb(void *data); + + void _update_back_forward_buttons(void); + + static void __backward_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __forward_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); /* evas object smart callback functions */ static void __ewk_view_edge_top_cb(void *data, Evas_Object *obj, void *event_info); static void __ewk_view_scroll_down_cb(void *data, Evas_Object *obj, void *event_info); static void __ewk_view_scroll_up_cb(void *data, Evas_Object *obj, void *event_info); + static void __ewk_view_enter_full_screen_cb(void *data, Evas_Object *obj, void *event_info); + static void __ewk_view_exit_full_screen_cb(void *data, Evas_Object *obj, void *event_info); + static void __ewk_view_vibration_vibrate_cb(void *data, Evas_Object *obj, void *event_info); + static void __ewk_view_vibration_cancel_cb(void *data, Evas_Object *obj, void *event_info); - static void __scoller_resize_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); + static void __scroller_resize_cb(void* data, Evas* evas, Evas_Object* obj, void* ev); static void __url_layout_mouse_down_cb(void *data, Evas* evas, Evas_Object *obj, void *event_info); /* elementary event callback functions */ static void __title_back_button_clicked_cb(void *data , Evas_Object *obj, void *event_info); static void __url_entry_enter_key_cb(void *data, Evas_Object *obj, void *event_info); + static void __find_word_entry_enter_key_cb(void *data, Evas_Object *obj, void *event_info); + static void __find_word_entry_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __go_to_bookmark_cb(void *data, Evas_Object *obj, void *event_info); static void __backward_cb(void *data, Evas_Object *obj, void *event_info); static void __forward_cb(void *data, Evas_Object *obj, void *event_info); - static void __add_to_home_cb(void *data, Evas_Object *obj, void *event_info); static void __add_bookmark_cb(void *data, Evas_Object *obj, void *event_info); static void __multi_window_cb(void *data, Evas_Object *obj, void *event_info); + static void __new_window_cb(void *data, Evas_Object *obj, void *event_info); static void __more_cb(void *data, Evas_Object *obj, void *event_info); static void __scroller_scroll_cb(void *data, Evas_Object *obj, void *event_info); + static void __send_via_message_cb(void *data, Evas_Object *obj, void *event_info); static void __download_manager_cb(void *data, Evas_Object *obj, void *event_info); + static void __send_via_email_cb(void *data, Evas_Object *obj, void *event_info); + static void __post_to_sns_cb(void *data, Evas_Object *obj, void *event_info); static void __more_context_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info); static void __url_entry_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __internet_settings_cb(void *data, Evas_Object *obj, void *event_info); static void __find_word_cb(void *data, Evas_Object *obj, void *event_info); - + static void __find_word_cancel_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __find_word_prev_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __find_word_next_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __clean_up_windows_test_cb(void *data, Evas_Object *obj, void *event_info); +#ifdef ZOOM_BUTTON static void __zoom_in_clicked_cb(void *data, Evas_Object *obj, void *event_info); static void __zoom_out_clicked_cb(void *data, Evas_Object *obj, void *event_info); static Eina_Bool __zoom_button_timeout_cb(void *data); Eina_Bool _create_zoom_buttons(void); - +#endif static void __expand_option_header_cb(void *data, Evas_Object *obj, void *event_info); - static void __share_cb(void *data, Evas_Object *obj, void *event_info); + static void __private_cb(void *data, Evas_Object *obj, void *event_info); + static void __private_check_change_cb(void *data, Evas_Object *obj, void *event_info); + static void __bookmark_cb(void *data, Evas_Object *obj, void *event_info); + static void __bookmark_icon_changed_cb(void *data, Evas_Object *obj, void *event_info); static void __option_header_url_layout_mouse_down_cb(void *data, Evas* evas, Evas_Object *obj, void *event_info); - static void __add_to_home_cancel_cb(void *data, Evas_Object *obj, void *event_info); - static void __add_to_home_done_cb(void *data, Evas_Object *obj, void *event_info); - static void __add_to_send_cb(void *data, Evas_Object *obj, void *event_info); static void __naviframe_pop_finished_cb(void *data , Evas_Object *obj, void *event_info); static void __dim_area_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); + static void __find_word_erase_button_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + /* elm transit callback functions */ static void __new_window_transit_finished_cb(void *data, Elm_Transit *transit); +#ifdef USE_META_TAG + static void __web_app_capable_get_cb(Eina_Bool capable, void* user_data); + static void __web_app_icon_url_get_cb(const char* icon_url, void* user_data); + +#endif + /* normal member functions */ Eina_Bool _create_main_layout(void); Evas_Object *_create_url_layout(void); @@ -198,25 +244,38 @@ private: void _set_homepage_mode(void); void _set_secure_icon(void); Eina_Bool _set_favicon(void); + Eina_Bool _show_brightness_popup(void); Eina_Bool _call_download_manager(void); Eina_Bool _call_internet_settings(void); void _pop_other_views(void); +#if defined(FEATURE_MOST_VISITED_SITES) + Eina_Bool _show_most_visited_sites(Eina_Bool is_show); + Eina_Bool _capture_most_visited_sites_item_screen_shot(void); +#endif Eina_Bool _show_new_window_effect(Evas_Object *current_ewk_view, Evas_Object *new_ewk_view); - Eina_Bool _is_loading(void); - Eina_Bool _search_keyword_from_search_engine(const char *keyword); - Eina_Bool _call_html5_video_streaming_player(const char *url, const char *cookie); +#if defined(HORIZONTAL_UI) + void _rotate_multi_window(void); +#endif void _destroy_more_context_popup(void); void _enable_browser_scroller_scroll(void); void _enable_webview_scroll(void); void _navigationbar_visible_set_signal(Eina_Bool visible); void _navigationbar_visible_set(Eina_Bool visible); Eina_Bool _navigationbar_visible_get(void); - Evas_Object *_create_add_to_home_control_bar(void); - + Evas_Object *_create_find_word_layout(void); + void _update_find_word_index_text(const char *index_text); void _jump_to_top(void); void _hide_scroller_url_layout(void); - static Eina_Bool _activate_url_entry_idler_cb(void *data); + Eina_Bool _show_scissorbox_view(void); + void _destroy_scissorbox_view(void); + Eina_Bool _haptic_device_init(void); + Eina_Bool _haptic_device_play(long haptic_play_time); + Eina_Bool _haptic_device_stop(void); + Eina_Bool _haptic_device_close(void); + Evas_Object *_create_brightness_control_bar(void); + Eina_Bool _show_brightness_layout(void); + void _destroy_brightness_layout(void); Evas_Object *m_main_layout; Evas_Object *m_scroller; @@ -232,8 +291,14 @@ private: Evas_Object *m_cancel_button; Evas_Object *m_url_progressbar; Evas_Object *m_url_progresswheel; - Evas_Object *m_option_header_layout; + Evas_Object *m_find_word_entry_layout; + Evas_Object *m_find_word_edit_field; + Evas_Object *m_find_word_cancel_button; + Evas_Object *m_find_word_prev_button; + Evas_Object *m_find_word_next_button; + Evas_Object *m_option_header_find_word_layout; + /* url layout which is inserted to navigation bar option header member variables */ Evas_Object *m_option_header_url_layout; Evas_Object *m_option_header_url_entry_layout; @@ -242,16 +307,18 @@ private: Evas_Object *m_option_header_url_progressbar; Evas_Object *m_option_header_url_progresswheel; + Evas_Object *m_multi_window_title_button; + /* control bar member variables */ Evas_Object *m_control_bar; - Elm_Object_Item *m_backward_button; +// Elm_Object_Item *m_backward_button; Elm_Object_Item *m_forward_button; Elm_Object_Item *m_add_bookmark_button; Elm_Object_Item *m_more_button; Elm_Object_Item *m_multi_window_button; Elm_Object_Item *m_share_controlbar_button; - - Evas_Object *m_add_to_home_control_bar; + Elm_Object_Item *m_new_window_button; + Evas_Object *m_back_button; /* state check */ edit_mode m_edit_mode; @@ -261,7 +328,12 @@ private: Eina_Bool m_is_scrolling; int m_scroller_region_y; Evas_Object *m_more_context_popup; - Browser_Predictive_History *m_predictive_history; +#if defined(FEATURE_MOST_VISITED_SITES) + Most_Visited_Sites *m_most_visited_sites; + Most_Visited_Sites_DB *m_most_visited_sites_db; + /* To update the clicked most visited sites item info such as snapshot, url, title. */ + Most_Visited_Sites_DB::most_visited_sites_entry m_selected_most_visited_sites_item_info; +#endif Browser_Settings_Class *m_browser_settings; Elm_Transit *m_new_window_transit; @@ -271,18 +343,46 @@ private: Elm_Object_Item *m_navi_it; Browser_Find_Word *m_find_word; - - Eina_Bool m_is_scroll_up; - Eina_Bool m_is_multi_touch; - Browser_Context_Menu *m_context_menu; - Browser_Exscheme_Handler *m_exscheme_handler; - Browser_Personal_Data_Manager *m_personal_data_manager; - Browser_Picker_Handler *m_picker_handler; - + Browser_Scissorbox_View *m_scissorbox_view; +#if defined(HORIZONTAL_UI) + int m_rotate_degree; + Ecore_Timer *m_multi_window_rotate_timer; + Eina_Bool m_is_rotated; +#endif +#ifdef USE_META_TAG + Browser_Meta_Tag *m_meta_tag; +#endif + Eina_Bool m_is_full_screen; +#ifdef ZOOM_BUTTON Evas_Object *m_zoom_in_button; Evas_Object *m_zoom_out_button; Ecore_Timer *m_zoom_button_timer; +#endif + + Evas_Object *m_title_backward_button; + Evas_Object *m_title_forward_button; + Evas_Object *m_option_header_title_backward_button; + Evas_Object *m_option_header_title_forward_button; + + Ecore_Idler *m_resize_idler; + Eina_Bool m_is_private; + Eina_Bool m_is_private_item_pressed; + Evas_Object *m_private_check; + Evas_Object *m_bookmark_on_off_icon; + + Evas_Object *m_brightness_control_bar; + Elm_Object_Item *m_brightness_auto_it; + Elm_Object_Item *m_brightness_manual_it; + + Elm_Object_Item *m_default_seg_it; + Elm_Object_Item *m_low_seg_it; + Elm_Object_Item *m_medium_seg_it; + Elm_Object_Item *m_high_seg_it; + + int m_vibration_device_handle_id; + + Eina_Bool m_is_multi_window_grid_mode; }; #endif /* BROWSER_VIEW_H */ diff --git a/src/browser-window.cpp b/src/browser-window.cpp index 7b50915c..0d036080 100755 --- a/src/browser-window.cpp +++ b/src/browser-window.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-window.h" @@ -20,11 +22,17 @@ Browser_Window::Browser_Window(void) : m_ewk_view(NULL) ,m_portrait_snapshot_image(NULL) +#if defined(HORIZONTAL_UI) ,m_landscape_snapshot_image(NULL) +#endif + ,m_ewk_view_layout(NULL) ,m_parent(NULL) ,m_favicon(NULL) ,m_option_header_favicon(NULL) + ,m_secure_icon(NULL) + ,m_option_header_secure_icon(NULL) ,m_created_by_user(EINA_FALSE) + ,m_is_reader(EINA_FALSE) { BROWSER_LOGD("[%s]", __func__); } @@ -36,8 +44,12 @@ Browser_Window::~Browser_Window(void) evas_object_del(m_ewk_view); if (m_portrait_snapshot_image) evas_object_del(m_portrait_snapshot_image); +#if defined(HORIZONTAL_UI) if (m_landscape_snapshot_image) evas_object_del(m_landscape_snapshot_image); +#endif + if (m_ewk_view_layout) + evas_object_del(m_ewk_view_layout); if (m_favicon) evas_object_del(m_favicon); if (m_option_header_favicon) diff --git a/src/browser-window.h b/src/browser-window.h index f09fbbec..73dc1c4e 100755 --- a/src/browser-window.h +++ b/src/browser-window.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_WINODW_H #define BROWSER_WINODW_H @@ -30,16 +32,22 @@ public: * So The null check is necessary at every usage. */ Evas_Object *m_ewk_view; + Evas_Object *m_ewk_view_layout; Evas_Object *m_portrait_snapshot_image; +#if defined(HORIZONTAL_UI) Evas_Object *m_landscape_snapshot_image; +#endif /* m_parent is a Browser_Window which invoke itself by javascript etc. */ Browser_Window *m_parent; Evas_Object *m_favicon; Evas_Object *m_option_header_favicon; + Evas_Object *m_secure_icon; + Evas_Object *m_option_header_secure_icon; Eina_Bool m_created_by_user; - /* The url & title are only valid when the window is deleted - * because of unused case. (etc. low memory) */ + Eina_Bool m_is_reader; + std::string m_reader_html; + std::string m_reader_base_url; std::string m_url; std::string m_title; }; diff --git a/src/data-network/browser-network-manager.cpp b/src/data-network/browser-network-manager.cpp index 449eef99..22346a4c 100755 --- a/src/data-network/browser-network-manager.cpp +++ b/src/data-network/browser-network-manager.cpp @@ -1,121 +1,339 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #include "browser-view.h" #include "browser-network-manager.h" Browser_Network_Manager::Browser_Network_Manager(void) : m_browser_view(NULL) + ,m_network_handle(NULL) + ,m_network_state(BROWSER_CONNECTION_TYPE_DISCONNECTED) { BROWSER_LOGD("[%s]", __func__); - int network_status = 0; - if (vconf_get_int(VCONFKEY_NETWORK_STATUS, &network_status) < 0) { - BROWSER_LOGE("vconf_get_int failed"); - } - - if (network_status == VCONFKEY_NETWORK_OFF) - ewk_network_state_notifier_online_set(EINA_FALSE); - else - ewk_network_state_notifier_online_set(EINA_TRUE); - - char *proxy = vconf_get_str(VCONFKEY_NETWORK_PROXY); - if (!proxy || !strlen(proxy) || strstr(proxy, "0.0.0.0")) { - BROWSER_LOGE("proxy address is null"); - ewk_network_proxy_uri_set(NULL); - } else { - ewk_network_proxy_uri_set(proxy); - } - - if (proxy) - free(proxy); - - if (vconf_notify_key_changed(VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, - __network_changed_ind_cb, this) < 0) { - BROWSER_LOGE("vconf_notify_key_changed failed"); - } } Browser_Network_Manager::~Browser_Network_Manager(void) { BROWSER_LOGD("[%s]", __func__); - if (vconf_ignore_key_changed(VCONFKEY_NETWORK_CONFIGURATION_CHANGE_IND, - __network_changed_ind_cb) < 0) - BROWSER_LOGE("vconf_ignore_key_changed failed"); + + deinit(); } -Eina_Bool Browser_Network_Manager::init(Browser_View *browser_view, Evas_Object *webview) +Eina_Bool Browser_Network_Manager::init(Browser_View *browser_view) { BROWSER_LOGD("[%s]", __func__); - m_browser_view = browser_view; + if (browser_view) + m_browser_view = browser_view; + + if (connection_create(&m_network_handle) < 0) { + BROWSER_LOGE("Failed to creat m_network_handle"); + return EINA_FALSE; + } + + if (connection_set_type_changed_cb(m_network_handle, __network_state_changed_ind_cb, this) < 0) { + BROWSER_LOGE("Fail to set __network_state_changed_ind_cb"); + return EINA_FALSE; + } + + if (connection_set_ip_address_changed_cb(m_network_handle, __network_configure_changed_ind_cb, this) < 0) { + BROWSER_LOGE("Fail to set __network_configure_changed_ind_cb"); + return EINA_FALSE; + } + + get_IP_address(); + get_proxy_address(); - elm_webview_scheme_callback_set(webview, "http", __connection_cb); - elm_webview_scheme_callback_set(webview, "https", __connection_cb); + m_network_state = get_network_connection_state(); + BROWSER_LOGD("get_proxy_address[%s]", m_proxy_address.c_str()); + + if (!m_proxy_address.length()) { + ewk_context_proxy_uri_set(ewk_context_default_get(), NULL); + } else { + ewk_context_proxy_uri_set(ewk_context_default_get(), m_proxy_address.c_str()); + } return EINA_TRUE; } -Eina_Bool Browser_Network_Manager::__connection_cb(Evas_Object *webview, const char *uri) +void Browser_Network_Manager::deinit(void) { BROWSER_LOGD("[%s]", __func__); - int network_status = 0; - if (vconf_get_int(VCONFKEY_NETWORK_STATUS, &network_status) < 0) { - BROWSER_LOGE("vconf_get_int failed"); - return EINA_FALSE; - } + if (connection_unset_type_changed_cb(m_network_handle) < 0) + BROWSER_LOGE("Fail to unregister network state changed cb"); - return EINA_TRUE; + if (connection_unset_ip_address_changed_cb(m_network_handle) < 0) + BROWSER_LOGE("Fail to unregister ip address changed cb"); + + if (connection_destroy(m_network_handle) < 0) + BROWSER_LOGE("Fail to destroy network handle"); + + return; } -void Browser_Network_Manager::__network_changed_ind_cb(keynode_t *keynode, void *data) +void Browser_Network_Manager::get_IP_address(void) { - BROWSER_LOGD("[%s]", __func__); - if (!data) + char *IP_Addr = NULL; + connection_address_family_e family = CONNECTION_ADDRESS_FAMILY_IPV4; + + if (!m_network_handle) { + BROWSER_LOGE("m_network_handle is NULL"); + return; + } + + if (connection_get_ip_address(m_network_handle, family, &IP_Addr) < 0) { + BROWSER_LOGE("Fail to get ip address"); return; + } - Browser_Network_Manager *network_manager = (Browser_Network_Manager *)data; + if (!IP_Addr || !strlen(IP_Addr)) { + BROWSER_LOGD("Acquired ip address is invalid. set new IP address[0.0.0.0] from previous[%s]", m_ip_address.c_str()); + m_ip_address = std::string("0.0.0.0"); + } else { + BROWSER_LOGD("Previous IP address : [%s], new IP address : [%s]", m_ip_address.c_str(), IP_Addr); + m_ip_address = std::string(IP_Addr); + } - int network_status = 0; - if (vconf_get_int(VCONFKEY_NETWORK_STATUS, &network_status) < 0) { - BROWSER_LOGE("vconf_get_int failed"); + if (IP_Addr) { + free(IP_Addr); + IP_Addr = NULL; + } + + return; +} + +void Browser_Network_Manager::get_proxy_address(void) +{ + char *proxy_Address = NULL; + connection_address_family_e family = CONNECTION_ADDRESS_FAMILY_IPV4; + + if (!m_network_handle) { + BROWSER_LOGE("m_network_handle is NULL"); return; } - if (network_status == VCONFKEY_NETWORK_OFF) { - BROWSER_LOGD("network off"); - ewk_network_state_notifier_online_set(EINA_FALSE); + if (connection_get_proxy(m_network_handle, family, &proxy_Address) < 0) { + BROWSER_LOGE("Fail to get proxy address"); return; + } + + if (!proxy_Address || !strlen(proxy_Address)) { + BROWSER_LOGD("Acquired proxy address is invalid. m_proxy_address is set as NULL from previous[%s]", m_proxy_address.c_str()); + m_proxy_address.clear(); } else { - BROWSER_LOGD("network on"); - ewk_network_state_notifier_online_set(EINA_TRUE); + BROWSER_LOGD("Previous proxy address : [%s], new proxy address : [%s]", m_proxy_address.c_str(), proxy_Address); + m_proxy_address = std::string(proxy_Address); + } + + if (proxy_Address) { + free(proxy_Address); + proxy_Address = NULL; + } + + return; +} + +browser_connection_type_e Browser_Network_Manager::get_network_connection_state(void) +{ + connection_type_e system_network_state = CONNECTION_TYPE_DISCONNECTED; + browser_connection_type_e browser_network_state = BROWSER_CONNECTION_TYPE_DISCONNECTED; + + if (!m_network_handle) { + BROWSER_LOGE("m_network_handle is NULL"); + return BROWSER_CONNECTION_TYPE_DISCONNECTED; + } + if (connection_get_type(m_network_handle, &system_network_state) < 0) { + BROWSER_LOGD("Fail to get network status"); + return BROWSER_CONNECTION_TYPE_DISCONNECTED; + } + + switch (system_network_state) { + + case CONNECTION_TYPE_DISCONNECTED: + BROWSER_LOGD("Network state : CONNECTION_TYPE_DISCONNECTED"); + browser_network_state = BROWSER_CONNECTION_TYPE_DISCONNECTED; + break; + + case CONNECTION_TYPE_WIFI: + BROWSER_LOGD("Network state : CONNECTION_TYPE_WIFI"); + browser_network_state = get_network_wifi_state(); + break; + + case CONNECTION_TYPE_CELLULAR: + BROWSER_LOGD("Network state : CONNECTION_TYPE_CELLULAR"); + browser_network_state = get_network_cellular_state(); + break; + + default: + BROWSER_LOGD("Network state : Unable to get network status"); + browser_network_state = BROWSER_CONNECTION_TYPE_DISCONNECTED; } - char *proxy = vconf_get_str(VCONFKEY_NETWORK_PROXY); - if (!proxy || !strlen(proxy) || strstr(proxy, "0.0.0.0")) { - BROWSER_LOGD("proxy is null"); - ewk_network_proxy_uri_set(NULL); + return browser_network_state; +} + +browser_connection_type_e Browser_Network_Manager::get_network_cellular_state(void) +{ + connection_cellular_state_e system_network_cellular_state = CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE; + browser_connection_type_e browser_network_cellular_state = BROWSER_CONNECTION_TYPE_DISCONNECTED; + + if (!m_network_handle) { + BROWSER_LOGE("m_network_handle is NULL"); + return BROWSER_CONNECTION_TYPE_DISCONNECTED; + } + + if (connection_get_cellular_state(m_network_handle, &system_network_cellular_state) < 0) { + BROWSER_LOGD(" Fail to get cellular state"); + return BROWSER_CONNECTION_CELLULAR_STATE_UNAVAILABLE; + } + + switch(system_network_cellular_state) { + + case CONNECTION_CELLULAR_STATE_AVAILABLE: + BROWSER_LOGD("Cellular state : CONNECTION_CELLULAR_STATE_AVAILABLE"); + browser_network_cellular_state = BROWSER_CONNECTION_CELLULAR_STATE_AVAILABLE; + break; + + case CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE: + BROWSER_LOGD("Cellular state : CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE"); + browser_network_cellular_state = BROWSER_CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE; + break; + + case CONNECTION_CELLULAR_STATE_FLIGHT_MODE: + BROWSER_LOGD("Cellular state : CONNECTION_CELLULAR_STATE_FLIGHT_MODE"); + browser_network_cellular_state = BROWSER_CONNECTION_CELLULAR_STATE_FLIGHT_MODE; + break; + + case CONNECTION_CELLULAR_STATE_ROAMING_OFF: + BROWSER_LOGD("Cellular state : CONNECTION_CELLULAR_STATE_ROAMING_OFF"); + browser_network_cellular_state = BROWSER_CONNECTION_CELLULAR_STATE_ROAMING_OFF; + break; + + case CONNECTION_CELLULAR_STATE_CALL_ONLY_AVAILABLE: + BROWSER_LOGD("Cellular state : CONNECTION_CELLULAR_STATE_CALL_ONLY_AVAILABLE"); + browser_network_cellular_state = BROWSER_CONNECTION_CELLULAR_STATE_CALL_ONLY_AVAILABLE; + break; + + default: + BROWSER_LOGD("Cellular state : Index of network-cellular state is out of support"); + browser_network_cellular_state = BROWSER_CONNECTION_CELLULAR_STATE_UNAVAILABLE; + } + + return browser_network_cellular_state; +} + +browser_connection_type_e Browser_Network_Manager::get_network_wifi_state(void) +{ + connection_wifi_state_e system_network_wifi_state = CONNECTION_WIFI_STATE_DEACTIVATED; + browser_connection_type_e browser_network_wifi_state = BROWSER_CONNECTION_WIFI_STATE_DISCONNECTED; + + if (!m_network_handle) { + BROWSER_LOGE("m_network_handle is NULL"); + return BROWSER_CONNECTION_TYPE_DISCONNECTED; + } + + if (connection_get_wifi_state(m_network_handle, &system_network_wifi_state) < 0) { + BROWSER_LOGD(" Fail to get Wifi state"); + return BROWSER_CONNECTION_WIFI_STATE_DISCONNECTED; + } + + switch(system_network_wifi_state) { + + case CONNECTION_WIFI_STATE_CONNECTED: + BROWSER_LOGD("Wifi state : CONNECTION_WIFI_STATE_CONNECTED"); + browser_network_wifi_state = BROWSER_CONNECTION_WIFI_STATE_CONNECTED; + break; + + case CONNECTION_WIFI_STATE_DEACTIVATED: + BROWSER_LOGD("Wifi state : CONNECTION_WIFI_STATE_DEACTIVATED"); + browser_network_wifi_state = BROWSER_CONNECTION_WIFI_STATE_DEACTIVATED; + break; + + case CONNECTION_WIFI_STATE_DISCONNECTED: + BROWSER_LOGD("Wifi state : CONNECTION_WIFI_STATE_DISCONNECTED"); + browser_network_wifi_state = BROWSER_CONNECTION_WIFI_STATE_DISCONNECTED; + break; + + default: + BROWSER_LOGD("Wifi state : Index of network-Wifi state is out of support"); + browser_network_wifi_state = BROWSER_CONNECTION_WIFI_STATE_DISCONNECTED; + } + + return browser_network_wifi_state; +} + +void Browser_Network_Manager::network_state_changed(void) +{ + BROWSER_LOGD("[%s]", __func__); + + browser_connection_type_e browser_network_state = BROWSER_CONNECTION_TYPE_DISCONNECTED; + browser_network_state = get_network_connection_state(); + + if (m_network_state != browser_network_state) { + BROWSER_LOGD("Previous network state[%d], Changed network state", m_network_state, browser_network_state); + m_network_state = browser_network_state; } else { - BROWSER_LOGD("proxy = %s", proxy); - ewk_network_proxy_uri_set(proxy); + BROWSER_LOGD("Network state is not changed, Current[%d]", browser_network_state); } - if (proxy) - free(proxy); + return; +} + +void Browser_Network_Manager::network_configure_changed(void) +{ + BROWSER_LOGD("[%s]", __func__); + + get_IP_address(); + get_proxy_address(); + + BROWSER_LOGD("get_proxy_address[%s]", m_proxy_address.c_str()); + if (!m_proxy_address.length()) + ewk_context_proxy_uri_set(ewk_context_default_get(), NULL); + else + ewk_context_proxy_uri_set(ewk_context_default_get(), m_proxy_address.c_str()); + + return; +} + +void Browser_Network_Manager::__network_state_changed_ind_cb(connection_type_e system_network_state, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!user_data) + return; + + Browser_Network_Manager *network_manager = (Browser_Network_Manager *)user_data; + network_manager->network_state_changed(); + + return; +} + +void Browser_Network_Manager::__network_configure_changed_ind_cb(const char* ipv4_address, const char* ipv6_address, void* user_data) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!user_data) + return; + + Browser_Network_Manager *network_manager = (Browser_Network_Manager *)user_data; + network_manager->network_configure_changed(); - network_manager->m_browser_view->stop_and_reload(); + return; } diff --git a/src/data-network/browser-network-manager.h b/src/data-network/browser-network-manager.h index ca1f87f9..214af660 100755 --- a/src/data-network/browser-network-manager.h +++ b/src/data-network/browser-network-manager.h @@ -1,23 +1,46 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_NETWORK_MANAGER_H #define BROWSER_NETWORK_MANAGER_H #include "browser-config.h" +#include "net_connection.h" + +typedef enum +{ + BROWSER_CONNECTION_TYPE_DISCONNECTED = 0, /**< Disconnected */ + + BROWSER_CONNECTION_NETWORK_STATE_WIFI = 10, /**< Wi-Fi is used for default connection */ + BROWSER_CONNECTION_WIFI_STATE_DEACTIVATED, /**< Deactivated state */ + BROWSER_CONNECTION_WIFI_STATE_DISCONNECTED, /**< disconnected state */ + BROWSER_CONNECTION_WIFI_STATE_CONNECTED, /**< Connected state */ + + BROWSER_CONNECTION_NETWORK_STATE_CELLULAR = 20, /**< Cellular is used for default connection */ + BROWSER_CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE, /**< Out of service */ + BROWSER_CONNECTION_CELLULAR_STATE_FLIGHT_MODE, /**< Flight mode */ + BROWSER_CONNECTION_CELLULAR_STATE_ROAMING_OFF, /**< Roaming is turned off */ + BROWSER_CONNECTION_CELLULAR_STATE_CALL_ONLY_AVAILABLE, /**< Call is only available. */ + BROWSER_CONNECTION_CELLULAR_STATE_AVAILABLE, /**< Available */ + BROWSER_CONNECTION_CELLULAR_STATE_UNAVAILABLE, /**< Unavailable */ + +} browser_connection_type_e; + class Browser_View; class Browser_Network_Manager { @@ -25,12 +48,27 @@ public: Browser_Network_Manager(void); ~Browser_Network_Manager(void); - Eina_Bool init(Browser_View *browser_view, Evas_Object *webview); + Eina_Bool init(Browser_View *browser_view); + void deinit(void); + private: - static void __network_changed_ind_cb(keynode_t *keynode, void *data); - static Eina_Bool __connection_cb(Evas_Object *webview, const char *uri); + void get_IP_address(void); + void get_proxy_address(void); + browser_connection_type_e get_network_connection_state(void); + browser_connection_type_e get_network_cellular_state(void); + browser_connection_type_e get_network_wifi_state(void); + void network_state_changed(void); + void network_configure_changed(void); + + static void __network_state_changed_ind_cb(connection_type_e system_network_state, void* user_data); + static void __network_configure_changed_ind_cb(const char* ipv4_address, const char* ipv6_address, void* user_data); Browser_View *m_browser_view; + connection_h m_network_handle; + browser_connection_type_e m_network_state; + + std::string m_ip_address; + std::string m_proxy_address; }; #endif /* BROWSER_NETWORK_MANAGER_H */ diff --git a/src/database/browser-bookmark-db.cpp b/src/database/browser-bookmark-db.cpp index 2cc775d2..3f1acbc3 100755 --- a/src/database/browser-bookmark-db.cpp +++ b/src/database/browser-bookmark-db.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + using namespace std; @@ -669,14 +671,15 @@ Eina_Bool Browser_Bookmark_DB::get_untitled_folder_count(int *count) std::string title; std::string title_from_db; - char *buf = "Folder_"; + char buf[32] = {0, }; for (int i = 1; ; i++) { *count = i; error = sqlite3_step(sqlite3_stmt); if (error == SQLITE_ROW) { + snprintf(buf, sizeof(buf)-1, "Folder_%02d", i); title = buf; title_from_db = reinterpret_cast(sqlite3_column_text(sqlite3_stmt,0)); - if (strncmp(title_from_db.c_str(), title.c_str(), title.length())) + if (title_from_db != title) break; } else break; diff --git a/src/database/browser-bookmark-db.h b/src/database/browser-bookmark-db.h index 08dc0f86..b18bcf3b 100755 --- a/src/database/browser-bookmark-db.h +++ b/src/database/browser-bookmark-db.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_BOOKMARK_DB_H #define BROWSER_BOOKMARK_DB_H diff --git a/src/database/browser-geolocation-db.cpp b/src/database/browser-geolocation-db.cpp new file mode 100755 index 00000000..33352df7 --- /dev/null +++ b/src/database/browser-geolocation-db.cpp @@ -0,0 +1,378 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +using namespace std; + +#include "browser-geolocation-db.h" + +sqlite3* Browser_Geolocation_DB::m_db_descriptor = NULL; + +Browser_Geolocation_DB::Browser_Geolocation_DB(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Browser_Geolocation_DB::~Browser_Geolocation_DB(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Eina_Bool Browser_Geolocation_DB::_open_db(void) +{ + BROWSER_LOGD("[%s]", __func__); + int error = db_util_open(BROWSER_GEOLOCATION_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Eina_Bool Browser_Geolocation_DB::_close_db(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_db_descriptor) + { + int error = db_util_close(m_db_descriptor); + if (error != SQLITE_OK) { + BROWSER_LOGE("db_util_close error"); + m_db_descriptor = NULL; + return EINA_FALSE; + } + m_db_descriptor = NULL; + } + + return EINA_TRUE; +} + +Eina_Bool Browser_Geolocation_DB::save_geolocation_host(const char *address, bool accept) +{ + BROWSER_LOGD("[%s]", address); + + if (!address || strlen(address) == 0) { + BROWSER_LOGE("address is empty"); + return EINA_FALSE; + } + + if (get_geolocation_host_count(address) > 0) { + BROWSER_LOGE("already exist\n"); + return EINA_FALSE; + } + + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + int error = sqlite3_prepare_v2(m_db_descriptor, "INSERT INTO geolocation (address, accept) values (?, ?)", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + if (sqlite3_bind_text(sqlite3_stmt, 1, address, -1, NULL) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_text is failed.\n"); + + if (sqlite3_bind_int(sqlite3_stmt, 2, accept) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_int is failed.\n"); + + error = sqlite3_step(sqlite3_stmt); + if (error != SQLITE_OK && error != SQLITE_DONE) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + _close_db(); + + return (error == SQLITE_DONE || error == SQLITE_ROW); +} + +Eina_Bool Browser_Geolocation_DB::get_geolocation_host(const char *address, bool &accept) +{ + if (!address || strlen(address) == 0) { + BROWSER_LOGE("address is empty"); + return EINA_FALSE; + } + + if (get_geolocation_host_count(address) <= 0) { + BROWSER_LOGE("No data or database error\n"); + return EINA_FALSE; + } + + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + std::string query = "select accept from geolocation where address like '%" + std::string(address) + "%'"; + + int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + accept = 0; + error = sqlite3_step(sqlite3_stmt); + if (error == SQLITE_ROW) { + accept = sqlite3_column_int(sqlite3_stmt, 0); + BROWSER_LOGD("address: %s accept %d", address, accept); + } + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + if (error == SQLITE_DONE || error == SQLITE_ROW) + return EINA_TRUE; + else + return EINA_FALSE; +} + +Eina_Bool Browser_Geolocation_DB::remove_geolocation_data(const char *address) +{ + + if (!address || strlen(address) == 0) { + BROWSER_LOGE("address is empty"); + return EINA_FALSE; + } + + if (get_geolocation_host_count(address) <= 0) { + BROWSER_LOGE("No data\n"); + return EINA_FALSE; + } + + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + std::string query = "DELETE FROM geolocation WHERE address LIKE '%" + std::string(address) + "%'"; + + int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + error = sqlite3_step(sqlite3_stmt); + if (error != SQLITE_OK && error != SQLITE_DONE) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + _close_db(); + + return (error == SQLITE_DONE || error == SQLITE_ROW); +} + +Eina_Bool Browser_Geolocation_DB::remove_all_geolocation_data(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + std::string query = "DELETE FROM geolocation"; + + int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + error = sqlite3_step(sqlite3_stmt); + if (error != SQLITE_OK && error != SQLITE_DONE) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + _close_db(); + + return (error == SQLITE_DONE || error == SQLITE_ROW); +} + +int Browser_Geolocation_DB::get_geolocation_host_count(const char *address) +{ + unsigned count = 0; + + if (!address || strlen(address) == 0) { + BROWSER_LOGE("address is empty"); + return -1; + } + + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + std::string query = "select count(*) from geolocation where address like '%" + std::string(address) + "%'"; + + int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return -1; + } + + error = sqlite3_step(sqlite3_stmt); + if (error != SQLITE_ROW) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return -1; + } + + count = sqlite3_column_int(sqlite3_stmt, 0); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) { + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return -1; + } + + _close_db(); + BROWSER_LOGD("count: %d\n", count); + return count; + +} + +Eina_Bool Browser_Geolocation_DB::get_geolocation_info_list(std::vector &list) +{ + BROWSER_LOGD("[%s]", __func__); + if (_open_db() == EINA_FALSE) { + BROWSER_LOGE("open failed"); + return EINA_FALSE; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + int error = sqlite3_prepare_v2(m_db_descriptor, "select address,accept from geolocation", + -1,&sqlite3_stmt,NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + geolocation_info *item; + while ((error = sqlite3_step(sqlite3_stmt)) == SQLITE_ROW) { + item = new(nothrow) geolocation_info; + if (!item) { + BROWSER_LOGE("bookmark_item new is failed.\n"); + return EINA_FALSE; + } + + item->url = reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 0)); + BROWSER_LOGD("<<< url = [%s] >>>", item->url.c_str()); + + item->allow = sqlite3_column_int(sqlite3_stmt, 1); + BROWSER_LOGD("<<< accept = [%d] >>>", item->allow); + + item->geolocation = EINA_TRUE; + item->storage = EINA_FALSE; + item->user_data = NULL; + + list.push_back(item); + } + + error = sqlite3_finalize(sqlite3_stmt); + if (error != SQLITE_OK) { + BROWSER_LOGE("sqlite3_finalize is failed. (%d)", error); + return EINA_FALSE; + } + + if (_close_db() == EINA_FALSE) { + BROWSER_LOGE("_close_db is failed."); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +int Browser_Geolocation_DB::get_geolocation_info_count(void) +{ + BROWSER_LOGD("[%s]", __func__); + unsigned count = 0; + + if (_open_db() == EINA_FALSE) + return -1; + + sqlite3_stmt *sqlite3_stmt = NULL; + std::string query = "select count(*) from geolocation"; + + int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return -1; + } + + error = sqlite3_step(sqlite3_stmt); + if (error != SQLITE_ROW) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return -1; + } + + count = sqlite3_column_int(sqlite3_stmt, 0); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) { + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return -1; + } + + _close_db(); + BROWSER_LOGD("count: %d\n", count); + return count; +} diff --git a/src/database/browser-geolocation-db.h b/src/database/browser-geolocation-db.h new file mode 100755 index 00000000..fd3ca399 --- /dev/null +++ b/src/database/browser-geolocation-db.h @@ -0,0 +1,62 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#ifndef BROWSER_GEOLOCATION_DB_H +#define BROWSER_GEOLOCATION_DB_H + +#include "browser-config.h" + +extern "C" { +#include "db-util.h" +} + +#include +#include +#include + +class Browser_Geolocation_DB { +public: + struct geolocation_info { + std::string url; + Eina_Bool geolocation; + Eina_Bool allow; + Eina_Bool storage; + void *origin; + void *user_data; + }; + + Browser_Geolocation_DB(); + ~Browser_Geolocation_DB(); + + Eina_Bool save_geolocation_host(const char *address, bool accept); + Eina_Bool get_geolocation_host(const char *address, bool &accept); + Eina_Bool remove_geolocation_data(const char *address); + Eina_Bool remove_all_geolocation_data(void); + + int get_geolocation_host_count(const char *address); + Eina_Bool get_geolocation_info_list(std::vector &list); + int get_geolocation_info_count(void); +private: + Eina_Bool _open_db(void); + Eina_Bool _close_db(void); + + static sqlite3* m_db_descriptor; +}; + +#endif /* BROWSER_GEOLOCATION_DB_H */ + diff --git a/src/database/browser-history-db.cpp b/src/database/browser-history-db.cpp index d61ac600..6f672d06 100755 --- a/src/database/browser-history-db.cpp +++ b/src/database/browser-history-db.cpp @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + using namespace std; @@ -480,3 +482,37 @@ Eina_Bool Browser_History_DB::clear_history(void) else return EINA_FALSE; } + +Eina_Bool Browser_History_DB::is_in_bookmark(const char* url, int *bookmark_id) +{ + int error = db_util_open(BROWSER_BOOKMARK_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return EINA_FALSE; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + error = sqlite3_prepare_v2(m_db_descriptor, "select id from bookmarks where address=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + + if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_text is failed.\n"); + + error = sqlite3_step(sqlite3_stmt); + + if (bookmark_id) + *bookmark_id = sqlite3_column_int(sqlite3_stmt, 0); + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + db_util_close(m_db_descriptor); + + return (error == SQLITE_ROW); +} + diff --git a/src/database/browser-history-db.h b/src/database/browser-history-db.h index c4cd3722..f303bf0e 100755 --- a/src/database/browser-history-db.h +++ b/src/database/browser-history-db.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_HISTORY_DB_H #define BROWSER_HISTORY_DB_H @@ -53,6 +55,7 @@ public: Eina_Bool delete_history(int history_id); Eina_Bool delete_history(const char *url); Eina_Bool clear_history(void); + Eina_Bool is_in_bookmark(const char* url, int *bookmark_id); private: Eina_Bool _open_db(void); Eina_Bool _close_db(void); diff --git a/src/database/browser-notification-db.cpp b/src/database/browser-notification-db.cpp deleted file mode 100755 index b1ac98b7..00000000 --- a/src/database/browser-notification-db.cpp +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -using namespace std; - -#include "browser-notification-db.h" - -sqlite3* Browser_Notification_DB::m_db_descriptor = NULL; - -Browser_Notification_DB::Browser_Notification_DB(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Notification_DB::~Browser_Notification_DB(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Eina_Bool Browser_Notification_DB::_open_db(void) -{ - BROWSER_LOGD("[%s]", __func__); - int error = db_util_open(BROWSER_NOTIFICATION_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); - if (error != SQLITE_OK) { - BROWSER_LOGE("db_util_open error"); - db_util_close(m_db_descriptor); - m_db_descriptor = NULL; - return EINA_FALSE; - } - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_DB::_close_db(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_db_descriptor) - { - int error = db_util_close(m_db_descriptor); - if (error != SQLITE_OK) { - BROWSER_LOGE("db_util_close error"); - m_db_descriptor = NULL; - return EINA_FALSE; - } - m_db_descriptor = NULL; - } - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_DB::save_domain(const char *domain) -{ - BROWSER_LOGD("[%s]", __func__); - if (!domain || strlen(domain) == 0) - return EINA_FALSE; - - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, - "insert into notification_permitted_domains (domain) values (?)", -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_bind_text(stmt, 1, domain, -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - error = sqlite3_step(stmt); - - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - return (error == SQLITE_DONE); -} - -Eina_Bool Browser_Notification_DB::has_domain(const char *domain) -{ - BROWSER_LOGD("[%s]", __func__); - if (!domain || strlen(domain) == 0) - return EINA_FALSE; - - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, - "select count(*) from notification_permitted_domains where domain=?", -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_bind_text(stmt, 1, domain, -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - error = sqlite3_step(stmt); - if (error != SQLITE_ROW) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - if (0 < (sqlite3_column_int(stmt, 0))) { - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_TRUE; - } - - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - return EINA_FALSE; -} - -Eina_Bool Browser_Notification_DB::save_notification(Ewk_Notification *ewk_notification, int ¬i_id) -{ - if (!ewk_notification) { - BROWSER_LOGE("ewk_notification null"); - return EINA_FALSE; - } - - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, - "insert into notification_table (notification, title, body, url, iconURL, iconValidity) values (?, ?, ?, ?, ?, ?)", - -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_bind_int(stmt, 1, (int)ewk_notification->notification) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_int is failed.\n"); - if (sqlite3_bind_text(stmt, 2, ewk_notification->title, -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_text(stmt, 3, ewk_notification->body, -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_text(stmt, 4, ewk_notification->url, -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_text(stmt, 5, ewk_notification->iconURL, -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_int(stmt, 6, (int)0) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_int is failed.\n"); - - error = sqlite3_step(stmt); - noti_id = sqlite3_last_insert_rowid(m_db_descriptor); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - if (error != SQLITE_DONE) - return EINA_FALSE; - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_DB::get_title_by_id(int id, std::string &title) -{ - BROWSER_LOGD("[%s]", __func__); - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, - "select title from notification_table where id=?", -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - if (sqlite3_bind_int(stmt, 1, id) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - error = sqlite3_step(stmt); - if (error != SQLITE_ROW) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - title = std::string(reinterpret_cast(sqlite3_column_text(stmt, 0))); - - - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_DB::get_body_by_id(int id, std::string &body) -{ - BROWSER_LOGD("[%s]", __func__); - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, - "select body from notification_table where id=?", -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - if (sqlite3_bind_int(stmt, 1, id) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - error = sqlite3_step(stmt); - if (error != SQLITE_ROW) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - body = std::string(reinterpret_cast(sqlite3_column_text(stmt, 0))); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_DB::update_icon_validity(int noti_id) -{ - BROWSER_LOGD("[%s]", __func__); - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, - "update notification_table set iconValidity=? where id=?", - -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_bind_int(stmt, 1, (int)1) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_int(stmt, 2, noti_id) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - - error = sqlite3_step(stmt); - - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - return EINA_TRUE; -} - -Eina_Bool Browser_Notification_DB::delete_notifications(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, "delete from notification_table", - -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("\nSQL error: %d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - error = sqlite3_step(stmt); - - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - - return EINA_TRUE; -} diff --git a/src/database/browser-notification-db.h b/src/database/browser-notification-db.h deleted file mode 100755 index 9f5e070f..00000000 --- a/src/database/browser-notification-db.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_NOTIFICATION_DB_H -#define BROWSER_NOTIFICATION_DB_H - -#include "browser-config.h" - -extern "C" { -#include "db-util.h" -} - -#include -#include -#include - -class Browser_Notification_DB { -public: - Browser_Notification_DB(void); - ~Browser_Notification_DB(void); - - Eina_Bool save_domain(const char *domain); - Eina_Bool has_domain(const char *domain); - Eina_Bool save_notification(Ewk_Notification *ewk_notification, int ¬i_id); - Eina_Bool get_title_by_id(int id, std::string &title); - Eina_Bool get_body_by_id(int id, std::string &body); - Eina_Bool update_icon_validity(int noti_id); - Eina_Bool delete_notifications(void); -private: - Eina_Bool _open_db(void); - Eina_Bool _close_db(void); - - static sqlite3* m_db_descriptor; -}; - -#endif /* BROWSER_NOTIFICATION_DB_H */ - diff --git a/src/database/browser-personal-data-db.cpp b/src/database/browser-personal-data-db.cpp deleted file mode 100755 index 74dcbeab..00000000 --- a/src/database/browser-personal-data-db.cpp +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -using namespace std; - -#include "browser-personal-data-db.h" - -sqlite3* Browser_Personal_Data_DB::m_db_descriptor = NULL; - -Browser_Personal_Data_DB::Browser_Personal_Data_DB(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Browser_Personal_Data_DB::~Browser_Personal_Data_DB(void) -{ - BROWSER_LOGD("[%s]", __func__); -} - -Eina_Bool Browser_Personal_Data_DB::_open_db(void) -{ - BROWSER_LOGD("[%s]", __func__); - int error = db_util_open(BROWSER_PERSONAL_DATA_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); - if (error != SQLITE_OK) { - db_util_close(m_db_descriptor); - m_db_descriptor = NULL; - return EINA_FALSE; - } - - return EINA_TRUE; -} - -Eina_Bool Browser_Personal_Data_DB::_close_db(void) -{ - BROWSER_LOGD("[%s]", __func__); - if (m_db_descriptor) - { - int error = db_util_close(m_db_descriptor); - if (error != SQLITE_OK) { - BROWSER_LOGE("db_util_close error"); - m_db_descriptor = NULL; - return EINA_FALSE; - } - m_db_descriptor = NULL; - } - - return EINA_TRUE; -} - -Eina_Bool Browser_Personal_Data_DB::save_personal_data(std::string url, std::string login, std::string password) -{ - if (url.empty() || login.empty()) { - BROWSER_LOGE("url or value is empty"); - return EINA_FALSE; - } - - BROWSER_LOGD("url=[%s], login=[%s], password=[%s]", url.c_str(), login.c_str(), password.c_str()); - - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *sqlite3_stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, "select id, login, password from passwords where address=?", - -1, &sqlite3_stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - if (sqlite3_bind_text(sqlite3_stmt, 1, url.c_str(), -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - - std::string current_login; - std::string current_password; - - int id = 0; - error = sqlite3_step(sqlite3_stmt); - if (error == SQLITE_ROW) { - id = sqlite3_column_int(sqlite3_stmt, 0); - current_login = reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 1)); - current_password = reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 2)); - } - - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - - if (id == 0) { - /* url doesn't exist */ - error = sqlite3_prepare_v2(m_db_descriptor, "insert into passwords(login, password, address) values(?,?,?)", - -1, &sqlite3_stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_bind_text(sqlite3_stmt, 1, login.c_str(), -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_text(sqlite3_stmt, 2, password.c_str(), -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_text(sqlite3_stmt, 3, url.c_str(), -1, NULL) != SQLITE_OK) - - error = sqlite3_step(sqlite3_stmt); - if (error != SQLITE_DONE) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - } else { - /* url exists, update username and password */ - if (strcmp(login.c_str(), current_login.c_str()) || strcmp(password.c_str(), current_password.c_str())) { - error = sqlite3_prepare_v2(m_db_descriptor, "update passwords set login=?, password=? where id=?", - -1, &sqlite3_stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_bind_text(sqlite3_stmt, 1, login.c_str(), -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_text(sqlite3_stmt, 2, password.c_str(), -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - if (sqlite3_bind_int(sqlite3_stmt, 3, id) != SQLITE_OK) - - error = sqlite3_step(sqlite3_stmt); - if (error != SQLITE_DONE) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - } - } - - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) { - _close_db(); - return EINA_FALSE; - } - - _close_db(); - - return EINA_TRUE; -} - -Eina_Bool Browser_Personal_Data_DB::get_personal_data(std::string &login, std::string &password, const std::string &url) -{ - BROWSER_LOGD("url=[%s]", url.c_str()); - if (url.empty()) { - BROWSER_LOGE("url is empty"); - return EINA_FALSE; - } - - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, "select login, password from passwords where address=?", - -1, &stmt, NULL); - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - if (sqlite3_bind_text(stmt, 1, url.c_str(), -1, NULL) != SQLITE_OK) - BROWSER_LOGE("sqlite3_bind_text is failed.\n"); - - Eina_Bool personal_data_found = EINA_FALSE; - error = sqlite3_step(stmt); - if (error == SQLITE_ROW) { - login = std::string(reinterpret_cast(sqlite3_column_text(stmt, 0))); - password = std::string(reinterpret_cast (sqlite3_column_text(stmt, 1))); - personal_data_found = EINA_TRUE; - BROWSER_LOGD("Personal data: %s : %s\n", login.c_str(), password.c_str()); - } - - - error = sqlite3_finalize(stmt); - - _close_db(); - - return personal_data_found; -} - -Eina_Bool Browser_Personal_Data_DB::clear_personal_data(void) -{ - if (_open_db() == EINA_FALSE) - return EINA_FALSE; - - sqlite3_stmt *sqlite3_stmt = NULL; - int error = sqlite3_prepare_v2(m_db_descriptor, "delete from passwords", -1, &sqlite3_stmt ,NULL); - - if (error != SQLITE_OK) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - error = sqlite3_step(sqlite3_stmt); - if (error != SQLITE_DONE) { - BROWSER_LOGD("SQL error=%d", error); - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - _close_db(); - return EINA_FALSE; - } - - if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) - BROWSER_LOGE("sqlite3_finalize is failed.\n"); - - _close_db(); - - return EINA_TRUE; -} - diff --git a/src/database/browser-personal-data-db.h b/src/database/browser-personal-data-db.h deleted file mode 100755 index b9634885..00000000 --- a/src/database/browser-personal-data-db.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef BROWSER_PERSONAL_DATA_DB -#define BROWSER_PERSONAL_DATA_DB - -#include "browser-config.h" - -extern "C" { -#include "db-util.h" -} - -#include -#include - -using namespace std; - -class Browser_Personal_Data_DB { -public: - struct personal_data { - std::string identifier; - std::string name; - std::string type; - std::string value; - std::string form_id; - std::string form_name; - }; - - Browser_Personal_Data_DB(void); - ~Browser_Personal_Data_DB(void); - - Eina_Bool save_personal_data(std::string url, std::string login, std::string password); - Eina_Bool get_personal_data(std::string &login, std::string &password, const std::string &url); - Eina_Bool clear_personal_data(void); - -private: - Eina_Bool _open_db(void); - Eina_Bool _close_db(void); - - static sqlite3* m_db_descriptor; -}; - -#endif /* BROWSER_PERSONAL_DATA_DB */ diff --git a/src/database/browser-user-agent-db.cpp b/src/database/browser-user-agent-db.cpp index bc2069d9..14f36af6 100755 --- a/src/database/browser-user-agent-db.cpp +++ b/src/database/browser-user-agent-db.cpp @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ using namespace std; @@ -63,6 +64,16 @@ Eina_Bool Browser_User_Agent_DB::_close_db(void) Eina_Bool Browser_User_Agent_DB::get_user_agent(const char *title, char *&user_agent) { BROWSER_LOGD("[%s]", __func__); + + if(!strcmp(title, "System user agent")){ + user_agent = vconf_get_str(VCONFKEY_ADMIN_UAGENT); + if (!user_agent) { + BROWSER_LOGE("vconf_get_str(VCONFKEY_ADMIN_UAGENT) failed."); + return EINA_FALSE; + } + return EINA_TRUE; + } + if (_open_db() == EINA_FALSE) return EINA_FALSE; diff --git a/src/database/browser-user-agent-db.h b/src/database/browser-user-agent-db.h index 5900f638..252dc3fe 100755 --- a/src/database/browser-user-agent-db.h +++ b/src/database/browser-user-agent-db.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_USER_AGENT_DB_H #define BROWSER_USER_AGENT_DB_H diff --git a/src/database/most-visited-sites-db.cpp b/src/database/most-visited-sites-db.cpp new file mode 100644 index 00000000..a1a961aa --- /dev/null +++ b/src/database/most-visited-sites-db.cpp @@ -0,0 +1,433 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +using namespace std; + +#include "most-visited-sites-db.h" + +sqlite3* Most_Visited_Sites_DB::m_db_descriptor = NULL; + +Most_Visited_Sites_DB::Most_Visited_Sites_DB(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Most_Visited_Sites_DB::~Most_Visited_Sites_DB(void) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Eina_Bool Most_Visited_Sites_DB::_open_db(void) +{ + BROWSER_LOGD("[%s]", __func__); + int error = db_util_open(BROWSER_MOST_VISITED_SITES_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return EINA_FALSE; + } + + return EINA_TRUE; +} + +Eina_Bool Most_Visited_Sites_DB::_close_db(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_db_descriptor) + { + int error = db_util_close(m_db_descriptor); + if (error != SQLITE_OK) { + BROWSER_LOGE("db_util_close error"); + m_db_descriptor = NULL; + return EINA_FALSE; + } + m_db_descriptor = NULL; + } + + return EINA_TRUE; +} + +Eina_Bool Most_Visited_Sites_DB::is_in_bookmark(const char* url, int *bookmark_id) +{ + int error = db_util_open(BROWSER_BOOKMARK_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return EINA_FALSE; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + error = sqlite3_prepare_v2(m_db_descriptor, "select id from bookmarks where address=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + + if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_text is failed.\n"); + + error = sqlite3_step(sqlite3_stmt); + + if (bookmark_id) + *bookmark_id = sqlite3_column_int(sqlite3_stmt, 0); + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + db_util_close(m_db_descriptor); + + return (error == SQLITE_ROW); +} + +Eina_Bool Most_Visited_Sites_DB::delete_most_visited_sites_item(int index) +{ + int error = db_util_open(BROWSER_MOST_VISITED_SITES_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + BROWSER_LOGD("check here"); + return EINA_FALSE; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + error = sqlite3_prepare_v2(m_db_descriptor, "delete from mostvisited where id=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + + if (sqlite3_bind_int(sqlite3_stmt, 1, index) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_int is failed."); + error = sqlite3_step(sqlite3_stmt); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed."); + + db_util_close(m_db_descriptor); + + return (error == SQLITE_OK || error == SQLITE_DONE); +} + +Eina_Bool Most_Visited_Sites_DB::delete_most_visited_sites_history_item(int history_id) +{ + int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor, + DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + BROWSER_LOGE("db_util_open failed"); + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return EINA_FALSE; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + error = sqlite3_prepare_v2(m_db_descriptor, "delete from history where id=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + + if (sqlite3_bind_int(sqlite3_stmt, 1, history_id) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_int is failed.\n"); + error = sqlite3_step(sqlite3_stmt); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + db_util_close(m_db_descriptor); + + return (error == SQLITE_OK || error == SQLITE_DONE); +} + +Eina_Bool Most_Visited_Sites_DB::save_most_visited_sites_item(int index, const char *url, + const char *title, const char *screen_shot) +{ + if(index > BROWSER_MOST_VISITED_SITES_ITEM_MAX) { + BROWSER_LOGE("index is over BROWSER_MOST_VISITED_SITES_ITEM_MAX"); + return EINA_FALSE; + } + + if (url == NULL || title == NULL) { + BROWSER_LOGE("empty page"); + return EINA_FALSE; + } + + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + int error = sqlite3_prepare_v2(m_db_descriptor, "select * from mostvisited where id=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + error = sqlite3_bind_int(sqlite3_stmt, 1, index); + if (error != SQLITE_OK) { + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + } + + error = sqlite3_step(sqlite3_stmt); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (error == SQLITE_ROW) { // already charged slot + error = sqlite3_prepare_v2(m_db_descriptor, "update mostvisited set address=?, title=?, image=? where id=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL) != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_text(sqlite3_stmt, 2, title, -1, NULL) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_text(sqlite3_stmt, 3, screen_shot, -1, NULL) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_int(sqlite3_stmt, 4, index) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + error = sqlite3_step(sqlite3_stmt); + } else { + error = sqlite3_prepare_v2(m_db_descriptor, "insert into mostvisited (id, address, title, image) values(?,?,?,?)", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_int(sqlite3_stmt, 1, index) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_text(sqlite3_stmt, 2, url, -1, NULL) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_text(sqlite3_stmt, 3, title, -1, NULL) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + if (sqlite3_bind_text(sqlite3_stmt, 4, screen_shot, -1, NULL) != SQLITE_OK){ + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + error = sqlite3_step(sqlite3_stmt); + } + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) { + db_util_close(m_db_descriptor); + return EINA_FALSE; + } + + db_util_close(m_db_descriptor); + + return (error == SQLITE_DONE); +} + +std::string Most_Visited_Sites_DB::get_history_title_by_id(const char* id) +{ + std::string title; + int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor, + DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return title; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + error = sqlite3_prepare_v2(m_db_descriptor, "select title from history where id=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return title; + } + + if (sqlite3_bind_text(sqlite3_stmt, 1, id, -1, NULL) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_text is failed.\n"); + + error = sqlite3_step(sqlite3_stmt); + if (error == SQLITE_ROW) + title = std::string(reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 0))); + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + db_util_close(m_db_descriptor); + + return title; +} + +std::string Most_Visited_Sites_DB::get_history_id_by_url(const char* url) +{ + std::string history_id; + history_id.clear(); + + int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return history_id; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + error = sqlite3_prepare_v2(m_db_descriptor, "select id from history where address=?", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + return history_id; + } + + if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL ) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_text is failed.\n"); + + error = sqlite3_step(sqlite3_stmt); + if (error == SQLITE_ROW) + history_id = std::string(reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 0))); + + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + db_util_close(m_db_descriptor); + return history_id; +} + +Eina_Bool Most_Visited_Sites_DB::get_most_visited_list(std::vector &list, + std::vector &duplicate_list, int count) +{ + int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD); + if (error != SQLITE_OK) { + db_util_close(m_db_descriptor); + m_db_descriptor = NULL; + return EINA_FALSE; + } + + sqlite3_stmt *sqlite3_stmt = NULL; + if (duplicate_list.size() == 0) + error = sqlite3_prepare_v2(m_db_descriptor, "select address, title, id from history order by counter desc limit ?", + -1, &sqlite3_stmt, NULL); + else { + string query = "select address, title, id from history"; + Eina_Bool is_attach_where = EINA_FALSE; + int default_prefix_length = strlen(DEFAULT_ICON_PREFIX); + for (int i = 0; i < duplicate_list.size(); i++) { + int size = (duplicate_list[i].id.length() < default_prefix_length) + ? duplicate_list[i].url.length() : default_prefix_length; + if (memcmp(duplicate_list[i].id.c_str(), DEFAULT_ICON_PREFIX, size) == 0) + continue; + if (is_attach_where) { + query.append(" and "); + } + if (!is_attach_where) { + query.append(" where "); + is_attach_where = true; + } + query.append("id != "); + query.append(duplicate_list[i].id); + } + query.append(" order by counter desc limit ?"); + error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL); + } + if (error != SQLITE_OK) { + _close_db(); + return EINA_FALSE; + } + if (sqlite3_bind_int(sqlite3_stmt, 1, count) != SQLITE_OK) + BROWSER_LOGE("sqlite3_bind_int is failed.\n"); + + most_visited_sites_entry item; + while ((error = sqlite3_step(sqlite3_stmt)) == SQLITE_ROW) { + item.url = reinterpret_cast (sqlite3_column_text(sqlite3_stmt, 0)); + item.title = reinterpret_cast (sqlite3_column_text(sqlite3_stmt, 1)); + item.id = reinterpret_cast (sqlite3_column_text(sqlite3_stmt, 2)); + + Eina_Bool is_duplicated = EINA_FALSE; + for (int i = 0 ; i < duplicate_list.size() ; i++) { + if (!strcmp(item.url.c_str(), duplicate_list[i].url.c_str())) { + is_duplicated = EINA_TRUE; + break; + } + } + + if (!is_duplicated) + list.push_back(item); + } + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + _close_db(); + + return (error == SQLITE_DONE); +} + +Eina_Bool Most_Visited_Sites_DB::get_most_visited_sites_list(std::vector &list) +{ + if (_open_db() == EINA_FALSE) + return EINA_FALSE; + + sqlite3_stmt *sqlite3_stmt = NULL; + int error = sqlite3_prepare_v2(m_db_descriptor, "select id, address, title, image from mostvisited order by id asc", + -1, &sqlite3_stmt, NULL); + if (error != SQLITE_OK) { + BROWSER_LOGD("SQL error=%d", error); + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + _close_db(); + return EINA_FALSE; + } + + most_visited_sites_entry item; + int count = 0; + while ((error = sqlite3_step(sqlite3_stmt)) == SQLITE_ROW) { + item.index = sqlite3_column_int(sqlite3_stmt, 0); + item.url = reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 1)); + item.title = reinterpret_cast(sqlite3_column_text(sqlite3_stmt, 2)); + item.id = reinterpret_cast(sqlite3_column_text(sqlite3_stmt,3)); + + Eina_Bool is_duplicated = EINA_FALSE; + for (int i = 0 ; i < list.size() ; i++) { + if (!strcmp(item.url.c_str(), list[i].url.c_str())) { + is_duplicated = EINA_TRUE; + break; + } + } + + if (!is_duplicated) { + list.push_back(item); + count++; + if (count >= BROWSER_MOST_VISITED_SITES_ITEM_MAX) + break; + } + } + if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) + BROWSER_LOGE("sqlite3_finalize is failed.\n"); + + _close_db(); + + return (error == SQLITE_DONE || error == SQLITE_ROW); +} + diff --git a/src/database/most-visited-sites-db.h b/src/database/most-visited-sites-db.h new file mode 100644 index 00000000..08348392 --- /dev/null +++ b/src/database/most-visited-sites-db.h @@ -0,0 +1,61 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef BROWSER_MOST_VISITED_SITES_DB_H +#define BROWSER_MOST_VISITED_SITES_DB_H + +#include "browser-config.h" + +extern "C" { +#include "db-util.h" +} + +#include +#include +#include + +class Most_Visited_Sites_DB { +public: + struct most_visited_sites_entry { + int index; + std::string title; + std::string url; + std::string id; + }; + + Most_Visited_Sites_DB(void); + ~Most_Visited_Sites_DB(void); + + Eina_Bool get_most_visited_sites_list(std::vector &list); + Eina_Bool get_most_visited_list(std::vector &list, + std::vector &duplicate_list, int count); + Eina_Bool save_most_visited_sites_item(int index, const char *url, + const char *title, const char *screen_shot); + Eina_Bool delete_most_visited_sites_item(int index); + Eina_Bool delete_most_visited_sites_history_item(int history_id); + std::string get_history_id_by_url(const char* url); + std::string get_history_title_by_id(const char* id); + Eina_Bool is_in_bookmark(const char* url, int *bookmark_id); +private: + Eina_Bool _open_db(void); + Eina_Bool _close_db(void); + + static sqlite3* m_db_descriptor; +}; + +#endif /* BROWSER_SPEED_DIAL_DB_H */ + diff --git a/src/include/browser-config.h b/src/include/browser-config.h index 0e2fbf24..89c2ffd3 100755 --- a/src/include/browser-config.h +++ b/src/include/browser-config.h @@ -1,29 +1,32 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_CONFIG_H #define BROWSER_CONFIG_H -#include +#include #include #include #include #include #include #include +#include +#include #include #include #include @@ -34,30 +37,53 @@ #include #include #include +#include #include #include #include -#include #include #include #include #include -#include -#include #include -#include #include #include #include #include #include #include +#include #include +#include #include "browser-dlog.h" #include "browser-string.h" +#define BUILDING_EFL__ +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #define BROWSER_PACKAGE_NAME "browser" #define BROWSER_EDJE_DIR "/opt/apps/org.tizen.browser/res/edje" #define BROWSER_LOCALE_DIR "/opt/apps/org.tizen.browser/res/locale" @@ -69,12 +95,12 @@ #define BROWSER_FILE_SCHEME "file://" #define BROWSER_RTSP_SCHEME "rtsp://" #define BROWSER_MAIL_TO_SCHEME "mailto:" -#define BROWSER_TEL_SCHEME "tel:" #define BROWSER_SMS_SCHEME "sms:" -#define BROWSER_VTEL_SCHEME "vtel:" +#define BROWSER_SMS_TO_SCHEME "smsto:" +#define BROWSER_MMS_SCHEME "mms:" +#define BROWSER_MMS_TO_SCHEME "mmsto:" #define BROWSER_WTAI_SCHEME "wtai://" -#define BROWSER_DAUM_TV_SCHEME "daumtv://" -#define BROWSER_YOUTUBE_SCHEME "vnd.youtube" +#define BROWSER_WTAI_WP_AP_SCHEME "wtai://wp/ap;" #define BROWSER_DEFAULT_USER_HOMEPAGE "www.tizen.org" @@ -87,73 +113,53 @@ #define BROWSER_PREDICTIVE_HISTORY_THEME BROWSER_EDJE_DIR"/browser-predictive-history.edj" #define BROWSER_SETTINGS_THEME BROWSER_EDJE_DIR"/browser-settings.edj" #define BROWSER_BOOKMARK_THEME BROWSER_EDJE_DIR"/browser-bookmark-view.edj" +#if defined(FEATURE_MOST_VISITED_SITES) #define BROWSER_MOST_VISITED_SITES_THEME BROWSER_EDJE_DIR"/most-visited-sites.edj" #define BROWSER_MOST_VISITED_THEME BROWSER_EDJE_DIR"/browser-most-visited.edj" +#endif #define BROWSER_FIND_WORD_LAYOUT_THEME BROWSER_EDJE_DIR"/browser-view-find-word-layout.edj" /* browser vconf path */ #define BROWSER_VCONF_PREFIX "db/browser/" #define BROWSER_SETTING_VCONF_PREFIX "db/browsersetting/" -#define SHOW_MY_SITES_GUIDE BROWSER_VCONF_PREFIX"ShowMySitesGuide" -#define BROWSER_BRIGHTNESS_LEVEL_KEY BROWSER_VCONF_PREFIX"BrowserBrightnessLevel" -#define LAST_VISITED_URL_KEY BROWSER_SETTING_VCONF_PREFIX"LastVisitedUrl" -//#define USERAGENT_KEY BROWSER_VCONF_PREFIX"UserAgent" - -/* "db/browsersetting/UserAgent" should be installed in browser with Tizen open. - * Because the user agent ug is not available with Tizen open. */ -#define USERAGENT_KEY BROWSER_SETTING_VCONF_PREFIX"UserAgent" - -#define DEFAULT_USER_AGENT_STRING "Tizen" - -#define HOMEPAGE_KEY BROWSER_SETTING_VCONF_PREFIX"HomepageMode" -#define USER_HOMEPAGE_KEY BROWSER_SETTING_VCONF_PREFIX"UserHomepage" -#define SEARCHURL_KEY BROWSER_VCONF_PREFIX"SearchUrl" -#define DEFAULT_VIEW_LEVEL_KEY BROWSER_SETTING_VCONF_PREFIX"DefaultViewLevel" -#define RUN_JAVASCRIPT_KEY BROWSER_SETTING_VCONF_PREFIX"RunJavaScript" -#define DISPLAY_IMAGES_KEY BROWSER_SETTING_VCONF_PREFIX"DisplayImages" -#define BLOCK_POPUP_KEY BROWSER_SETTING_VCONF_PREFIX"BlockPopup" -#define ACCEPT_COOKIES_KEY BROWSER_SETTING_VCONF_PREFIX"CookieOptionInt" -#define AUTO_SAVE_ID_PASSWORD_KEY BROWSER_SETTING_VCONF_PREFIX"SaveIDPassword" - -#define RUN_READER_KEY BROWSER_SETTING_VCONF_PREFIX"RunReader" -#define READER_FONT_SIZE_KEY BROWSER_SETTING_VCONF_PREFIX"FontSize" - -#define RUN_PLUGINS_KEY BROWSER_SETTING_VCONF_PREFIX"RunPlugins" -#define RUN_FLASH_KEY BROWSER_SETTING_VCONF_PREFIX"RunFlash" -#define PAUSE_FLASH_KEY BROWSER_SETTING_VCONF_PREFIX"PauseFlash" -#define ACCELERATED_COMPOSITION_KEY BROWSER_SETTING_VCONF_PREFIX"AcceleratedComposition" -#define EXTERNAL_VIDEO_PLAYER_KEY BROWSER_SETTING_VCONF_PREFIX"ExternalVideoPlayer" -#define BROWSER_FLASH_MIME_TYPE "application/x-shockwave-flash" - -#define BACKING_STORE_CACHE_SIZE 42000000 /* 42 MB */ - -#define BROWSER_READER_DEFAULT_FONT_SIZE 16 -#define BROWSER_READER_MIN_FONT_SIZE 10 -#define BROWSER_READER_MAX_FONT_SIZE 30 -#define BROWSER_DEFAULT_BRIGHTNESS_LEVEL 7 +#define SHOW_MY_SITES_GUIDE "ShowMySitesGuide" +#define LAST_VISITED_URL_KEY "LastVisitedUrl" +#define DEFAULT_USER_AGENT_STRING "System user agent" +#define HOMEPAGE_KEY "HomepageMode" +#define USER_HOMEPAGE_KEY "UserHomepage" +#define SEARCHURL_KEY "SearchUrl" +#define DEFAULT_VIEW_LEVEL_KEY "DefaultViewLevel" +#define RUN_JAVASCRIPT_KEY "RunJavaScript" +#define DISPLAY_IMAGES_KEY "DisplayImages" +#define BLOCK_POPUP_KEY "BlockPopup" +#define SHOW_SECURITY_WARNINGS_KEY "ShowSecurityWarnings" +#define ACCEPT_COOKIES_KEY "AcceptCookies" +#define AUTO_SAVE_ID_PASSWORD_KEY "AutoSaveIDPassword" +#define AUTO_SAVE_FORM_DATA_KEY "AutoSaveFormData" +#define ENABLE_LOCATION_KEY "EnableLocation" +#ifdef ZOOM_BUTTON +#define ZOOM_BUTTON_KEY "Zoombutton" +#endif + +#define USERAGENT_KEY VCONFKEY_BROWSER_BROWSER_USER_AGENT +#define CUSTOM_USERAGENT_KEY VCONFKEY_BROWSER_CUSTOM_USER_AGENT -#define MODAL_MSG_MAX_BUFFER 1024 -#define MODAL_LAUNCHER_BIN_PATH "/usr/bin/modal_launcher" -#define MODAL_LAUNCHER_BUNDLE_TYPE "type" -#define MODAL_LAUNCHER_BUNDLE_MESSAGE "message" -#define MODAL_LAUNCHER_RESULT_KEYWORD "MODAL_RESULT" +#define BROWSER_DEFAULT_BRIGHTNESS_LEVEL 7 /* ID to save to vconf for browser settings */ +#if defined(FEATURE_MOST_VISITED_SITES) #define MOST_VISITED_SITES "MOST_VISITED_SITES" +#endif #define RECENTLY_VISITED_SITE "RECENTLY_VISITED_SITE" #define USER_HOMEPAGE "USER_HOMEPAGE" +#define EMPTY_PAGE "EMPTY_PAGE" #define FIT_TO_WIDTH "FIT_TO_WIDTH" #define READABLE "READABLE" #define ALWAYS_ASK "ALWAYS_ASK" #define ALWAYS_ON "ON" #define ALWAYS_OFF "OFF" -#define GOOGLE_SEARCH_QUERY "http://www.google.com/m/search?q=" - -/* size definition */ -#define BROWSER_MORE_CTX_POPUP_MARGIN (10 * elm_scale_get()) - /* bookmark definition */ #define BROWSER_BOOKMARK_DB_PATH "/opt/dbspace/.internet_bookmark.db" #define BROWSER_BOOKMARK_GENLIST_BLOCK_COUNT 50 @@ -169,9 +175,6 @@ #define BROWSER_MAX_DATE_LEN 40 #define BROWSER_PREDICTIVE_HISTORY_COUNT 2 -/* personal data definition */ -#define BROWSER_PERSONAL_DATA_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-credential.db" - /* multi window definition */ #define BROWSER_MULTI_WINDOW_MAX_COUNT 9 #define BROWSER_MULTI_WINDOW_ITEM_RATIO 0.60f @@ -179,27 +182,30 @@ #define BROWSER_USER_AGENT_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser.db" #define BROWSER_DEFAULT_USER_AGENT_TITLE "Tizen" -#define BROWSER_NOTIFICATION_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-notification.db" - /* Most visited definition */ #define BROWSER_MOST_VISITED_COUNT_TEXT "3" +#if defined(FEATURE_MOST_VISITED_SITES) /* Speed dial definition */ -#define BROWSER_MOST_VISITED_SITES_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-speeddial.db" -#define BROWSER_MOST_VISITED_SITES_SCREEN_SHOT_DIR "/opt/apps/org.tizen.browser/data/screenshots/" +#define BROWSER_MOST_VISITED_SITES_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db" #define BROWSER_MOST_VISITED_SITES_ITEM_MAX 9 #define BROWSER_MOST_VISITED_SITES_URL "" #define DEFAULT_ICON_PREFIX "default_" +#endif +#define BROWSER_BLANK_PAGE_URL "about:blank" +/* Geolocation definition */ +#define BROWSER_GEOLOCATION_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-geolocation.db" + +/* Screen shot path definition */ +#define BROWSER_SCREEN_SHOT_DIR "/opt/apps/org.tizen.browser/data/screenshots/" #define BROWSER_FAVICON_DB_PATH "/opt/apps/org.tizen.browser/data/db/WebpageIcons.db" #define BROWSER_CLEAN_UP_WINDOWS_TIMEOUT (60 * 30) // 30 min -/* To do. */ -#define BROWSER_SEARCH_URL_GOOGLE "http://www.google.com/m/search?q=" -#define BROWSER_SEARCH_URL_YAHOO "http://search.yahoo.com/search?p=" -#define BROWSER_SEARCH_URL_BING "http://www.bing.com/search?q=" -#define BROWSER_SEARCH_ENGINE_KEY BROWSER_SETTING_VCONF_PREFIX"SearchEngine" +/* Haptic device definition */ +#define BROWSER_HAPTIC_DEVICE_HANDLE 0 + #define BROWSER_GOOGLE "Google" #define BROWSER_YAHOO "Yahoo" #define BROWSER_BING "Bing" @@ -207,10 +213,11 @@ #define SEC_DOWNLOAD_APP "org.tizen.download-provider" #define SEC_STREAMING_PLAYER "org.tizen.video-player" #define SEC_VIDEO_PLAYER SEC_STREAMING_PLAYER -#define SEC_MUSIC_PLAYER "org.tizen.music-player" +#define SEC_MUSIC_PLAYER "org.tizen.sound-player" #define SEC_VT_CALL "org.tizen.vtmain" #define SEC_MESSAGE "org.tizen.message" #define SEC_EMAIL "org.tizen.email" +#define SEC_SAMSUNG_APPS "org.tizen.samsungapps" #define ELM_NAVIFRAME_ITEM_CONTENT "default" #define ELM_NAVIFRAME_ITEM_CONTROLBAR "controlbar" diff --git a/src/include/browser-dlog.h b/src/include/browser-dlog.h index 50ab2e1b..c7d138a1 100755 --- a/src/include/browser-dlog.h +++ b/src/include/browser-dlog.h @@ -1,18 +1,20 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + #ifndef BROWSER_DLOG_H #define BROWSER_DLOG_H diff --git a/src/include/browser-string.h b/src/include/browser-string.h index b1ae7c5f..13167168 100755 --- a/src/include/browser-string.h +++ b/src/include/browser-string.h @@ -1,18 +1,19 @@ /* - * Copyright 2012 Samsung Electronics Co., Ltd - * - * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #ifndef BROWSER_STRING_H #define BROWSER_STRING_H @@ -20,154 +21,226 @@ #include "browser-dlog.h" /* browser string define for translation */ -#define BR_STRING_MOST_VISITED_SITES _("IDS_BR_BODY_MOST_VISITED_SITES") -#define BR_STRING_RECENTLY_VISITED_SITE _("IDS_BR_HEADER_RECENTLY_VISITED_PAGES") -#define BR_STRING_USER_HOMEPAGE _("User homepage") -#define BR_STRING_EMPTY_PAGE _("Empty page") -#define BR_STRING_OK dgettext("sys_string", "IDS_COM_SK_OK") -#define BR_STRING_EDIT dgettext("sys_string", "IDS_COM_SK_EDIT") -#define BR_STRING_YES dgettext("sys_string", "IDS_COM_SK_YES") -#define BR_STRING_NO dgettext("sys_string", "IDS_COM_SK_NO") -#define BR_STRING_BACK dgettext("sys_string", "IDS_COM_BODY_BACK") -#define BR_STRING_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL") -#define BR_STRING_SAVE dgettext("sys_string", "IDS_COM_SK_SAVE") -#define BR_STRING_DONE dgettext("sys_string", "IDS_COM_SK_DONE") -#define BR_STRING_DELETE dgettext("sys_string", "IDS_COM_SK_DELETE") -#define BR_STRING_SEARCH "Search" -#define BR_STRING_DELETED _("IDS_BR_POP_DELETED") -#define BR_STRING_DELETE_Q dgettext("sys_string", "IDS_COM_POP_DELETE_Q") -#define BR_STRING_CLOSE dgettext("sys_string", "IDS_COM_POP_CLOSE") -#define BR_STRING_VIEW_CHANGE _("IDS_BR_SK3_CHANGE_VIEW") -#define BR_STRING_NEW_WINDOW _("IDS_BR_SK1_NEW_WINDOW") -#define BR_STRING_CREATE_FOLDER _("IDS_BR_SK3_CREATE_FOLDER") -#define BR_STRING_MULTI_WINDOW _("IDS_BR_HEADER_MULTI_WINDOW") -#define BR_STRING_FOLDER _("IDS_BR_HEADER_FOLDER") -#define BR_STRING_BOOKMARKS _("IDS_BR_BODY_BOOKMARKS") -#define BR_STRING_BOOKMARK _("IDS_BR_OPT_BOOKMARK") -#define BR_STRING_HISTORY _("IDS_BR_TAB_HISTORY") -#define BR_STRING_HISTORIES "Histories" -#define BR_STRING_LOADING _("IDS_BR_HEADER_LOADING_ING") -#define BR_STRING_ADD_TO_BOOKMARKS _("IDS_BR_SK3_ADD_TO_BOOKMARKS") -#define BR_STRING_EDIT_BOOKMARK _("IDS_BR_BODY_EDIT_BOOKMARK") -#define BR_STRING_TITLE _("IDS_BR_BODY_TITLE") -#define BR_STRING_CLICK_HERE "Please click here" -#define BR_STRING_URL _("IDS_BR_BODY_URL") -#define BR_STRING_ENTER_URL _("IDS_BR_POP_ENTER_URL") -#define BR_STRING_ENTER_TITLE _("IDS_BR_BODY_ENTER_TITLE") -#define BR_STRING_WARNING dgettext("sys_string", "IDS_COM_POP_WARNING") -#define BR_STRING_ERROR dgettext("sys_string", "IDS_COM_POP_ERROR") -#define BR_STRING_FAILED _("IDS_BR_POP_FAIL") -#define BR_STRING_SELECTED _("IDS_BR_OPT_SELECTED") -#define BR_STRING_SELECT_ALL _("IDS_BR_OPT_SELECT_ALL") -#define BR_STRING_SELECT_ITEMS _("IDS_BR_HEADER_SELECT_ITEMS") -#define BR_STRING_SELECT_HISTORIES "Select histories" -#define BR_STRING_WARNING_OVER_BOOKMARK_LIMIT "It's reached maximum number of bookmark items, please delete it before adding" -#define BR_STRING_ALREADY_EXISTS _("IDS_BR_POP_ALREADY_EXISTS") -#define BR_STRING_FOLDERS _("IDS_BR_OPT_FOLDERS") -#define BR_STRING_EMPTY_FOLDER_NAME _("IDS_BR_POP_ENTER_FOLDER_NAME") -#define BR_STRING_EMPTY_FOLDER "Empty folder" -#define BR_STRING_NO_BOOKMARKS _("IDS_BR_BODY_NO_BOOKMARKS") -#define BR_STRING_NO_HISTORY _("IDS_BR_BODY_NO_HISTORIES") -#define BR_STRING_PROCESSING dgettext("sys_string", "IDS_COM_POP_PROCESSING") -#define BR_STRING_MOST_VISITED_GUIDE_TEXT "Offer 3 thumbnails of most visited sites to let you access to each site easily" -#define BR_STRING_SHARE_VIA_MESSAGE _("IDS_BR_OPT_SHARE_VIA_MESSAGES") -#define BR_STRING_SHARE_VIA_EMAIL _("IDS_BR_OPT_SHARE_VIA_EMAIL") -#define BR_STRING_SHARE_VIA_FACEBOOK _("IDS_BR_OPT_SHARE_VIA_FACEBOOK") -#define BR_STRING_SHARE_VIA_TWITTER _("IDS_BR_OPT_SHARE_VIA_TWITTER") -#define BR_STRING_SHARE_VIA_NFC _("Share via NFC") -#define BR_STRING_SHARE_VIA _("IDS_BR_OPT_SHARE_VIA") -#define BR_STRING_MESSAGES dgettext("sys_string", "IDS_COM_BODY_MESSAGES") -#define BR_STRING_EMAIL dgettext("sys_string", "IDS_COM_BODY_EMAIL") -#define BR_STRING_NFC "NFC" //dgettext("sys_string", "IDS_COM_BODY_NFC") -#define BR_STRING_DOWNLOAD_MANAGER _("IDS_BR_OPT_DOWNLOAD_MANAGER") -#define BR_STRING_BRIGHTNESS dgettext("sys_string", "IDS_COM_OPT_BRIGHTNESS") -#define BR_STRING_FIND_WORD _("IDS_BR_BODY_FIND_WORD") -#define BR_STRING_SETTINGS _("IDS_BR_BODY_SETTINGS") -#define BR_STRING_UNLOCK _("IDS_BR_OPT_UNLOCK") -#define BR_STRING_LOCK _("IDS_BR_OPT_LOCK") -#define BR_STRING_MODIFY _("IDS_BR_BODY_MODIFY") -#define BR_STRING_SAVED _("IDS_BR_POP_SAVED") -#define BR_STRING_ADD_TO_MOST_VISITED_SITES "Add to Most visited sites" -#define BR_STRING_MY_SITES_GUIDE_TEXT "You can add, delete, pin or unpin each item of \"My sites\" by doing a long press.
You can also reorder items of \"My sites\" by drag and drop." -#define BR_STRING_MY_SITES_NEVER_SHOW_TEXT "Never show this again." -#define BR_STRING_WARNING_VIDEO_PLAYER "Can not launch video-player while video-call is running." -#define BR_STRING_TITLE_SELECT_AN_ACTION _("Select an action") -#define BR_STRING_NETWORK_ERROR _("IDS_BR_POP_NETWORK_ERROR") -#define BR_STRING_SHARE dgettext("sys_string", "IDS_COM_BUTTON_SHARE") -#define BR_STRING_NO_SEARCH_RESULT "No search result" -#define BR_STRING_NO_URL_TO_POST _("There is no URL to post") -#define BR_STRING_REQUEST_LOCATION " is requesting your current location." -#define BR_STRING_ALLOW _("IDS_BR_OPT_ALLOW") -#define BR_STRING_REFUSE _("IDS_BR_POP_REFUSE") -#define BR_STRING_ADD_RSS_FEED _("IDS_BR_OPT_ADD_RSS_FEED") -#define BR_STRING_FORWARD _("IDS_BR_OPT_NAVIGATE_GO_FORWARD") -#define BR_STRING_ADD_TO_HOME _("IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB") - -/* browser settings string */ -#define BR_STRING_HOMEPAGE _("IDS_BR_BODY_HOMEPAGE") -#define BR_STRING_INTERNET dgettext("sys_string", "IDS_COM_BODY_INTERNET") -#define BR_STRING_DISPLAY _("IDS_BR_OPT_DISPLAY") -#define BR_STRING_DEFAULT_VIEW_LEVEL _("IDS_BR_BODY_DEFAULT_VIEW") -#define BR_STRING_READABLE _("IDS_BR_BODY_READABLE") -#define BR_STRING_FIT_TO_WIDTH _("IDS_BR_BODY_FIT_TO_WIDTH") -#define BR_STRING_CONTENT _("IDS_BR_MBODY_PAGE_CONTENT_SETTINGS") -#define BR_STRING_RUN_JAVASCRIPT _("IDS_BR_BODY_RUN_JAVASCRIPT") -#define BR_STRING_DISPLAY_IMAGES _("IDS_BR_BODY_DISPLAY_IMAGES") -#define BR_STRING_BLOCK_POPUP _("IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS") -#define BR_STRING_PRIVACY _("IDS_BR_BODY_PRIVACY") -#define BR_STRING_ACCEPT_COOKIES _("IDS_BR_BODY_COOKIES") -#define BR_STRING_AUTO_SAVE_ID_PASSWORD _("IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD") -#define BR_STRING_ALWAYS_ASK _("IDS_BR_BODY_ALWAYS_ASK") -#define BR_STRING_ON dgettext("sys_string", "IDS_COM_BODY_ON") -#define BR_STRING_OFF dgettext("sys_string", "IDS_COM_BODY_OFF") -#define BR_STRING_CLEAR_PRIVATE_DATA _("IDS_BR_BODY_DELETE_BROWSING_DATA") -#define BR_STRING_CACHE _("IDS_BR_BODY_CLEAR_CACHE") -#define BR_STRING_COOKIE _("IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA") -#define BR_STRING_SAVED_ID_PASSWORD _("IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD") -#define BR_STRING_ITEMS_SELECTED _("IDS_BR_POP_PD_ITEMS_SELECTED") -#define BR_STRING_ONE_ITEM_SELECTED _("IDS_BR_POP_1_ITEM_SELECTED") -#define BR_STRING_DEBUG _("IDS_BR_BODY_DEVELOPER_MODE") -#define BR_STRING_USER_AGENT _("IDS_BR_HEADER_USER_AGENT") - -#define BR_STRING_STORAGE _("IDS_BR_HEADER_LOCAL_STORAGE") -#define BR_STRING_DEFAULT_STORAGE _("IDS_BR_BODY_DEFAULT_STORAGE") -#define BR_STRING_PHONE _("IDS_BR_BODY_PHONE") -#define BR_STRING_MEMORY_CARD _("IDS_BR_BODY_MEMORY_CARD") -#define BR_STRING_READER _("IDS_BR_BODY_TEXT_READER") -#define BR_STRING_RUN_READER "Run Reader" -#define BR_STRING_FONT_SIZE _("IDS_BR_BODY_FONT_SIZE") -#define BR_STRING_ABOUT_BROWSER _("IDS_BR_BODY_ABOUT_BROWSER") -#define BR_STRING_PLUGINS _("IDS_BR_BODY_PLUG_IN") -#define BR_STRING_ENABLE_PLUGINS _("IDS_BR_BODY_ENABLE_PLUG_INS") -#define BR_STRING_RUN_FLASH _("IDS_BR_BODY_RUN_FLASH") -#define BR_STRING_PAUSE_FLASH_AT_PANNING _("Pause flash at panning") -#define BR_STRING_RESET_TO_DEFAULT "Reset to default" - -/* waring message */ -#define BR_STRING_MSG_BOUNDARY_LACK_OF_SPACE_TO_SAVE_HTML _("Not enough space to save a html file") -#define BR_STRING_AUTH_REQUIRED _("IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED") -#define BR_STRING_USER_NAME _("IDS_BR_BODY_AUTHUSERNAME") -#define BR_STRING_PASSWORD _("IDS_BR_BODY_AUTHPASSWORD") - -#define BR_STRING_DISPLAY_POPUP_Q _("This site is attempting to open pop-up window. Show pop-up?") -#define BR_STRING_PERMISSION_CHECK "Permission check" -#define BR_STRING_WEB_NOTIFICATION_Q _("Do you want to receive web notification?") + +/* System string */ +/*************************************************************************************************************/ +#define BR_STRING_OK dgettext("sys_string", "IDS_COM_SK_OK") +#define BR_STRING_EDIT dgettext("sys_string", "IDS_COM_SK_EDIT") +#define BR_STRING_YES dgettext("sys_string", "IDS_COM_SK_YES") +#define BR_STRING_NO dgettext("sys_string", "IDS_COM_SK_NO") +#define BR_STRING_BACK dgettext("sys_string", "IDS_COM_BODY_BACK") +#define BR_STRING_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL") +#define BR_STRING_SAVE dgettext("sys_string", "IDS_COM_SK_SAVE") +#define BR_STRING_DONE dgettext("sys_string", "IDS_COM_SK_DONE") +#define BR_STRING_DELETE dgettext("sys_string", "IDS_COM_SK_DELETE") +#define BR_STRING_DELETE_Q dgettext("sys_string", "IDS_COM_POP_DELETE_Q") +#define BR_STRING_CLOSE dgettext("sys_string", "IDS_COM_POP_CLOSE") +#define BR_STRING_ON dgettext("sys_string", "IDS_COM_BODY_ON") +#define BR_STRING_OFF dgettext("sys_string", "IDS_COM_BODY_OFF") +#define BR_STRING_WARNING dgettext("sys_string", "IDS_COM_POP_WARNING") +#define BR_STRING_ERROR dgettext("sys_string", "IDS_COM_POP_ERROR") +#define BR_STRING_PROCESSING dgettext("sys_string", "IDS_COM_POP_PROCESSING") +#define BR_STRING_MESSAGES dgettext("sys_string", "IDS_COM_BODY_MESSAGES") +#define BR_STRING_EMAIL dgettext("sys_string", "IDS_COM_BODY_EMAIL") +#define BR_STRING_SHARE dgettext("sys_string", "IDS_COM_BUTTON_SHARE") +#define BR_STRING_BRIGHTNESS dgettext("sys_string", "IDS_COM_OPT_BRIGHTNESS") +#define BR_STRING_AUTOMATIC dgettext("sys_string", "IDS_COM_BODY_AUTOMATIC") +#define BR_STRING_INTERNET dgettext("sys_string", "IDS_COM_BODY_INTERNET") +#define BR_STRING_CALL dgettext("sys_string", "IDS_COM_BODY_CALL") +#define BR_STRING_NFC dgettext("sys_string", "IDS_COM_BODY_NFC") +#define BR_STRING_DEFAULT dgettext("sys_string", "IDS_COM_BODY_DEFAULT") +#define BR_STRING_LOW dgettext("sys_string", "IDS_COM_BODY_LOW") + +/* Need to fix */ +#define BR_STRING_WARNING_VIDEO_PLAYER _("Can not launch video-player while video-call is running.")//STMS common +/*************************************************************************************************************/ + + +/* Browser main view */ +/*************************************************************************************************************/ +#define BR_STRING_VIEW_CHANGE _("IDS_BR_SK3_CHANGE_VIEW") +#define BR_STRING_NEW_WINDOW _("IDS_BR_SK1_NEW_WINDOW") +#define BR_STRING_CREATE_FOLDER _("IDS_BR_SK3_CREATE_FOLDER") +#define BR_STRING_FOLDER _("IDS_BR_HEADER_FOLDER") +#define BR_STRING_HISTORY _("IDS_BR_TAB_HISTORY") +#define BR_STRING_LOADING _("IDS_BR_HEADER_LOADING_ING") +#define BR_STRING_ADD_TO_BOOKMARKS _("IDS_BR_SK3_ADD_TO_BOOKMARKS") +#define BR_STRING_EDIT_BOOKMARK _("IDS_BR_BODY_EDIT_BOOKMARK") +#define BR_STRING_TITLE _("IDS_BR_BODY_TITLE") +#define BR_STRING_URL _("IDS_BR_BODY_URL") +#define BR_STRING_SELECT_ALL _("IDS_BR_OPT_SELECT_ALL") +#define BR_STRING_SELECT_ITEMS _("IDS_BR_HEADER_SELECT_ITEMS") +#define BR_STRING_SELECT_HISTORIES _("Select histories")//STMS, new text +#define BR_STRING_NO_BOOKMARKS _("IDS_BR_BODY_NO_BOOKMARKS") +#define BR_STRING_NO_HISTORY _("IDS_BR_BODY_NO_HISTORIES") +#define BR_STRING_SHARE_VIA_MESSAGE _("IDS_BR_OPT_SHARE_VIA_MESSAGES") +#define BR_STRING_SHARE_VIA_EMAIL _("IDS_BR_OPT_SHARE_VIA_EMAIL") +#define BR_STRING_SHARE_VIA _("IDS_BR_OPT_SHARE_VIA") +#define BR_STRING_DOWNLOAD_MANAGER _("IDS_BR_OPT_DOWNLOAD_MANAGER") +#define BR_STRING_UNLOCK _("IDS_BR_OPT_UNLOCK") +#define BR_STRING_LOCK _("IDS_BR_OPT_LOCK") +#define BR_STRING_MODIFY _("IDS_BR_BODY_MODIFY") +#define BR_STRING_REQUEST_LOCATION _("IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION") +#define BR_STRING_ALLOW _("IDS_BR_OPT_ALLOW") +#define BR_STRING_FORWARD _("IDS_BR_OPT_NAVIGATE_GO_FORWARD")//Not use +#define BR_STRING_REMEMBER_PREFERENCE _("IDS_BR_BODY_REMEMBER_PREFERENCE") +#define BR_STRING_ITEMS_SELECTED _("IDS_BR_POP_PD_ITEMS_SELECTED") +#define BR_STRING_ONE_ITEM_SELECTED _("IDS_BR_POP_1_ITEM_SELECTED") +#define BR_STRING_EMPTY _("IDS_BR_BODY_EMPTY") +#define BR_STRING_URL_GUIDE_TEXT _("IDS_BR_BODY_SEARCH_OR_ENTER_URL") +#define BR_STRING_AUTO _("IDS_BR_BODY_AUTO") +#define BR_STRING_MANUAL _("IDS_BR_OPT_MANUAL") +/*************************************************************************************************************/ + + +/* More menu */ +/*************************************************************************************************************/ +#define BR_STRING_FIND_ON_PAGE _("IDS_BR_OPT_FIND_ON_PAGE") +//#define BR_STRING_WEB_CLIPPING _("IDS_BR_OPT_ADD_TO_WEB_CLIP") +//share menu +#define BR_STRING_BOOKMARKS _("IDS_BR_BODY_BOOKMARKS") +#define BR_STRING_BOOKMARK _("IDS_BR_OPT_BOOKMARK") +#define BR_STRING_SAVE_FOR_OFFLINE_READING _("Save for offline reading")//stms, new text +#define BR_STRING_PRIVATE _("Private")//STMS request design ID +//brightness +#define BR_STRING_HIGH _("IDS_BR_BODY_HIGH_MPRIORITY") +#define BR_STRING_MEDIUM _("IDS_BR_BODY_MEDIUM") +#define BR_STRING_SETTINGS _("IDS_BR_BODY_SETTINGS") +/*************************************************************************************************************/ + + +/* Settings */ +/*************************************************************************************************************/ +#define BR_STRING_HOMEPAGE _("IDS_BR_BODY_HOMEPAGE") +#if defined(FEATURE_MOST_VISITED_SITES) +#define BR_STRING_MOST_VISITED_SITES _("IDS_BR_BODY_MOST_VISITED_SITES") +#endif +#define BR_STRING_BLANK_PAGE _("IDS_BR_BODY_BLANK_PAGE") +#define BR_STRING_RECENTLY_VISITED_SITE _("IDS_BR_HEADER_RECENTLY_VISITED_PAGES") +#define BR_STRING_CURRENT_PAGE _("IDS_BR_BODY_CURRENT_PAGE") +#define BR_STRING_USER_HOMEPAGE _("User homepage")//stms, new text +#define BR_STRING_CONTENT_SETTINGS _("IDS_BR_MBODY_PAGE_CONTENT_SETTINGS") +#define BR_STRING_DEFAULT_VIEW_LEVEL _("Default view level")//stms, new text +#define BR_STRING_FIT_TO_WIDTH _("IDS_BR_BODY_FIT_TO_WIDTH") +#define BR_STRING_READABLE _("IDS_BR_BODY_READABLE") +#define BR_STRING_RUN_JAVASCRIPT _("IDS_BR_BODY_RUN_JAVASCRIPT") +#define BR_STRING_SHOW_IMAGES _("IDS_BR_BODY_SHOW_IMAGES") +#define BR_STRING_ALWAYS_ON _("IDS_BR_BODY_ALWAYS_ON") +#define BR_STRING_CLICK_TO_PLAY _("Click to play")//stms, new text +#define BR_STRING_BLOCK_POPUP _("Block popup")//stms, new text +#define BR_STRING_PRIVACY_AND_SECURTY _("Privacy & Security")//stms, new text +#define BR_STRING_CLEAR_CACHE _("IDS_BR_BODY_CLEAR_CACHE") +#define BR_STRING_CLEAR_ALL_CACHE_DATA_Q _("Clear all cache data?")//stms, new text +//#define BR_STRING_CLEAR_ALL_CACHE_DATA_Q _("IDS_BR_POP_CLEAR_CACHE_Q?") +#define BR_STRING_CLEAR_HISTORY _("IDS_BR_BODY_CLEAR_HISTORY") +#define BR_STRING_CLEAR_ALL_HISTORY_DATA_Q _("Clear all history?")//Need to request new text in STMS +//#define BR_STRING_CLEAR_ALL_HISTORY_DATA_Q _("IDS_BR_POP_HISTORYREMOVEALLHISTORY") +#define BR_STRING_SHOW_SECURITY_WARNINGS _("IDS_BR_BODY_SHOW_SECURITY_WARNINGS") +#define BR_STRING_COOKIES _("IDS_BR_BODY_COOKIES") +#define BR_STRING_ACCEPT_COOKIES _("IDS_BR_BODY_ACCEPT_COOKIES") +#define BR_STRING_CLEAR_ALL_COOKIE_DATA _("IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA") +#define BR_STRING_CLEAR_ALL_COOKIE_DATA_Q _("Clear all cookie data?") +//#define BR_STRING_CLEAR_ALL_COOKIE_DATA_Q _("IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q") +#define BR_STRING_FROM_DATA _("From data")//stms, new text +#define BR_STRING_REMEMBER_FROM_DATA _("IDS_BR_BODY_REMEMBER_FORM_DATA") +#define BR_STRING_CLEAR_FROM_DATA _("Clear from data")//stms, new text +#define BR_STRING_CLEAR_ALL_FROM_DATA_Q _("Clear all from data?")//stms, new text +#define BR_STRING_LOCATION _("Location")//stms, new text +#define BR_STRING_ENABLE_LOCATION _("IDS_BR_BODY_ENABLE_LOCATION") +#define BR_STRING_CLEAR_LOCATION_ACCESS _("IDS_BR_BODY_CLEAR_LOCATION_ACCESS") +#define BR_STRING_CLEAR_ALL_LOCATION_DATA_Q _("Clear all location data?")//stms, new text +#define BR_STRING_FORMDATA _("Form data") +#define BR_STRING_REMEMBER_FORMDATA _("Remember form data") +#define BR_STRING_CLEAR_FORMDATA _("Clear form data") +#define BR_STRING_CLEAR_ALL_FORMDATA_Q _("Clear all form data?") +#define BR_STRING_PASSWORDS _("Passwords")//stms, new text +#define BR_STRING_REMEMBER_PASSWORDS _("IDS_BR_BODY_REMEMBER_PASSWORDS") +#define BR_STRING_CLEAR_PASSWORDS _("IDS_BR_BODY_CLEAR_PASSWORDS") +#define BR_STRING_CLEAR_ALL_SAVED_PASSWORDS_Q _("IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q") +#define BR_STRING_SEARCH _("IDS_BR_BODY_SEARCH") +#define BR_STRING_WEBSITE_SETTINGS _("IDS_BR_BODY_WEBSITE_SETTINGS")//stms, new text +#define BR_STRING_MULTI_WINDOW_PREVIEW _("Multi window preview")//stms, new text +#define BR_STRING_RESET_TO_DEFAULT _("IDS_BR_BODY_RESET_TO_DEFAULT") +#define BR_STRING_RESET_TO_DEFAULT_Q _("Reset all settings to default?")//stms, new text +#define BR_STRING_RESET_ALL_SETTINGS_TO_DEFAULT_Q _("IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q") +#define BR_STRING_DEVELOPER_MODE _("IDS_BR_BODY_DEVELOPER_MODE") +#define BR_STRING_USER_AGENT _("IDS_BR_HEADER_USER_AGENT") +#define BR_STRING_ABOUT_BROWSER _("IDS_BR_BODY_ABOUT_BROWSER") +#define BR_STRING_RUN_FLASH _("IDS_BR_BODY_RUN_FLASH") +#define BR_STRING_PAUSE_FLASH_AT_PANNING _("Pause flash at panning")//Need to request new text in STMS +#define BR_STRING_NAVIGATION_HISTORY_WILL_BE_CLEARED _("IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED") +#define BR_STRING_ALWAYS_ASK _("IDS_BR_BODY_ALWAYS_ASK") +#define BR_STRING_DELETE_BROWSING_DATA _("IDS_BR_BODY_DELETE_BROWSING_DATA") +#define BR_STRING_SAVED_ID_PASSWORD _("IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD") +#define BR_STRING_CLEAR_STORED_DATA _("Clear stored data") +#define BR_STRING_CLEAR_LOCATION_ACCESS_FOR_THIS_WEBSITE _("Clear location access for this website?") +#define BR_STRING_DELETE_ALL_STORED_DATA_BY_THIS_WEBSITE _("Delete all data stored by this website?") +#define BR_STRING_DELETE_ALL_WEBSITE_DATA_AND_LOCATION_PERMISSIONS _("Delete all website data and location permissions?") +#define BR_STRING_DELETE_ALL _("Delete all") +/*************************************************************************************************************/ + + +/* Popup, inform and warnings */ +/*************************************************************************************************************/ +#define BR_STRING_DELETED _("IDS_BR_POP_DELETED") +#define BR_STRING_ENTER_URL _("IDS_BR_POP_ENTER_URL") +#define BR_STRING_ALREADY_EXISTS _("IDS_BR_POP_ALREADY_EXISTS") +#define BR_STRING_FAILED _("IDS_BR_POP_FAIL") +#define BR_STRING_SAVED _("IDS_BR_POP_SAVED") +#define BR_STRING_ENTER_TITLE _("IDS_BR_BODY_ENTER_TITLE") +#define BR_STRING_ENTER_FOLDER_NAME _("IDS_BR_BODY_ENTER_FOLDER_NAME") +#define BR_STRING_ENTER_BOOKMARK_NAME _("IDS_BR_POP_ENTER_BOOKMARK_NAME") +#define BR_STRING_NETWORK_ERROR _("IDS_BR_POP_NETWORK_ERROR") +#define BR_STRING_DO_NOT_ASK_AGAIN _("IDS_BR_OPT_DO_NOT_ASK_AGAIN") +#define BR_STRING_NOT_FOUND_URL _("IDS_BR_POP_URL_NOT_FOUND") +#define BR_STRING_REFUSE _("IDS_BR_POP_REFUSE") +#define BR_STRING_AUTH_REQUIRED _("IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED") +#define BR_STRING_USER_NAME _("IDS_BR_BODY_AUTHUSERNAME") +#define BR_STRING_PASSWORD _("IDS_BR_BODY_AUTHPASSWORD") + +#define BR_STRING_NO_SEARCH_RESULT _("No search result")//STMS request design ID + +#define BR_STRING_DISPLAY_POPUP_Q _("This site is attempting to open pop-up window. Show pop-up?") +#define BR_STRING_PERMISSION_CHECK _("Permission check") +#define BR_STRING_WEB_NOTIFICATION_Q _("Do you want to receive web notification?") +#define BR_STRING_WEBPROCESS_CRASH _("WebProcess is crashed") + +#define BR_STRING_MSG_MDM_POLICY _("Security policy restricts use of Internet browser") +#define BR_STRING_TITLE_SELECT_AN_ACTION _("Select an action")//STMS, new text +#define BR_STRING_WARNING_OVER_BOOKMARK_LIMIT _("IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED") +#define BR_STRING_MOST_VISITED_GUIDE_TEXT _("Offer 3 thumbnails of most visited sites to let you access to each site easily")//stms, new text +#define BR_STRING_ADD_TO_MOST_VISITED_SITES _("Add to Most visited sites")//STMS, new text +#define BR_STRING_MY_SITES_GUIDE_TEXT _("You can add, delete, pin or unpin each item of \"My sites\" by doing a long press.
You can also reorder items of \"My sites\" by drag and drop.")//STMS, +#define BR_STRING_ADDED_TO_BOOKMARKS _("Added to bookmarks")//_("IDS_BR_POP_ADDED_TO_BOOKMARKS") +#define BR_STRING_REMOVED_TO_BOOKMARKS _("Removed from bookmarks")//_("IDS_BR_POP_REMOVED_FROM_BOOKMARKS") +// new text +#define BR_STRING_MSG_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q _("IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q") +/*************************************************************************************************************/ + + +/* Others */ +/*************************************************************************************************************/ +#define BR_STRING_HOUR _("hour")//IDS_COM_BODY_1_HOUR +#define BR_STRING_HOURS _("hours")//IDS_COM_POP_PD_HOURS +#define BR_STRING_NEVER_AUTO_UPDATE _("Never auto update") +/*************************************************************************************************************/ + /* browser context menu */ -#define BR_STRING_CTXMENU_OPEN_LINK_IN_NEW_WINDOW _("IDS_BR_BODY_OPEN_IN_NEW_WINDOW")//"Open link in new window" -#define BR_STRING_CTXMENU_DOWNLOAD_LINKED_FILE _("IDS_BR_BODY_DOWNLOAD")//"Download linked file" -#define BR_STRING_CTXMENU_COPY_LINK_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy link location" -#define BR_STRING_CTXMENU_OPEN_IMAGE_IN_NEW_WINDOW _("IDS_BR_BODY_VIEW_IMAGE")//"Open image in new window" -#define BR_STRING_CTXMENU_OPEN_MEDIA_IN_NEW_WINDOW _("IDS_BR_BODY_PLAY")//"Open media in new window" -#define BR_STRING_CTXMENU_COPY_IMAGE_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy image location" +#define BR_STRING_CTXMENU_OPEN_LINK_IN_NEW_WINDOW _("IDS_BR_BODY_OPEN_IN_NEW_WINDOW") +#define BR_STRING_CTXMENU_DOWNLOAD_LINKED_FILE _("IDS_BR_BODY_DOWNLOAD") +#define BR_STRING_CTXMENU_COPY_LINK_LOCATION _("IDS_BR_OPT_COPY_LINK_URL") +#define BR_STRING_CTXMENU_OPEN_IMAGE_IN_NEW_WINDOW _("IDS_BR_BODY_VIEW_IMAGE") +#define BR_STRING_CTXMENU_OPEN_MEDIA_IN_NEW_WINDOW _("IDS_BR_BODY_PLAY") +#define BR_STRING_CTXMENU_COPY_IMAGE_LOCATION _("IDS_BR_BODY_COPY_URL") #define BR_STRING_CTXMENU_SAVE_IMAGE_AS _("Save image as") #define BR_STRING_CTXMENU_COPY_IMAGE _("IDS_BR_OPT_COPY_IMAGE") #define BR_STRING_CTXMENU_SAVE_IMAGE _("IDS_BR_OPT_SAVE_IMAGE") #define BR_STRING_CTXMENU_COPY_MEDIA dgettext("sys_string", "IDS_COM_BODY_COPY") -#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_EMAIL _("IDS_BR_OPT_SEND_VIA_EMAIL")//"Send image via email" -#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_MESSAGE _("IDS_BR_OPT_SEND_VIA_MESSAGE")//"Send image via message" -#define BR_STRING_CTXMENU_OPEN_VIDEO_IN_NEW_WINDOW _("Open video in new window") -#define BR_STRING_CTXMENU_OPEN_AUDIO_IN_NEW_WINDOW _("Open audio in new window") +#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_EMAIL _("IDS_BR_OPT_SEND_VIA_EMAIL") +#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_MESSAGE _("IDS_BR_OPT_SEND_VIA_MESSAGE") +#define BR_STRING_CTXMENU_OPEN_VIDEO_IN_NEW_WINDOW _("Open video in new window")//stms, new text +#define BR_STRING_CTXMENU_OPEN_AUDIO_IN_NEW_WINDOW _("Open audio in new window")//stms, new text #define BR_STRING_CTXMENU_COPY_VIDEO_LINK_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy video link location" #define BR_STRING_CTXMENU_COPY_AUDIO_LINK_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy audio link location" #define BR_STRING_CTXMENU_TOGGLE_MEDIA_CONTOLS _("Toggle media controls") @@ -190,8 +263,9 @@ #define BR_STRING_CTXMENU_GO_FORWARD _("IDS_BR_OPT_NAVIGATE_GO_FORWARD") #define BR_STRING_CTXMENU_STOP _("IDS_BR_OPT_STOP") #define BR_STRING_CTXMENU_RELOAD _("IDS_BR_OPT_RELOAD") -#define BR_STRING_CTXMENU_CUT _("Cut") +#define BR_STRING_CTXMENU_CUT dgettext("sys_string", "IDS_COM_BODY_CUT") #define BR_STRING_CTXMENU_PASTE _("IDS_BR_OPT_PASTE") +#define BR_STRING_CTXMENU_SELECT_WORD _("IDS_BR_BODY_SELECT_WORD") #define BR_STRING_CTXMENU_NO_GUESS_FOUND _("No guesses found") #define BR_STRING_CTXMENU_IGNORE_SPELLING _("Ignore spelling") #define BR_STRING_CTXMENU_LEARN_SPELLING _("Learn spelling") @@ -221,6 +295,7 @@ #define BR_STRING_CTXMENU_SPEECH _("Speech") #define BR_STRING_CTXMENU_START_SPEAKING _("Start speaking") #define BR_STRING_CTXMENU_STOP_SPEAKING _("Stop speaking") +#define BR_STRING_CTXMENU_TEXT_SELECTION_MODE _("Text selection mode") +#define BR_STRING_CTXMENU_SHARE_IMAGE _("Share image") #endif /* BROWSER_STRING_H */ - diff --git a/src/most-visited-sites/add-to-most-visited-sites-view.cpp b/src/most-visited-sites/add-to-most-visited-sites-view.cpp new file mode 100644 index 00000000..946f8935 --- /dev/null +++ b/src/most-visited-sites/add-to-most-visited-sites-view.cpp @@ -0,0 +1,422 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "add-to-most-visited-sites-view.h" +#include "browser-data-manager.h" + +Add_To_Most_Visited_Sites_View::Add_To_Most_Visited_Sites_View(Most_Visited_Sites *most_visited_sites) +: m_conformant(NULL) + ,m_content_box(NULL) + ,m_url_edit_field(NULL) + ,m_history_genlist(NULL) + ,m_cancel_button(NULL) + ,m_save_button(NULL) + ,m_most_visited_sites(most_visited_sites) +{ + BROWSER_LOGD("[%s]", __func__); +} + +Add_To_Most_Visited_Sites_View::~Add_To_Most_Visited_Sites_View(void) +{ + BROWSER_LOGD("[%s]", __func__); + + for(int i = 0 ; i < m_history_list.size() ; i++ ) { + if (m_history_list[i]) + delete m_history_list[i]; + } + + for(int i = 0 ; i < m_history_date_label_list.size() ; i++ ) { + if (m_history_date_label_list[i]) + delete m_history_date_label_list[i]; + } + m_history_date_label_list.clear(); +} + +Eina_Bool Add_To_Most_Visited_Sites_View::init(void) +{ + BROWSER_LOGD("[%s]", __func__); + return _create_main_layout(); +} + +Evas_Object *Add_To_Most_Visited_Sites_View::__genlist_icon_get_cb(void *data, Evas_Object *obj, + const char *part) +{ + if (!data || !part) + return NULL; + + Browser_History_DB::history_item *item = (Browser_History_DB::history_item *)data; + + if (!strncmp(part, "elm.icon", strlen("elm.icon"))) { + Evas_Object *default_favicon = elm_icon_add(obj); + if (!default_favicon) { + BROWSER_LOGE("elm_icon_add is failed"); + return NULL; + } + elm_icon_file_set(default_favicon, BROWSER_IMAGE_DIR"/faviconDefault.png", NULL); + evas_object_size_hint_aspect_set(default_favicon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + return default_favicon; + } +} + +char *Add_To_Most_Visited_Sites_View::__genlist_label_get_cb(void *data, Evas_Object *obj, + const char *part) +{ + if (!data) + return NULL; + + Browser_History_DB::history_item *item = (Browser_History_DB::history_item *)data; + if (!item) + return NULL; + + char *mark_up = NULL; + + BROWSER_LOGD("item->title.c_str()=[%s]", item->title.c_str()); + if (!strncmp(part, "elm.text.1", strlen("elm.text.1")) + || !strncmp(part, "elm.base.text", strlen("elm.base.text")) + || !strncmp(part, "elm.slide.text.1", strlen("elm.slide.text.1"))) + { + mark_up = elm_entry_utf8_to_markup(item->title.c_str()); + return mark_up; + } else if (!strncmp(part, "elm.text.2", strlen("elm.text.2")) + || !strncmp(part, "elm.slide.text.2", strlen("elm.slide.text.2"))) { + mark_up = elm_entry_utf8_to_markup(item->url.c_str()); + return mark_up; + } + + return NULL; +} + +char *Add_To_Most_Visited_Sites_View::__genlist_date_label_get_cb(void *data, Evas_Object *obj, + const char *part) +{ + if (!data) + return NULL; + + char *date_label = (char *)data; + if (!strncmp(part, "elm.text", strlen("elm.text"))) { + Date date; + char buffer[BROWSER_MAX_DATE_LEN] = {0, }; + + sscanf(date_label, "%d-%d-%d", + &date.year, &date.month, &date.day); + BROWSER_LOGD("%d %d %d\n", date.day, date.month, date.year); + time_t raw_time; + struct tm *time_info; + time(&raw_time); + time_info = localtime(&raw_time); + int day_gap = -1; + BROWSER_LOGD("\ncurrent time : %d %d %d\n", time_info->tm_mday, (time_info->tm_mon+1), + (time_info->tm_year+1900)); + if (time_info->tm_year == date.year -1900 && time_info->tm_mon == date.month - 1) + day_gap = time_info->tm_mday - date.day; + else { + time_info->tm_year = date.year - 1900; + time_info->tm_mon = date.month - 1; + } + time_info->tm_mday = date.day; + mktime(time_info); + + if (day_gap == 0) + strftime(buffer, BROWSER_MAX_DATE_LEN, "Today - %a, %b %d, %Y", time_info); + else if (day_gap == 1) + strftime(buffer, 40, "Yesterday - %a, %b %d, %Y", time_info); + else + strftime(buffer, 40, "%a, %b %d, %Y", time_info); + return strdup(buffer); + } + return NULL; +} + +void Add_To_Most_Visited_Sites_View::__history_item_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Add_To_Most_Visited_Sites_View *add_to_most_visited_sites_view = NULL; + add_to_most_visited_sites_view = (Add_To_Most_Visited_Sites_View *)data; + + Elm_Object_Item *seleted_item = elm_genlist_selected_item_get(obj); + Elm_Object_Item *index_item = elm_genlist_first_item_get(obj); + int index = 0; + + /* calculate the index of the selected item */ + while (index_item != seleted_item) { + /* Do not count date label item */ + if (elm_genlist_item_select_mode_get(index_item) != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) + index++; + + index_item = elm_genlist_item_next_get(index_item); + } + + Evas_Object *entry = br_elm_editfield_entry_get(add_to_most_visited_sites_view->m_url_edit_field); + char *mark_up = elm_entry_utf8_to_markup(add_to_most_visited_sites_view->m_history_list[index]->url.c_str()); + if (mark_up) { + elm_entry_entry_set(entry, mark_up); + free(mark_up); + } +} + +Evas_Object *Add_To_Most_Visited_Sites_View::_create_history_genlist(void) +{ + BROWSER_LOGD("[%s]", __func__); + Evas_Object *genlist = elm_genlist_add(m_conformant); + if (!genlist) { + BROWSER_LOGE("elm_genlist_add failed"); + return NULL; + } + evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); + + memset(&m_history_genlist_item_class, 0x00, sizeof(Elm_Genlist_Item_Class)); + m_history_genlist_item_class.item_style = "2text.1icon.4"; + m_history_genlist_item_class.func.text_get = __genlist_label_get_cb; + m_history_genlist_item_class.func.content_get = __genlist_icon_get_cb; + m_history_genlist_item_class.func.state_get = NULL; + m_history_genlist_item_class.func.del = NULL; + + memset(&m_history_group_title_class, 0x00, sizeof(Elm_Genlist_Item_Class)); + m_history_group_title_class.item_style = "grouptitle"; + m_history_group_title_class.func.text_get = __genlist_date_label_get_cb; + m_history_group_title_class.func.content_get = NULL; + m_history_group_title_class.func.state_get = NULL; + m_history_group_title_class.func.del = NULL; + + m_history_list.clear(); + m_history_date_label_list.clear(); + + Eina_Bool ret = m_data_manager->get_history_db()->get_history_list(m_history_list); + if (!ret) { + BROWSER_LOGE("get_history_list failed"); + return NULL; + } + + unsigned int history_count = m_history_list.size(); + + Date date; + Elm_Object_Item *it = NULL; + for(int i = 0 ; i < history_count; i++) { + sscanf(m_history_list[i]->date.c_str(), "%d-%d-%d", &date.year, &date.month, &date.day); + m_history_list[i]->user_data = (void *)this; + if (m_last_date != date) { + m_last_date = date; + char *labe_item = strdup(m_history_list[i]->date.c_str()); + m_history_date_label_list.push_back(labe_item); + it = elm_genlist_item_append(genlist, &m_history_group_title_class, + labe_item, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); + + elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + } + elm_genlist_item_append(genlist, &m_history_genlist_item_class, + m_history_list[i], it, ELM_GENLIST_ITEM_NONE, + __history_item_clicked_cb, this); + } + + return genlist; +} + +void Add_To_Most_Visited_Sites_View::__cancel_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Add_To_Most_Visited_Sites_View *add_to_most_visited_sites_view = NULL; + add_to_most_visited_sites_view = (Add_To_Most_Visited_Sites_View *)data; + + if (elm_naviframe_bottom_item_get(m_navi_bar) != elm_naviframe_top_item_get(m_navi_bar)) + elm_naviframe_item_pop(m_navi_bar); +} + +Eina_Bool Add_To_Most_Visited_Sites_View::_save_button_clicked(void) +{ + BROWSER_LOGD("[%s]", __func__); + Evas_Object *entry = br_elm_editfield_entry_get(m_url_edit_field); + char* url = _trim(elm_entry_markup_to_utf8(elm_entry_entry_get(entry))); + if (!url || !strlen(url)) { + show_msg_popup(BR_STRING_EMPTY); + return EINA_FALSE; + } + + std::string full_url = std::string(url); + + if (_has_url_sheme(url)) { + char *token = strstr(url, BROWSER_URL_SCHEME_CHECK); + if (token && strlen(token) == 3) { + /* If input url has only sheme such as 'http://', 'https://' */ + show_msg_popup(BR_STRING_EMPTY); + return EINA_FALSE; + } + } else + full_url = std::string(BROWSER_HTTP_SCHEME) + std::string(url); + + if (m_most_visited_sites->m_selected_item->url && strlen(m_most_visited_sites->m_selected_item->url)) { + if (!strcmp(full_url.c_str(), m_most_visited_sites->m_selected_item->url)) { + /* If the url is not changed in case of modify speed dial item. */ + if (elm_naviframe_bottom_item_get(m_navi_bar) + != elm_naviframe_top_item_get(m_navi_bar)) + elm_naviframe_item_pop(m_navi_bar); + return EINA_FALSE; + } + } + + std::string history_id; + history_id = m_most_visited_sites->m_most_visited_sites_db->get_history_id_by_url(full_url.c_str()); + + char *screen_shot_path = NULL; + if (history_id.empty()) + screen_shot_path = strdup("default_noscreenshot"); + else + screen_shot_path = strdup(history_id.c_str()); + + if (!screen_shot_path) { + BROWSER_LOGE("strdup failed"); + return EINA_FALSE; + } + + int index = 0; + Elm_Object_Item *it = elm_gengrid_first_item_get(m_most_visited_sites->m_gengrid); + do { + if (it == m_most_visited_sites->m_selected_item->item) + break; + index++; + } while (it = elm_gengrid_item_next_get(it)); + + if (!m_most_visited_sites->m_most_visited_sites_db->save_most_visited_sites_item(index, full_url.c_str(), + full_url.c_str(), screen_shot_path)) { + BROWSER_LOGE("save_most_visited_sites_item failed"); + return EINA_FALSE; + } + + free(screen_shot_path); + + if (!m_most_visited_sites->_reload_items()) { + BROWSER_LOGE("m_most_visited_sites->_reload_items failed"); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +void Add_To_Most_Visited_Sites_View::__save_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Add_To_Most_Visited_Sites_View *add_to_most_visited_sites_view = NULL; + add_to_most_visited_sites_view = (Add_To_Most_Visited_Sites_View *)data; + + if (!add_to_most_visited_sites_view->_save_button_clicked()) { + BROWSER_LOGE("_save_button_clicked failed"); + return; + } + + if (elm_naviframe_bottom_item_get(m_navi_bar) != elm_naviframe_top_item_get(m_navi_bar)) + elm_naviframe_item_pop(m_navi_bar); +} + +Eina_Bool Add_To_Most_Visited_Sites_View::_create_main_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + elm_win_conformant_set(m_win, EINA_TRUE); + + m_conformant = elm_conformant_add(m_navi_bar); + if (!m_conformant) { + BROWSER_LOGE("elm_conformant_add failed"); + return EINA_FALSE; + } + elm_object_style_set(m_conformant, "internal_layout"); + evas_object_size_hint_weight_set(m_conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_conformant, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(m_conformant); + + m_content_box = elm_box_add(m_conformant); + if (!m_content_box) { + BROWSER_LOGE("elm_box_add failed"); + return EINA_FALSE; + } + evas_object_size_hint_align_set(m_content_box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(m_content_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(m_content_box); + + elm_object_content_set(m_conformant, m_content_box); + + m_url_edit_field = br_elm_editfield_add(m_conformant, EINA_TRUE); + if (!m_url_edit_field) { + BROWSER_LOGE("elm_editfield_add failed"); + return EINA_FALSE; + } + evas_object_size_hint_align_set(m_url_edit_field, EVAS_HINT_FILL, EVAS_HINT_FILL); + br_elm_editfield_entry_single_line_set(m_url_edit_field, EINA_TRUE); + br_elm_editfield_label_set(m_url_edit_field, BR_STRING_URL); + evas_object_show(m_url_edit_field); + + Evas_Object *entry = br_elm_editfield_entry_get(m_url_edit_field); + elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL); + + if (m_most_visited_sites->m_selected_item->url && strlen(m_most_visited_sites->m_selected_item->url)) + /* If modify selected speed dial item. */ + elm_entry_entry_set(entry, m_most_visited_sites->m_selected_item->url); + else + /* If add empty speed dial item. */ + elm_entry_entry_set(entry, BROWSER_HTTP_SCHEME); + + /* To show ime. + * __set_focus_editfield_idler_cb is defined in browser_common_view class. */ + ecore_idler_add(__set_focus_editfield_idler_cb, m_url_edit_field); + + elm_box_pack_end(m_content_box, m_url_edit_field); + + m_history_genlist = _create_history_genlist(); + if (!m_history_genlist) { + BROWSER_LOGE("_create_history_genlist failed"); + return EINA_FALSE; + } + elm_box_pack_end(m_content_box, m_history_genlist); + evas_object_show(m_history_genlist); + + Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_ADD_TO_MOST_VISITED_SITES, + NULL, NULL, m_conformant, "browser_titlebar"); + elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_PREV_BTN, NULL); + + m_cancel_button = elm_button_add(m_conformant); + if (!m_cancel_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_style_set(m_cancel_button, "browser/title_button"); + elm_object_text_set(m_cancel_button, BR_STRING_CANCEL); + evas_object_show(m_cancel_button); + evas_object_smart_callback_add(m_cancel_button, "clicked", __cancel_button_clicked_cb, this); + elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_TITLE_LEFT_BTN, m_cancel_button); + + m_save_button = elm_button_add(m_conformant); + if (!m_save_button) { + BROWSER_LOGE("elm_button_add failed"); + return EINA_FALSE; + } + elm_object_style_set(m_save_button, "browser/title_button"); + elm_object_text_set(m_save_button, BR_STRING_SAVE); + evas_object_show(m_save_button); + evas_object_smart_callback_add(m_save_button, "clicked", __save_button_clicked_cb, this); + elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_TITLE_RIGHT_BTN, m_save_button); + + return EINA_TRUE; +} + diff --git a/src/most-visited-sites/add-to-most-visited-sites-view.h b/src/most-visited-sites/add-to-most-visited-sites-view.h new file mode 100644 index 00000000..27182d0c --- /dev/null +++ b/src/most-visited-sites/add-to-most-visited-sites-view.h @@ -0,0 +1,71 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef ADD_TO_MOST_VISITED_SITES_VIEW_H +#define ADD_TO_MOST_VISITED_SITES_VIEW_H + +#include "browser-common-view.h" +#include "browser-config.h" +#include "browser-history-db.h" +#include "browser-history-layout.h" +#include "most-visited-sites.h" + +class Add_To_Most_Visited_Sites_View : public Browser_Common_View { +public: + Add_To_Most_Visited_Sites_View(Most_Visited_Sites *most_visited_sites); + ~Add_To_Most_Visited_Sites_View(void); + + Eina_Bool init(void); +private: + Eina_Bool _create_main_layout(void); + Evas_Object *_create_history_genlist(void); + Eina_Bool _save_button_clicked(void); + + /* history genlist callback functions. */ + static char *__genlist_label_get_cb(void *data, Evas_Object *obj, + const char *part); + static char *__genlist_date_label_get_cb(void *data, Evas_Object *obj, + const char *part); + static Evas_Object *__genlist_icon_get_cb(void *data, Evas_Object *obj, + const char *part); + + /* Elementary event callback functions */ + static void __history_item_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __cancel_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __save_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + + Evas_Object *m_conformant; + Evas_Object *m_content_box; + Evas_Object *m_url_edit_field; + Evas_Object *m_history_genlist; + Evas_Object *m_cancel_button; + Evas_Object *m_save_button; + vector m_history_date_label_list; + vector m_history_list; + Date m_last_date; + + Elm_Genlist_Item_Class m_history_genlist_item_class; + Elm_Genlist_Item_Class m_history_group_title_class; + + Most_Visited_Sites *m_most_visited_sites; +}; + +#endif /* BROWSER_ADD_TO_SPEED_DIAL_VIEW_H */ + diff --git a/src/most-visited-sites/most-visited-sites.cpp b/src/most-visited-sites/most-visited-sites.cpp new file mode 100644 index 00000000..da21b09b --- /dev/null +++ b/src/most-visited-sites/most-visited-sites.cpp @@ -0,0 +1,1126 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "browser-add-to-bookmark-view.h" +#include "add-to-most-visited-sites-view.h" +#include "browser-data-manager.h" +#include "most-visited-sites.h" +#include "most-visited-sites-db.h" +#include "browser-view.h" +#include "browser-common-view.h" + +#define MOST_VISITED_SITES_ITEM_WIDTH (226 * elm_scale_get()) +#define MOST_VISITED_SITES_ITEM_HEIGHT (273 * elm_scale_get()) + +Most_Visited_Sites::Most_Visited_Sites(Evas_Object *navi_bar, Browser_View *browser_view, + Most_Visited_Sites_DB *most_visited_sites_db) +: + m_navi_bar(navi_bar) + ,m_browser_view(browser_view) + ,m_gengrid(NULL) + ,m_most_visited_sites_db(most_visited_sites_db) + ,m_selected_item(NULL) + ,m_context_popup(NULL) + ,m_is_drag(EINA_FALSE) + ,m_guide_text_main_layout(NULL) + ,m_guide_text_label(NULL) + ,m_never_show_check_box(NULL) + ,m_never_show_text_label(NULL) + ,m_ok_button(NULL) + ,m_main_layout(NULL) + ,m_setting_button(NULL) + ,m_edit_mode(EINA_FALSE) + ,m_done_button(NULL) + ,m_is_item_clicked(EINA_FALSE) +// ,m_gengrid_item_class(NULL) +{ + BROWSER_LOGD("[%s]", __func__); + m_item_list.clear(); +} + +Most_Visited_Sites::~Most_Visited_Sites(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_main_layout) + evas_object_del(m_main_layout); + +// if (m_gengrid_item_class) +// elm_gengrid_item_class_free(m_gengrid_item_class); + + m_entry_list.clear(); + m_most_visited_list.clear(); + + for(int i = 0 ; i < m_item_list.size() ; i++) { + if (m_item_list[i]) { + if (m_item_list[i]->screen_shot) + evas_object_del(m_item_list[i]->screen_shot); + if (m_item_list[i]->layout) + evas_object_del(m_item_list[i]->layout); + if (m_item_list[i]->history_id) + free(m_item_list[i]->history_id); + if (m_item_list[i]->url) + free(m_item_list[i]->url); + if (m_item_list[i]->title) + free(m_item_list[i]->title); + delete m_item_list[i]; + } + } +} + + +Evas_Object *Most_Visited_Sites::__get_most_visited_sites_item_layout(most_visited_sites_item *item) +{ + if (!elm_layout_file_set(item->layout, BROWSER_EDJE_DIR"/most-visited-sites.edj", + "most_visited_sites_item")) { + BROWSER_LOGE("elm_layout_file_set failed"); + return NULL; + } + evas_object_size_hint_weight_set(item->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(item->layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + + item->screen_shot = elm_icon_add(item->layout); + if (!item->screen_shot) { + BROWSER_LOGE("elm_icon_add failed"); + return NULL; + } + + if (item->history_id) { + std::string screen_shot_file_path; + screen_shot_file_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + std::string(item->history_id); + if (!elm_icon_file_set(item->screen_shot, screen_shot_file_path.c_str(), NULL)) { + /* If no screen shot, set the no image default icon. */ + if (!item->tack) { + /* If the item is from history. */ + Elm_Object_Item *it = elm_gengrid_first_item_get(m_gengrid); + do { + most_visited_sites_item* p_item = (most_visited_sites_item*)elm_object_item_data_get(it); + if (p_item && p_item->tack) { + if (p_item->url && item->url && (strlen(p_item->url) == strlen(item->url)) + && !strncmp(p_item->url, item->url, strlen(p_item->url))) { + if (p_item->history_id) { + screen_shot_file_path.clear(); + screen_shot_file_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + std::string(p_item->history_id); + elm_icon_file_set(item->screen_shot, + screen_shot_file_path.c_str(), NULL); + } + break; + } + } + } while (it = elm_gengrid_item_next_get(it)); + } + } + if (item->url) { + elm_object_part_content_set(item->layout, "elm.swallow.snapshot", item->screen_shot); + //evas_object_smart_callback_add(item->screen_shot, "clicked", __item_clicked_cb, item); + } + } + else { + /* If empty slot. */ + if (!elm_layout_file_set(item->layout, BROWSER_EDJE_DIR"/most-visited-sites.edj", + "most_visited_sites_empty_item")) { + BROWSER_LOGE("elm_layout_file_set failed"); + return NULL; + } + evas_object_size_hint_weight_set(item->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(item->layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + //evas_object_smart_callback_add(item->screen_shot, "clicked", __empty_item_clicked_cb, item); + } + + if (item->url) { + if (item->title) { + edje_object_part_text_set(elm_layout_edje_get(item->layout), + "title_label", item->title); + edje_object_signal_emit(elm_layout_edje_get(item->layout), + "titlearea", ""); + } + if (m_most_visited_sites_db->is_in_bookmark(item->url, NULL)) + edje_object_signal_emit(elm_layout_edje_get(item->layout), "bookmark_icon,on,signal", ""); + if (item->tack) + edje_object_signal_emit(elm_layout_edje_get(item->layout), "tack_icon", ""); + else + edje_object_signal_emit(elm_layout_edje_get(item->layout), "hide,pin_icon", ""); + } + evas_object_show(item->screen_shot); + evas_object_show(item->layout); + + edje_object_signal_callback_add(elm_layout_edje_get(item->layout), "mouse,clicked,1", + "elm.image.delete_button", __delete_button_clicked_cb, item); + + edje_object_signal_callback_add(elm_layout_edje_get(item->layout), "mouse,clicked,1", + "bookmark_icon_bg", __bookmark_button_clicked_cb, item); + + if (m_edit_mode) + edje_object_signal_emit(elm_layout_edje_get(item->layout), "show,delete_button,signal", ""); + + return item->layout; +} + +void Most_Visited_Sites::__bookmark_button_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + BROWSER_LOGD("[%s]", __func__); + + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + + if (!most_visited_sites->m_edit_mode) + return; + + Browser_Bookmark_DB *bookmark_db = m_data_manager->create_bookmark_db(); + if (!bookmark_db) { + BROWSER_LOGE("create_bookmark_db failed"); + return; + } + + int bookmark_id = -1; + if (most_visited_sites->m_most_visited_sites_db->is_in_bookmark(item->url, &bookmark_id)) { + edje_object_signal_emit(elm_layout_edje_get(item->layout), "bookmark_icon,off,signal", ""); + if (bookmark_id != -1) + bookmark_db->delete_bookmark(bookmark_id); + most_visited_sites->m_browser_view->show_notify_popup(BR_STRING_REMOVED_TO_BOOKMARKS, 3, EINA_TRUE); + } else { + edje_object_signal_emit(elm_layout_edje_get(item->layout), "bookmark_icon,on,signal", ""); + if (item->title && item->url) + bookmark_db->save_bookmark(BROWSER_BOOKMARK_MAIN_FOLDER_ID, item->title, item->url); + most_visited_sites->m_browser_view->show_notify_popup(BR_STRING_ADDED_TO_BOOKMARKS, 3, EINA_TRUE); + } + + m_data_manager->destroy_bookmark_db(); +} + +void Most_Visited_Sites::__delete_button_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + BROWSER_LOGD("[%s]", __func__); + + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + + if (!most_visited_sites->_delete_selected_item()) + BROWSER_LOGE("_delete_selected_item failed"); +} + +Eina_Bool Most_Visited_Sites::_empty_item_clicked(most_visited_sites_item *item) +{ + BROWSER_LOGD("[%s]", __func__); + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + Browser_Data_Manager *data_manager = most_visited_sites->m_browser_view->get_data_manager(); + Add_To_Most_Visited_Sites_View* add_to_most_visited_sites = NULL; + + if (m_is_drag) + return EINA_FALSE; + + add_to_most_visited_sites = data_manager->create_add_to_most_visited_sites_view(most_visited_sites); + if (!add_to_most_visited_sites) { + BROWSER_LOGE("create_add_to_most_visited_sites_view failed"); + return EINA_FALSE; + } + if (!add_to_most_visited_sites->init()) { + BROWSER_LOGE("add_to_most_visited_sites->init failed"); + data_manager->destroy_add_to_most_visited_sites_view(); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +/*void Most_Visited_Sites::__empty_item_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + if (!most_visited_sites->_empty_item_clicked(item)) + BROWSER_LOGE("_empty_item_clicked failed"); +}*/ + +void Most_Visited_Sites::__item_press_cb(void *data, Evas *evas, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) + return; + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + edje_object_signal_emit(elm_layout_edje_get(item->layout), "tile_pressed", ""); + most_visited_sites->m_selected_item = item; +} + +void Most_Visited_Sites::__item_release_cb(void *data, Evas *evas, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) + return; + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + edje_object_signal_emit(elm_layout_edje_get(item->layout), "tile_released", ""); + + most_visited_sites->m_is_drag = EINA_FALSE; +} + +Eina_Bool Most_Visited_Sites::__load_url_idler_cb(void *data) +{ + BROWSER_LOGD("[%s]", __func__); + + if (!data) { + BROWSER_LOGE("data is NULL"); + return EINA_FALSE; + } + + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + + if (!item->url){ + BROWSER_LOGE("url in Most_Visited_Sites class is NULL"); + return EINA_FALSE; + } + + std::string selected_url = std::string(item->url); + BROWSER_LOGD("selected_url=[%s]", selected_url.c_str()); + most_visited_sites->m_browser_view->load_url(selected_url.c_str()); + + return ECORE_CALLBACK_CANCEL; +} + +void Most_Visited_Sites::__item_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + + if (most_visited_sites->m_is_item_clicked) { + BROWSER_LOGE("item is already clicked"); + return; + } + + if (!item->history_id || !item->url) { + BROWSER_LOGE("empty item"); + return; + } + + most_visited_sites->m_selected_item = item; + + if (most_visited_sites->m_edit_mode) { + BROWSER_LOGE("edit mode"); + return; + } + +#if 0 + if (!most_visited_sites->m_selected_item) { + BROWSER_LOGE("most_visited_sites->m_selected_item is null"); + return; + } +#endif + edje_object_signal_emit(elm_layout_edje_get(item->layout), "tile_released", ""); + + elm_gengrid_item_selected_set(most_visited_sites->m_selected_item->item, EINA_FALSE); + + if (!most_visited_sites->m_is_drag) { + if (item->history_id && item->url) { + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.id.clear(); + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.title.clear(); + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.url.clear(); + + if (item->history_id && strlen(item->history_id)) + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.id = std::string(item->history_id); + + int index = 0; + Elm_Object_Item *it = elm_gengrid_first_item_get(most_visited_sites->m_gengrid); + do { + if (it == most_visited_sites->m_selected_item->item) + break; + index++; + } while (it = elm_gengrid_item_next_get(it)); + + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.index = index; + if (item->title && strlen(item->title)) + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.title = std::string(item->title); + if (item->url && strlen(item->url)) + most_visited_sites->m_browser_view->m_selected_most_visited_sites_item_info.url = std::string(item->url); + + std::string selected_url = std::string(item->url); + /* m_browser_view->load_url should be called after accessing most_visited_sites instance. + It deletes the most_visited_sites instance. The most_visited_sites pointer is invalid after calling load_url(). */ + most_visited_sites->m_is_item_clicked = EINA_TRUE; + ecore_idler_add(__load_url_idler_cb, item); + } + } +} + +void Most_Visited_Sites::__context_popup_dismissed_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } +} + +void Most_Visited_Sites::__context_popup_unpin_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } + + int index = 0; + Elm_Object_Item *it = elm_gengrid_first_item_get(most_visited_sites->m_gengrid); + do { + if (it == most_visited_sites->m_selected_item->item) + break; + index++; + } while (it = elm_gengrid_item_next_get(it)); + + if (!most_visited_sites->m_most_visited_sites_db->delete_most_visited_sites_item(index)) { + BROWSER_LOGE("delete_most_visited_sites_item failed"); + return; + } + + edje_object_signal_emit(elm_layout_edje_get(most_visited_sites->m_selected_item->layout), + "hide,pin_icon", ""); + most_visited_sites->m_selected_item->tack = EINA_FALSE; + + std::string history_id; + history_id = most_visited_sites->m_most_visited_sites_db->get_history_id_by_url(most_visited_sites->m_selected_item->url); + BROWSER_LOGD("history id=[%s]", history_id.c_str()); + if (history_id.empty()) { + std::string screen_shot_path; + screen_shot_path.clear(); + screen_shot_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + std::string(most_visited_sites->m_selected_item->history_id); + remove(screen_shot_path.c_str()); + most_visited_sites->_reload_items(); + } +} + +void Most_Visited_Sites::__context_popup_pin_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } + + int index = 0; + Elm_Object_Item *it = elm_gengrid_first_item_get(most_visited_sites->m_gengrid); + do { + if (it == most_visited_sites->m_selected_item->item) + break; + index++; + } while (it = elm_gengrid_item_next_get(it)); + + if (!most_visited_sites->m_most_visited_sites_db->save_most_visited_sites_item(index, most_visited_sites->m_selected_item->url, + most_visited_sites->m_selected_item->title, + most_visited_sites->m_selected_item->history_id)) { + BROWSER_LOGE("save_most_visited_sites_item failed"); + return; + } + + most_visited_sites->m_selected_item->tack = EINA_TRUE; + edje_object_signal_emit(elm_layout_edje_get(most_visited_sites->m_selected_item->layout), + "tack_icon", ""); +} + +void Most_Visited_Sites::__context_popup_modify_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } + + Browser_Data_Manager *data_manager = most_visited_sites->m_browser_view->get_data_manager(); + Add_To_Most_Visited_Sites_View* add_to_most_visited_sites_view = NULL; + add_to_most_visited_sites_view = data_manager->create_add_to_most_visited_sites_view(most_visited_sites); + if (!add_to_most_visited_sites_view) { + BROWSER_LOGE("create_add_to_most_visited_sites_view failed"); + return; + } + if (!add_to_most_visited_sites_view->init()) { + BROWSER_LOGE("add_to_most_visited_sites_view->init failed"); + data_manager->destroy_add_to_most_visited_sites_view(); + return; + } +} + +Eina_Bool Most_Visited_Sites::_delete_selected_item(void) +{ + BROWSER_LOGD("[%s]", __func__); + + Eina_Bool is_ranked = EINA_FALSE; + + if (!m_selected_item || !m_selected_item->item) { + BROWSER_LOGD("m_selected_item || m_selected_item->item is NULL"); + return EINA_FALSE; + } + + if (m_selected_item->tack) { + int index = 0; + Elm_Object_Item *it = elm_gengrid_first_item_get(m_gengrid); + do { + if (it == m_selected_item->item) + break; + index++; + } while (it = elm_gengrid_item_next_get(it)); + + if (!m_most_visited_sites_db->delete_most_visited_sites_item(index)) { + BROWSER_LOGE("delete_most_visited_sites_item failed"); + return EINA_FALSE; + } + + std::string history_id; + history_id = m_most_visited_sites_db->get_history_id_by_url(m_selected_item->url); + if (!m_most_visited_sites_db->delete_most_visited_sites_history_item(atoi(m_selected_item->history_id))) { + BROWSER_LOGE("delete_most_visited_sites_history_item failed"); + return EINA_FALSE; + } + + is_ranked = EINA_TRUE; + } else { + if (!m_most_visited_sites_db->delete_most_visited_sites_history_item(atoi(m_selected_item->history_id))) { + BROWSER_LOGE("delete_most_visited_sites_history_item failed"); + return EINA_FALSE; + } + + is_ranked = EINA_TRUE; + + Elm_Object_Item *it = elm_gengrid_first_item_get(m_gengrid); + do { + most_visited_sites_item* p_item = (most_visited_sites_item *)elm_object_item_data_get(it); + if (p_item->tack) { // only search in tacked items. (mysites items) + if (m_selected_item->url && p_item->url && (strlen(m_selected_item->url) == strlen(p_item->url)) + && !strncmp(m_selected_item->url, p_item->url, strlen(p_item->url))) { + is_ranked = EINA_FALSE; + break; + } + } + } while (it = elm_gengrid_item_next_get(it)); + } + + if (is_ranked) { + BROWSER_LOGD("remove screen shot [%s]", m_selected_item->url); + std::string screen_shot_path; + screen_shot_path = std::string(BROWSER_SCREEN_SHOT_DIR) + + std::string(m_selected_item->history_id); + remove(screen_shot_path.c_str()); + } + + if (!_reload_items()) { + BROWSER_LOGE("_reload_items failed"); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +void Most_Visited_Sites::__context_popup_delete_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } + + if (!most_visited_sites->_delete_selected_item()) + BROWSER_LOGE("_delete_selected_item failed"); +} + +void Most_Visited_Sites::__context_popup_bookmark_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } + + Browser_Data_Manager *data_manager = most_visited_sites->m_browser_view->get_data_manager(); + std::string url = std::string(most_visited_sites->m_selected_item->url); + std::string title = std::string(most_visited_sites->m_selected_item->title); + + if (!data_manager->create_add_to_bookmark_view(title, url)) { + BROWSER_LOGE("create_add_to_bookmark_view failed"); + return; + } + + if (!data_manager->get_add_to_bookmark_view()->init()) + data_manager->destroy_add_to_bookmark_view(); +} + +Eina_Bool Most_Visited_Sites::_show_item_context_popup(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (!m_selected_item || !m_selected_item->item + || !m_selected_item->history_id) { + BROWSER_LOGE("Invalid item"); + return EINA_FALSE; + } + m_context_popup = elm_ctxpopup_add(m_gengrid); + if (!m_context_popup) { + BROWSER_LOGE("elm_ctxpopup_add failed"); + return EINA_FALSE; + } + evas_object_size_hint_weight_set(m_context_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_ctxpopup_hover_parent_set(m_context_popup, m_gengrid); + elm_ctxpopup_direction_priority_set(m_context_popup, ELM_CTXPOPUP_DIRECTION_LEFT, + ELM_CTXPOPUP_DIRECTION_RIGHT, ELM_CTXPOPUP_DIRECTION_UP, + ELM_CTXPOPUP_DIRECTION_DOWN); + + evas_object_smart_callback_add(m_context_popup,"dismissed", + __context_popup_dismissed_cb, this); + + if (m_selected_item->tack) + elm_ctxpopup_item_append(m_context_popup, BR_STRING_UNLOCK, NULL, + __context_popup_unpin_clicked_cb, this); + else + elm_ctxpopup_item_append(m_context_popup, BR_STRING_LOCK, NULL, + __context_popup_pin_clicked_cb, this); + + elm_ctxpopup_item_append(m_context_popup, BR_STRING_MODIFY, NULL, + __context_popup_modify_clicked_cb, this); + elm_ctxpopup_item_append(m_context_popup, BR_STRING_BOOKMARK, NULL, + __context_popup_bookmark_clicked_cb, this); + elm_ctxpopup_item_append(m_context_popup, BR_STRING_DELETE, NULL, + __context_popup_delete_clicked_cb, this); + + Evas_Coord item_x = 0; + Evas_Coord item_y = 0; + Evas_Coord item_w = 0; + Evas_Coord item_h = 0; + evas_object_geometry_get(m_selected_item->layout, &item_x, &item_y, &item_w, &item_h); + evas_object_move(m_context_popup, item_x + (item_w / 3), item_y + (item_h / 4)); + evas_object_show(m_context_popup); + + return EINA_TRUE; +} + +void Most_Visited_Sites::__item_longpressed_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Elm_Object_Item *it = (Elm_Object_Item *)event_info; + most_visited_sites_item *item = (most_visited_sites_item *)elm_object_item_data_get(it); + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + + most_visited_sites->m_is_drag = EINA_TRUE; + most_visited_sites->m_selected_item = item; + +#if 0 + edje_object_signal_emit(elm_layout_edje_get(most_visited_sites->m_selected_item->layout), "tile_released", ""); + + if (!most_visited_sites->_show_item_context_popup()) + BROWSER_LOGE("_show_item_context_popup failed"); +#endif +} + +void Most_Visited_Sites::__item_drag_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (!data) + return; + + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + static int count = 0; + count++; + /* Workaround. + * If user drags the item, destroy the context popup. + * Let's assume that if the 'changed' callback is called more than 15, + * the user may drag the item to reoder. */ + if (count > 15) { + if (most_visited_sites->m_context_popup) { + evas_object_del(most_visited_sites->m_context_popup); + most_visited_sites->m_context_popup = NULL; + } + count = 0; + } +} + +Eina_Bool Most_Visited_Sites::__gengrid_icon_get_idler_cb(void *data) +{ + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + if (!most_visited_sites->__get_most_visited_sites_item_layout(item)) + BROWSER_LOGE("__get_most_visited_sites_item_layout failed"); + + return ECORE_CALLBACK_CANCEL; +} + +Evas_Object *Most_Visited_Sites::__gengrid_icon_get_cb(void *data, Evas_Object *obj, const char *part) +{ + if (!data) + return NULL; + + most_visited_sites_item *item = (most_visited_sites_item *)data; + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)(item->data); + if (!strncmp(part, "elm.swallow.icon", strlen("elm.swallow.icon"))) { + item->layout = elm_layout_add(obj); + if (!item->layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + ecore_idler_add(__gengrid_icon_get_idler_cb, item); + return item->layout; + } + return NULL; +} + +Eina_Bool Most_Visited_Sites::_reload_items(void) +{ + BROWSER_LOGD("[%s]", __func__); + elm_gengrid_clear(m_gengrid); + m_entry_list.clear(); + m_most_visited_list.clear(); + + for(int i = 0 ; i < m_item_list.size() ; i++) { + if (m_item_list[i]) { + if (m_item_list[i]->screen_shot) + evas_object_del(m_item_list[i]->screen_shot); + if (m_item_list[i]->layout) + evas_object_del(m_item_list[i]->layout); + if (m_item_list[i]->history_id) + free(m_item_list[i]->history_id); + if (m_item_list[i]->url) + free(m_item_list[i]->url); + if (m_item_list[i]->title) + free(m_item_list[i]->title); + delete m_item_list[i]; + } + } + m_item_list.clear(); + + if (!m_most_visited_sites_db->get_most_visited_sites_list(m_entry_list)) { + BROWSER_LOGE("get_most_visited_sites_list failed"); + return EINA_FALSE; + } + + int item_count = BROWSER_MOST_VISITED_SITES_ITEM_MAX; + item_count = item_count - m_entry_list.size(); + if (!m_most_visited_sites_db->get_most_visited_list(m_most_visited_list, m_entry_list, item_count)) { + BROWSER_LOGE("get_most_visited_list failed"); + return EINA_FALSE; + } + + std::vector::iterator most_visited_sites_iterator; + std::vector::iterator most_visited_iterator; + + most_visited_sites_iterator = m_entry_list.begin(); + most_visited_iterator = m_most_visited_list.begin(); + + int entry_index = 0; + int most_visited_index = 0; + + for (int i = 0 ; i < BROWSER_MOST_VISITED_SITES_ITEM_MAX ; i++) { + most_visited_sites_item *item = new(nothrow) most_visited_sites_item; + if (!item) { + BROWSER_LOGE("new most_visited_sites_item failed"); + return EINA_FALSE; + } + if (entry_index < m_entry_list.size())/* && m_entry_list[entry_index].index == i) */{ + item->history_id = strdup(m_entry_list[entry_index].id.c_str()); + item->url = strdup(m_entry_list[entry_index].url.c_str()); + item->title = strdup(m_entry_list[entry_index].title.c_str()); + item->tack = EINA_TRUE; + entry_index++; + } else if (most_visited_index < m_most_visited_list.size()) { + item->history_id = strdup(m_most_visited_list[most_visited_index].id.c_str()); + item->url = strdup(m_most_visited_list[most_visited_index].url.c_str()); + item->title = strdup(m_most_visited_list[most_visited_index].title.c_str()); + item->tack = EINA_FALSE; + most_visited_index++; + } else { + item->history_id = NULL; + item->url = NULL; + item->title = NULL; + item->tack = EINA_FALSE; + } + item->layout = NULL; + item->screen_shot = NULL; + item->data = (void *)this; + item->item = elm_gengrid_item_append(m_gengrid, &m_gengrid_item_class, item, __item_clicked_cb, item); + m_item_list.push_back(item); + } + + return EINA_TRUE; +} + +Eina_Bool Most_Visited_Sites::_item_moved(void) +{ + BROWSER_LOGD("[%s]", __func__); + + if (m_selected_item->url && strlen(m_selected_item->url)) { + if (!m_context_popup) { + m_selected_item->tack = EINA_TRUE; + edje_object_signal_emit(elm_layout_edje_get(m_selected_item->layout), + "tack_icon", ""); + } + } + + int index = 0; + Elm_Object_Item *it = elm_gengrid_first_item_get(m_gengrid); + do { + if (!m_most_visited_sites_db->delete_most_visited_sites_item(index)) + BROWSER_LOGE("fail to delete slot %d", index); + + most_visited_sites_item *item = (most_visited_sites_item *)elm_object_item_data_get(it); + if (item && item->tack) { + if (!m_most_visited_sites_db->save_most_visited_sites_item(index, item->url, + item->title, item->history_id)) { + BROWSER_LOGE("save_most_visited_sites_item failed"); + } + } + index++; + } while (it = elm_gengrid_item_next_get(it)); + + m_is_drag = EINA_FALSE; + + return EINA_TRUE; +} + +void Most_Visited_Sites::__item_moved_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + if (!most_visited_sites->_item_moved()) + BROWSER_LOGE("_item_moved failed"); +} + +Eina_Bool Most_Visited_Sites::is_guide_text_running(void) +{ + if (m_guide_text_main_layout) + return EINA_TRUE; + else + return EINA_FALSE; +} + +void Most_Visited_Sites::destroy_guide_text_main_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_guide_text_label) { + evas_object_del(m_guide_text_label); + m_guide_text_label = NULL; + } + if (m_never_show_check_box) { + evas_object_del(m_never_show_check_box); + m_never_show_check_box = NULL; + } + if (m_ok_button) { + evas_object_del(m_ok_button); + m_ok_button = NULL; + } + if (m_never_show_text_label) { + evas_object_del(m_never_show_text_label); + m_never_show_text_label = NULL; + } + if (m_guide_text_main_layout) { + evas_object_del(m_guide_text_main_layout); + m_guide_text_main_layout = NULL; + } +} + +void Most_Visited_Sites::__guide_text_ok_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + Eina_Bool never_show = elm_check_state_get(most_visited_sites->m_never_show_check_box); + if (never_show) { + br_preference_set_bool(SHOW_MY_SITES_GUIDE, false); + } + + elm_object_part_content_unset(most_visited_sites->m_browser_view->m_main_layout, "elm.swallow.mysites_guide"); + edje_object_signal_emit(elm_layout_edje_get(most_visited_sites->m_browser_view->m_main_layout), + "hide,most_visited_sites_guide_text,signal", ""); + most_visited_sites->destroy_guide_text_main_layout(); +} + +Evas_Object *Most_Visited_Sites::create_guide_text_main_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + m_guide_text_main_layout = elm_layout_add(m_navi_bar); + if (!m_guide_text_main_layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + if (!elm_layout_file_set(m_guide_text_main_layout, BROWSER_EDJE_DIR"/most-visited-sites.edj", + "guide_text")) { + BROWSER_LOGE("elm_layout_file_set failed"); + return NULL; + } + evas_object_size_hint_weight_set(m_guide_text_main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_guide_text_main_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(m_guide_text_main_layout); + + m_guide_text_label = elm_label_add(m_guide_text_main_layout); + if (!m_guide_text_label) { + BROWSER_LOGE("elm_label_add failed"); + return NULL; + } + evas_object_size_hint_align_set(m_guide_text_label, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(m_guide_text_label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_label_line_wrap_set(m_guide_text_label, ELM_WRAP_WORD); + std::string guide_text = std::string("") + std::string(BR_STRING_MY_SITES_GUIDE_TEXT) + + std::string(""); + elm_object_text_set(m_guide_text_label, guide_text.c_str()); + elm_object_part_content_set(m_guide_text_main_layout, "elm.swallow.guide_text_label", m_guide_text_label); + evas_object_show(m_guide_text_label); + + m_never_show_check_box = elm_check_add(m_guide_text_main_layout); + if (!m_never_show_check_box) { + BROWSER_LOGE("elm_check_add failed"); + return NULL; + } + elm_object_part_content_set(m_guide_text_main_layout, "elm.swallow.never_show_check_box", m_never_show_check_box); + evas_object_show(m_never_show_check_box); + + m_never_show_text_label = elm_label_add(m_guide_text_main_layout); + if (!m_never_show_text_label) { + BROWSER_LOGE("elm_label_add failed"); + return NULL; + } + evas_object_size_hint_align_set(m_never_show_text_label, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(m_never_show_text_label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_label_line_wrap_set(m_never_show_text_label, ELM_WRAP_WORD); + + std::string never_show_text = std::string("") + std::string(BR_STRING_DO_NOT_ASK_AGAIN) + + std::string(""); + + elm_object_text_set(m_never_show_text_label, never_show_text.c_str()); + elm_object_part_content_set(m_guide_text_main_layout, "elm.swallow.never_show_text", m_never_show_text_label); + + /* To be able to set the check box even touch on 'never show' text for convenience. */ + edje_object_signal_callback_add(elm_layout_edje_get(m_guide_text_main_layout), "mouse,clicked,1", + "elm.swallow.never_show_text_click_area", __never_show_text_clicked_cb, this); + + evas_object_show(m_never_show_text_label); + + m_ok_button = elm_button_add(m_guide_text_main_layout); + if (!m_ok_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_ok_button, "browser/ok_button"); + elm_object_text_set(m_ok_button, BR_STRING_OK); + elm_object_part_content_set(m_guide_text_main_layout, "elm.swallow.ok_button", m_ok_button); + evas_object_smart_callback_add(m_ok_button, "clicked", __guide_text_ok_button_clicked_cb, this); + evas_object_show(m_ok_button); + + return m_guide_text_main_layout; +} + +void Most_Visited_Sites::__never_show_text_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + BROWSER_LOGD("[%s]", __func__); + if (!data) + return; + + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + Eina_Bool never_show = elm_check_state_get(most_visited_sites->m_never_show_check_box); + elm_check_state_set(most_visited_sites->m_never_show_check_box, !never_show); +} + +#if defined(HORIZONTAL_UI) +void Most_Visited_Sites::rotate(void) +{ + BROWSER_LOGD("[%s]", __func__); + if (m_browser_view->is_landscape()) { + elm_gengrid_align_set(m_gengrid, 0.5, 0.0); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "rotate,landscape,signal", ""); + } else { + elm_gengrid_align_set(m_gengrid, 0.5, 0.5); + edje_object_signal_emit(elm_layout_edje_get(m_main_layout), "rotate,portrait,signal", ""); + } +} +#endif + +void Most_Visited_Sites::_set_edit_mode(Eina_Bool edit_mode) +{ + BROWSER_LOGD("[%s]", __func__); + m_edit_mode = edit_mode; + + Elm_Object_Item *it = elm_gengrid_first_item_get(m_gengrid); + while (it) { + most_visited_sites_item *item_data = (most_visited_sites_item *)elm_object_item_data_get(it); + + if (edit_mode) + edje_object_signal_emit(elm_layout_edje_get(item_data->layout), "show,delete_button,signal", ""); + else + edje_object_signal_emit(elm_layout_edje_get(item_data->layout), "hide,delete_button,signal", ""); + + it = elm_gengrid_item_next_get(it); + } + + if (!edit_mode) + elm_genlist_realized_items_update(m_gengrid); +} + +void Most_Visited_Sites::__setting_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + elm_object_part_content_unset(most_visited_sites->m_main_layout, "elm.swallow.setting_button"); + evas_object_hide(most_visited_sites->m_setting_button); + + elm_object_part_content_set(most_visited_sites->m_main_layout, "elm.swallow.setting_button", most_visited_sites->m_done_button); + evas_object_show(most_visited_sites->m_done_button); + + most_visited_sites->_set_edit_mode(EINA_TRUE); +} + +void Most_Visited_Sites::__done_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s]", __func__); + Most_Visited_Sites *most_visited_sites = (Most_Visited_Sites *)data; + elm_object_part_content_unset(most_visited_sites->m_main_layout, "elm.swallow.setting_button"); + evas_object_hide(most_visited_sites->m_done_button); + + elm_object_part_content_set(most_visited_sites->m_main_layout, "elm.swallow.setting_button", most_visited_sites->m_setting_button); + evas_object_show(most_visited_sites->m_setting_button); + + most_visited_sites->_set_edit_mode(EINA_FALSE); +} + +Evas_Object *Most_Visited_Sites::create_most_visited_sites_main_layout(void) +{ + BROWSER_LOGD("[%s]", __func__); + m_main_layout = elm_layout_add(m_navi_bar); + if (!m_main_layout) { + BROWSER_LOGE("elm_layout_add failed"); + return NULL; + } + if (!elm_layout_file_set(m_main_layout, BROWSER_EDJE_DIR"/most-visited-sites.edj", + "most_visited_sites_layout")) { + BROWSER_LOGE("Can not set layout most_visited_sites_layout\n"); + return NULL; + } + evas_object_size_hint_weight_set(m_main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_main_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(m_main_layout); + + m_gengrid = elm_gengrid_add(m_main_layout); + if (!m_gengrid) { + BROWSER_LOGE("elm_gengrid_add failed"); + return NULL; + } + + elm_object_part_content_set(m_main_layout, "elm.swallow.gengrid", m_gengrid); + + int window_w = 0; + evas_object_geometry_get(m_browser_view->m_win, NULL, NULL, &window_w, NULL); + + elm_gengrid_item_size_set(m_gengrid, MOST_VISITED_SITES_ITEM_WIDTH, MOST_VISITED_SITES_ITEM_HEIGHT); + +#if defined(HORIZONTAL_UI) + if (m_browser_view->is_landscape()) + elm_gengrid_align_set(m_gengrid, 0.5, 0.0); + else +#endif + elm_gengrid_align_set(m_gengrid, 0.5, 0.5); + + elm_gengrid_horizontal_set(m_gengrid, EINA_FALSE); + elm_gengrid_bounce_set(m_gengrid, EINA_FALSE, EINA_FALSE); + elm_gengrid_multi_select_set(m_gengrid, EINA_FALSE); + //elm_gengrid_select_mode_set(m_gengrid, ELM_OBJECT_SELECT_MODE_NONE); + +// evas_object_smart_callback_add(m_gengrid, "longpressed", __item_longpressed_cb, this); + evas_object_smart_callback_add(m_gengrid, "changed", __item_drag_cb, this); + evas_object_smart_callback_add(m_gengrid, "moved", __item_moved_cb, this); + +// elm_gengrid_reorder_mode_set(m_gengrid, EINA_TRUE); +// m_gengrid_item_class = elm_gengrid_item_class_new(); +// m_gengrid_item_class->item_style = "default_grid/browser/most_visited_sites"; + m_gengrid_item_class.item_style = "default_grid"; + m_gengrid_item_class.func.text_get = NULL; + m_gengrid_item_class.func.content_get = __gengrid_icon_get_cb; + m_gengrid_item_class.func.state_get = NULL; + m_gengrid_item_class.func.del = NULL; + + if (!_reload_items()) { + BROWSER_LOGE("new _reload_items failed"); + return NULL; + } + + evas_object_show(m_gengrid); + + m_setting_button = elm_button_add(m_gengrid); + if (!m_setting_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_setting_button, "browser/most_visited_sites_setting"); + + elm_object_part_content_set(m_main_layout, "elm.swallow.setting_button", m_setting_button); + evas_object_smart_callback_add(m_setting_button, "clicked", __setting_button_clicked_cb, this); + evas_object_show(m_setting_button); + + m_done_button = elm_button_add(m_gengrid); + if (!m_done_button) { + BROWSER_LOGE("elm_button_add failed"); + return NULL; + } + elm_object_style_set(m_done_button, "browser/most_visited_sites_done"); + elm_object_text_set(m_done_button, BR_STRING_DONE); + evas_object_smart_callback_add(m_done_button, "clicked", __done_button_clicked_cb, this); + evas_object_hide(m_done_button); + + return m_main_layout; +} + diff --git a/src/most-visited-sites/most-visited-sites.h b/src/most-visited-sites/most-visited-sites.h new file mode 100644 index 00000000..ed6c9246 --- /dev/null +++ b/src/most-visited-sites/most-visited-sites.h @@ -0,0 +1,134 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef BROWSER_MOST_VISITED_SITES_H +#define BROWSER_MOST_VISITED_SITES_H + +#include "browser-config.h" +#include "most-visited-sites-db.h" + +class Add_To_Most_Visited_Sites_View; +class Browser_View; +class Most_Visited_Sites_DB; +class Browser_Common_View; + +class Most_Visited_Sites : public Browser_Common_View { + friend class Add_To_Most_Visited_Sites_View; + friend class Browser_View; +public: + struct most_visited_sites_item { + Evas_Object *layout; + Evas_Object *screen_shot; + char *title; + char *url; + char *history_id; + Elm_Object_Item *item; + void *data; + Eina_Bool tack; + }; + + Most_Visited_Sites(Evas_Object *navi_bar, Browser_View *browser_view, + Most_Visited_Sites_DB *most_visited_sites_db); + ~Most_Visited_Sites(void); + + Evas_Object *create_most_visited_sites_main_layout(void); + Evas_Object *create_guide_text_main_layout(void); + void destroy_guide_text_main_layout(void); + Eina_Bool is_guide_text_running(void); + void rotate(void); +private: + /* Elementary event callback functions */ + static void __item_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __item_press_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info); + static void __item_release_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info); + static void __empty_item_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __context_popup_dismissed_cb(void *data, Evas_Object *obj, + void *event_info); + static void __context_popup_unpin_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __context_popup_pin_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __context_popup_modify_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __context_popup_delete_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __context_popup_bookmark_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + static void __guide_text_ok_button_clicked_cb(void *data, Evas_Object *obj, + void *event_info); + + /* edje event callback functions */ + static void __never_show_text_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + static void __delete_button_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + static void __bookmark_button_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + + /* evas object smart callback functions */ + static void __item_longpressed_cb(void *data, Evas_Object *obj, void *event_info); + static void __item_drag_cb(void *data, Evas_Object *obj, void *event_info); + static void __item_moved_cb(void *data, Evas_Object *obj, void *event_info); + static void __setting_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void __done_button_clicked_cb(void *data, Evas_Object *obj, void *event_info); + + /* gengrid callback functions */ + static Evas_Object *__gengrid_icon_get_cb(void *data, + Evas_Object *obj, const char *part); + + /* idler callback functions */ + static Eina_Bool __gengrid_icon_get_idler_cb(void *data); + static Eina_Bool __load_url_idler_cb(void *data); + + Evas_Object *__get_most_visited_sites_item_layout(most_visited_sites_item *item); + Eina_Bool _show_item_context_popup(void); + Eina_Bool _delete_selected_item(void); + Eina_Bool _empty_item_clicked(most_visited_sites_item *item); + Eina_Bool _reload_items(void); + Eina_Bool _item_moved(void); + void _set_edit_mode(Eina_Bool edit_mode); + + Evas_Object *m_navi_bar; + Browser_View *m_browser_view; + Evas_Object *m_gengrid; + Elm_Gengrid_Item_Class m_gengrid_item_class; + + Most_Visited_Sites_DB *m_most_visited_sites_db; + std::vector m_entry_list; + std::vector m_most_visited_list; + std::vector m_item_list; + + Eina_Bool m_is_drag; + most_visited_sites_item *m_selected_item; + Evas_Object *m_context_popup; + + Evas_Object *m_guide_text_main_layout; + Evas_Object *m_guide_text_label; + Evas_Object *m_never_show_check_box; + Evas_Object *m_never_show_text_label; + Evas_Object *m_ok_button; + + Evas_Object *m_main_layout; + Evas_Object *m_setting_button; + Evas_Object *m_done_button; + Eina_Bool m_edit_mode; + + Eina_Bool m_is_item_clicked; +}; + +#endif /* BROWSER_SPEED_DIAL_H */ + diff --git a/src/scissorbox/scissorbox.cpp b/src/scissorbox/scissorbox.cpp new file mode 100755 index 00000000..a41c6212 --- /dev/null +++ b/src/scissorbox/scissorbox.cpp @@ -0,0 +1,749 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +extern "C" { +#include +#include +} + +#include "scissorbox.h" + +#define CROP_POT_PATH BROWSER_IMAGE_DIR"/T01_CallerID_normal.png" +#define CROP_POT_HOLD_PATH BROWSER_IMAGE_DIR"/T01_CallerID_hold.png" +#define CROP_POT_PRESS_PATH BROWSER_IMAGE_DIR"/T01_CallerID_press.png" + +#define CROP_LINEW_PATH BROWSER_IMAGE_DIR"/T01_CallerID_line_W.png" +#define CROP_LINEH_PATH BROWSER_IMAGE_DIR"/T01_CallerID_line_h.png" +#define CROP_LINEW_PRESS_PATH BROWSER_IMAGE_DIR"/T01_CallerID_line_W_press.png" +#define CROP_LINEH_PRESS_PATH BROWSER_IMAGE_DIR"/T01_CallerID_line_h_press.png" + +#define DEFAULT_LINE_SIZE (2 * elm_scale_get()) + +#define DEFAULT_MIN_RECT_SIZE (10 * elm_scale_get()) +#define DEFAULT_MIN_EVENT_RECT_SIZE (45 * elm_scale_get()) + +#define DEFAULT_DIM_BG_ALPHA 102 + +#define DEFAULT_POT_NUM 4 /* Be careful: Don't change this number */ + +typedef enum { + CENTER_POT, + LEFT_TOP_POT, + RIGHT_TOP_POT, + RIGHT_BOTTOM_POT, + LEFT_BOTTOM_POT +}pot_type; + + +typedef struct _Widget_Data Widget_Data; + +struct _Widget_Data { + Evas *evas; + + Evas_Object *parent; + Evas_Object *obj; + + Evas_Object *bg; + Evas_Object *selector_line[DEFAULT_POT_NUM]; /* Line object*/ + Evas_Object *selector_pot[DEFAULT_POT_NUM]; /* Gripper object*/ + + Evas_Object *bg_grid[DEFAULT_POT_NUM]; /* Rect object*/ + Evas_Object *event_pot[DEFAULT_POT_NUM]; + + Evas_Coord_Rectangle rect; + Evas_Coord_Rectangle bound; + + int pot_w, pot_h; + int event_pot_w, event_pot_h; //Event object on image icon + + Evas_Coord touch_prev_x, touch_prev_y; + Eina_Bool bResizing; + pot_type pressed_pot; +}; + +static void _del_hook(Evas_Object *obj); +static void _theme_hook(Evas_Object *obj); +static void _sub_del(void *data, Evas_Object *obj, void *event_info); + +static void _del_hook(Evas_Object *obj) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return; + + evas_object_del(wd->bg); + wd->bg = NULL; + + int i; + for (i = 0; i < DEFAULT_POT_NUM; i++) { + evas_object_del(wd->selector_line[i]); + evas_object_del(wd->selector_pot[i]); + evas_object_del(wd->bg_grid[i]); + evas_object_del(wd->event_pot[i]); + } + + free(wd); + +} + +static void _theme_hook(Evas_Object *obj) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return; +} + + +static void _sub_del(void *data, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(obj); + + if (!wd) + return; +} + + +static void _sizing_eval(Evas_Object *obj) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return; + if (!wd->rect.w || !wd->rect.h) + return; + + BROWSER_LOGD("Resizing. XYWH(%d,%d,%d,%d)", wd->rect.x, wd->rect.y, + wd->rect.w, wd->rect.h); + + evas_object_move(wd->bg, wd->rect.x, wd->rect.y); + evas_object_resize(wd->bg, wd->rect.w, wd->rect.h); + + /* Adjust dim bg object*/ + int px = 0; + int py = 0; + int pw = 0; + int ph = 0; + evas_object_geometry_get(wd->parent, &px, &py, &pw, &ph); + BROWSER_LOGD("parent. XYWH(%d,%d,%d,%d)", px, py, pw, ph); + + evas_object_move(wd->bg_grid[0], px, py); + evas_object_resize(wd->bg_grid[0], pw, wd->rect.y - py); + + evas_object_move(wd->bg_grid[1], wd->rect.x + wd->rect.w, wd->rect.y); + evas_object_resize(wd->bg_grid[1], pw - (wd->rect.x + wd->rect.w), wd->rect.h); + + evas_object_move(wd->bg_grid[2], px, wd->rect.y + wd->rect.h); + evas_object_resize(wd->bg_grid[2], pw, (ph + py) - (wd->rect.y + wd->rect.h)); + + evas_object_move(wd->bg_grid[3], px, wd->rect.y); + evas_object_resize(wd->bg_grid[3], wd->rect.x, wd->rect.h); + + /* Adjust line object */ + evas_object_move(wd->selector_line[0], wd->rect.x, wd->rect.y); + evas_object_resize(wd->selector_line[0], wd->rect.w, DEFAULT_LINE_SIZE); + + evas_object_move(wd->selector_line[1], wd->rect.x + wd->rect.w, wd->rect.y); + evas_object_resize(wd->selector_line[1], DEFAULT_LINE_SIZE, wd->rect.h); + + evas_object_move(wd->selector_line[2], wd->rect.x, wd->rect.y + wd->rect.h); + evas_object_resize(wd->selector_line[2], wd->rect.w, DEFAULT_LINE_SIZE); + + evas_object_move(wd->selector_line[3], wd->rect.x, wd->rect.y); + evas_object_resize(wd->selector_line[3], DEFAULT_LINE_SIZE, wd->rect.h); + + int x, y; + + /* Adjust image icon (pot) object */ + x = wd->rect.x - (wd->pot_w / 2); + y = wd->rect.y - (wd->pot_h / 2); + + evas_object_move(wd->selector_pot[0], x, y); + evas_object_move(wd->selector_pot[1], x + wd->rect.w, y); + evas_object_move(wd->selector_pot[2], x + wd->rect.w, y + wd->rect.h); + evas_object_move(wd->selector_pot[3], x, y + wd->rect.h); + + /* Adjust event object */ + x = wd->rect.x - (wd->event_pot_w / 2); + y = wd->rect.y - (wd->event_pot_h / 2); + evas_object_move(wd->event_pot[0], x, y); + evas_object_move(wd->event_pot[1], x + wd->rect.w, y); + evas_object_move(wd->event_pot[2], x + wd->rect.w, y + wd->rect.h); + evas_object_move(wd->event_pot[3], x, y + wd->rect.h); +} + +static void +_selector_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + + BROWSER_LOGD(" inside ..."); + Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *) event_info; + + wd->touch_prev_x = ev->output.x; + wd->touch_prev_y = ev->output.y; +} + +static Eina_Bool +_is_selector_movable(const Evas_Object *obj, Evas_Coord move_x, + Evas_Coord move_y, Evas_Coord *result_x, Evas_Coord *result_y) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return EINA_FALSE; + + if(!result_x || !result_y) + return EINA_FALSE; + + Evas_Coord dst_x, dst_y; + + dst_x = wd->rect.x + move_x; + dst_y = wd->rect.y + move_y; + + *result_x = move_x; + *result_y = move_y; + + if (dst_x < wd->bound.x && move_x < 0) { + /* left bound*/ + BROWSER_LOGD("left bounded: wd->bound.x is %d", wd->bound.x); + *result_x = wd->bound.x - wd->rect.x; + } + + if (dst_y < wd->bound.y && move_y < 0) { + /* top bound*/ + BROWSER_LOGD("top bounded: wd->bound.y is %d", wd->bound.y); + *result_y = wd->bound.y - wd->rect.y; + } + + if ((dst_x + wd->rect.w >= wd->bound.x + wd->bound.w) && move_x > 0) { + /* right bound*/ + BROWSER_LOGD("right bound: [wd->bound.x,wd->bound.w] is [%d,%d]", + wd->bound.x, wd->bound.w); + *result_x = wd->bound.x + wd->bound.w - wd->rect.x - wd->rect.w; + } + + if ((dst_y + wd->rect.h >= wd->bound.y + wd->bound.h) && move_y > 0) { + /* bottom bound*/ + BROWSER_LOGD("bottom bound: [wd->bound.y,wd->bound.h] is [%d,%d]", + wd->bound.y, wd->bound.h); + *result_y = wd->bound.y + wd->bound.h - wd->rect.y - wd->rect.h; + } + + if (*result_x || *result_y) { + BROWSER_LOGD("[result_x, result_y] is [%d, %d]", *result_x, *result_y); + return EINA_TRUE; + } else { + BROWSER_LOGD("result_x & result_y are all 0"); + return EINA_FALSE; + } +} + + +static void +_selector_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Evas_Object *myobj = (Evas_Object *)data; + + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(myobj); + + if (!wd) + return; + + if (wd->bResizing) + return; + + Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *) event_info; + if (!wd->touch_prev_x || !wd->touch_prev_y) { + wd->touch_prev_x = ev->cur.output.x; + wd->touch_prev_y = ev->cur.output.y; + return; + } + + Evas_Coord mov_x = 0, mov_y = 0; + mov_x = ev->cur.output.x - wd->touch_prev_x; + mov_y = ev->cur.output.y - wd->touch_prev_y; + + BROWSER_LOGD("[cur_x, cur_y: %d, %d] [mov_x, mov_y: %d, %d]", + ev->cur.output.x, ev->cur.output.y, mov_x, mov_y); + + wd->touch_prev_x = ev->cur.output.x; + wd->touch_prev_y = ev->cur.output.y; + + Evas_Coord result_x = 0; + Evas_Coord result_y = 0; + if (_is_selector_movable(myobj, mov_x, mov_y, &result_x, &result_y) == TRUE) { + wd->rect.x += result_x; + wd->rect.y += result_y; + + _sizing_eval(wd->obj); + } +} + +static void +_selector_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Evas_Object *myobj = (Evas_Object *)data; + + Widget_Data *wd = (Widget_Data *)elm_widget_data_get(myobj); + if (!wd) + return; + +/* ELM_MSG_HIGH( " ...");*/ + + wd->touch_prev_x = 0; + wd->touch_prev_y = 0; + + evas_object_smart_callback_call(wd->obj, "changed", NULL); +} + +static void +_pot_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + + wd->bResizing = TRUE; + + Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *) event_info; + + int i; + + if(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { + for (i = 0; i < DEFAULT_POT_NUM; i++){ + evas_object_image_file_set(wd->selector_pot[i], CROP_POT_HOLD_PATH, NULL); + } + } else { + for (i = 0; i < DEFAULT_POT_NUM; i++){ + evas_object_image_file_set(wd->selector_pot[i], CROP_POT_PRESS_PATH, NULL); + } + } + + wd->touch_prev_x = ev->output.x; + wd->touch_prev_y = ev->output.y; + + Evas_Coord center_x, center_y; + + center_x = wd->rect.x + wd->rect.w / 2; + center_y = wd->rect.y + wd->rect.h / 2; + + if(wd->touch_prev_x < center_x && wd->touch_prev_y < center_y) { + wd->pressed_pot = LEFT_TOP_POT; + }else if(wd->touch_prev_x > center_x && wd->touch_prev_y > center_y) { + wd->pressed_pot = RIGHT_BOTTOM_POT; + }else if(wd->touch_prev_x > center_x && wd->touch_prev_y < center_y) { + wd->pressed_pot = RIGHT_TOP_POT; + }else if(wd->touch_prev_x < center_x && wd->touch_prev_y > center_y) { + wd->pressed_pot = LEFT_BOTTOM_POT; + }else { + wd->pressed_pot = CENTER_POT; + } + +} + + +typedef enum +{ + Direction_X, + Direction_Y +}dominant_direction_type; + +static void +_pot_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + + Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *) event_info; + + Evas_Coord x, y, w, h; + evas_object_geometry_get(wd->bg, &x, &y, &w, &h); + + Evas_Coord mov_x = 0; + Evas_Coord mov_y = 0; + Evas_Coord mov_dist = 0; + + mov_x = ev->cur.output.x - wd->touch_prev_x; + mov_y = ev->cur.output.y - wd->touch_prev_y; + + dominant_direction_type dd = Direction_X; + if(abs(mov_x) < abs(mov_y)) { + dd = Direction_Y; + mov_dist = mov_y; + } else { + mov_dist = mov_x; + } + + BROWSER_LOGD(" *** [mov_x, mov_y] = [%d, %d] \n", mov_x, mov_y); + + if(abs(mov_dist) < 2) + return; + + Evas_Coord_Rectangle rect; + + switch(wd->pressed_pot) + { + case LEFT_TOP_POT: + rect.x = x + mov_x; + rect.y = y + mov_y; + rect.w = w - mov_x; + rect.h = h - mov_y; + break; + case RIGHT_BOTTOM_POT: + rect.x = x; + rect.y = y; + rect.w = w + mov_x; + rect.h = h + mov_y; + break; + case RIGHT_TOP_POT: + rect.x = x; + rect.y = y + mov_y; + rect.w = w + mov_x; + rect.h = h - mov_y; + break; + case LEFT_BOTTOM_POT: + rect.x = x + mov_x; + rect.y = y; + rect.w = w - mov_x; + rect.h = h + mov_y; + break; + default: + return; + } + + if (rect.w <= DEFAULT_MIN_EVENT_RECT_SIZE || + rect.h <= DEFAULT_MIN_EVENT_RECT_SIZE) + return; + + if (rect.x < wd->bound.x || + rect.y < wd->bound.y || + rect.x + rect.w > wd->bound.x + wd->bound.w || + rect.y + rect.h > wd->bound.y + wd->bound.h ) + return; + + wd->touch_prev_x = ev->cur.output.x; + wd->touch_prev_y = ev->cur.output.y; + + memcpy(&wd->rect, &rect, sizeof(Evas_Coord_Rectangle)); + + _sizing_eval(wd->obj); +} + + +static void +_pot_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + + BROWSER_LOGD(" ***inside ..."); + int i; + for (i = 0; i < DEFAULT_POT_NUM; i++){ + evas_object_image_file_set(wd->selector_pot[i], CROP_POT_PATH, NULL); + } + + wd->touch_prev_x = 0; + wd->touch_prev_y = 0; + + wd->bResizing = FALSE; + + evas_object_smart_callback_call(wd->obj, "changed", NULL); +} + +static void +_line_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + + int i; + for (i = 0; i < DEFAULT_POT_NUM; i++){ + if(i % 2) + evas_object_image_file_set(wd->bg_grid[i], CROP_LINEW_PRESS_PATH, NULL); + else + evas_object_image_file_set(wd->bg_grid[i], CROP_LINEH_PRESS_PATH, NULL); + } +} + +static void +_line_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + int i; + for (i = 0; i < DEFAULT_POT_NUM; i++){ + if(i % 2) + evas_object_image_file_set(wd->bg_grid[i], CROP_LINEW_PATH, NULL); + else + evas_object_image_file_set(wd->bg_grid[i], CROP_LINEH_PATH, NULL); + } +} + +static void +_scissorbox_hide(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd; + + if (!data) + return; + + wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + + int i = 0; + for (i = 0; i < DEFAULT_POT_NUM; i++) { + evas_object_hide(wd->selector_line[i]); + + evas_object_hide(wd->selector_pot[i]); + + evas_object_hide(wd->bg_grid[i]); + + evas_object_hide(wd->event_pot[i]); + } + + evas_object_hide(wd->bg); + BROWSER_LOGD("ScissorBox Hide"); +} + + +static void +_scissorbox_show(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Widget_Data *wd; + + if (!data) + return; + + wd = (Widget_Data *)elm_widget_data_get((Evas_Object *)data); + if (!wd) + return; + +/* TODO : Implement Clipper*/ + + _sizing_eval(wd->obj); + + int i; + for (i = 0; i < DEFAULT_POT_NUM; i++) { + evas_object_show(wd->selector_line[i]); + + evas_object_show(wd->selector_pot[i]); + + evas_object_show(wd->bg_grid[i]); + + evas_object_show(wd->event_pot[i]); + } + + evas_object_show(wd->bg); + + BROWSER_LOGD("ScissorBox Show"); +} + + +Evas_Object *br_scissorbox_add(Evas_Object *parent) +{ + Evas_Object *obj; + Evas *e; + Widget_Data *wd; + + EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL); + + e = evas_object_evas_get(parent); + + if (!e) { + return NULL; + } + + wd = (Widget_Data *)ELM_NEW(Widget_Data); + + obj = elm_widget_add(e); + elm_widget_type_set(obj, "scissorbox"); + elm_widget_sub_object_add(parent, obj); + elm_widget_data_set(obj, wd); + elm_widget_del_hook_set(obj, _del_hook); + elm_widget_theme_hook_set(obj, _theme_hook); + elm_widget_can_focus_set(obj, EINA_FALSE); + + wd->parent = parent; + wd->obj = obj; + wd->evas = e; + wd->pot_w = DEFAULT_MIN_RECT_SIZE; + wd->pot_h = DEFAULT_MIN_RECT_SIZE; + wd->event_pot_w = DEFAULT_MIN_EVENT_RECT_SIZE; + wd->event_pot_h = DEFAULT_MIN_EVENT_RECT_SIZE; + + evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj); + + Evas_Object *bg = evas_object_rectangle_add(wd->evas); + evas_object_smart_member_add(bg, obj); + evas_object_color_set(bg, 0, 0, 0, 0); + evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + elm_widget_sub_object_add(obj, bg); + wd->bg = bg; + +/* elm_widget_resize_object_set(obj, wd->bg);*/ + + evas_object_event_callback_add(wd->bg, EVAS_CALLBACK_MOUSE_DOWN, + _selector_mouse_down, obj); + evas_object_event_callback_add(wd->bg, EVAS_CALLBACK_MOUSE_UP, + _selector_mouse_up, obj); + evas_object_event_callback_add(wd->bg, EVAS_CALLBACK_MOUSE_MOVE, + _selector_mouse_move, obj); + + int i; + for (i = 0; i < DEFAULT_POT_NUM; i++) { + wd->bg_grid[i] = evas_object_rectangle_add(wd->evas); + evas_object_smart_member_add(wd->bg_grid[i], obj); + evas_object_color_set(wd->bg_grid[i], 0, 0, 0, DEFAULT_DIM_BG_ALPHA); + evas_object_size_hint_weight_set(wd->bg_grid[i], EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + + evas_object_repeat_events_set(wd->bg_grid[i], EINA_FALSE); + elm_widget_sub_object_add(obj, wd->bg_grid[i]); + } + + int line_w = 0; + int line_h = 0; + for (i = 0; i < DEFAULT_POT_NUM; i++) { + wd->selector_line[i] = evas_object_image_filled_add(wd->evas); + evas_object_smart_member_add(wd->selector_line[i], obj); + + if(i % 2) + evas_object_image_file_set(wd->selector_line[i], + CROP_LINEW_PATH, NULL); + else + evas_object_image_file_set(wd->selector_line[i], + CROP_LINEH_PATH, NULL); + + evas_object_image_size_get(wd->selector_line[i], &line_w, &line_h); + evas_object_resize(wd->selector_line[i], line_w, line_h); + + evas_object_event_callback_add(wd->selector_line[i], + EVAS_CALLBACK_MOUSE_DOWN, + _line_mouse_down, obj); + evas_object_event_callback_add(wd->selector_line[i], + EVAS_CALLBACK_MOUSE_UP, + _line_mouse_up, obj); + } + + for (i = 0; i < DEFAULT_POT_NUM; i++) { + /* Create image icon (pot) */ + wd->selector_pot[i] = evas_object_image_filled_add(wd->evas); + evas_object_smart_member_add(wd->selector_pot[i], obj); + + evas_object_image_file_set(wd->selector_pot[i], CROP_POT_PATH, + NULL); + evas_object_image_fill_set(wd->selector_pot[i], 0, 0, wd->pot_w, + wd->pot_h); + + evas_object_resize(wd->selector_pot[i], wd->pot_w, wd->pot_h); + + /* Create event object above image icon (pot) */ + wd->event_pot[i] = evas_object_rectangle_add(wd->evas); + evas_object_smart_member_add(wd->event_pot[i], obj); + evas_object_color_set(wd->event_pot[i], 0, 0, 0, 0); + evas_object_resize(wd->event_pot[i], wd->event_pot_w, wd->event_pot_h); + + evas_object_event_callback_add(wd->event_pot[i], + EVAS_CALLBACK_MOUSE_DOWN, + _pot_mouse_down, obj); + evas_object_event_callback_add(wd->event_pot[i], + EVAS_CALLBACK_MOUSE_UP, + _pot_mouse_up, obj); + evas_object_event_callback_add(wd->event_pot[i], + EVAS_CALLBACK_MOUSE_MOVE, + _pot_mouse_move, obj); + } + + int w, h; + evas_object_image_size_get(wd->selector_pot[0], &w, &h); + BROWSER_LOGD(" file %s, [%d, %d]", CROP_POT_PATH, w, h); + + evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, + _scissorbox_show, obj); + evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE, + _scissorbox_hide, obj); + + _sizing_eval(obj); + + return obj; +} + +void br_scissorbox_region_get(const Evas_Object *obj, int *x, int *y, int *w, int *h) +{ + Widget_Data *wd; + + wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return; + + if (x) + *x = wd->rect.x; + if (y) + *y = wd->rect.y; + if (w) + *w = wd->rect.w; + if (h) + *h = wd->rect.h; + +/* IVUG_DEBUG_MSG( "Region: [%d, %d, %d, %d]", *x, *y, *w, *h);*/ +} + +void br_scissorbox_region_set(const Evas_Object *obj, int x, int y, int w, int h) +{ + Widget_Data *wd; + + wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return; + + wd->rect.x = x; + wd->rect.y = y; + wd->rect.w = w; + wd->rect.h = h; + + evas_object_resize(wd->obj, wd->rect.w, wd->rect.h); + + BROWSER_LOGD("Region Set: [%d, %d, %d, %d]", x, y, w, h); + + _sizing_eval(wd->obj); + +} + +void br_scissorbox_bound_set(const Evas_Object *obj, int x, int y, int w, int h) +{ + Widget_Data *wd; + + wd = (Widget_Data *)elm_widget_data_get(obj); + if (!wd) + return; + + wd->bound.x = x; + wd->bound.y = y; + wd->bound.w = w; + wd->bound.h = h; + + BROWSER_LOGD("Boundary Set: [%d, %d, %d, %d]", x, y, w, h); + + _sizing_eval(wd->obj); +} diff --git a/src/scissorbox/scissorbox.h b/src/scissorbox/scissorbox.h new file mode 100755 index 00000000..6eba9924 --- /dev/null +++ b/src/scissorbox/scissorbox.h @@ -0,0 +1,40 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.0 (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.tizenopensource.org/license + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + + +#ifndef SCISSORBOX_H +#define SCISSORBOX_H + +#include "browser-config.h" + +#ifdef __cplusplus +extern "C" { +#endif + +Evas_Object *br_scissorbox_add(Evas_Object *parent); + +void br_scissorbox_set_object(Evas_Object *obj, int x, int y, int width, int height); +void br_scissorbox_bound_set(const Evas_Object *obj, int x, int y, int w, int h); +void br_scissorbox_region_set(const Evas_Object *obj, int x, int y, int w, int h); +void br_scissorbox_region_get(const Evas_Object *obj, int *x, int *y, int *w, int *h); + +#ifdef __cplusplus +} +#endif + +#endif /* SCISSORBOX_H*/ +