+#
+# 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
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 "")
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})
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/")
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(
-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")
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
)
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
)
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
)
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
)
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)
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}
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)
--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */ \r
-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 <junghwan.kang@samsung.com> Sat, 21 Apr 2012 20:05:28 +0900
+ -- Junghwan Kang <junghwan.kang@samsung.com> Wed, 25 Jul 2012 21:52:06 +0900
Priority: extra
Maintainer: JungHwan Kang <junghwan.kang@samsung.com>, Sangpyo Kim <sangpyo7.kim@samsung.com>, Hyerim Bae <hyerim.bae@samsung.com>, Inbum Chang <ibchang@samsung.com>
Uploaders: JungHwan Kang <junghwan.kang@samsung.com>, Sangpyo Kim <sangpyo7.kim@samsung.com>, Hyerim Bae <hyerim.bae@samsung.com>, Inbum Chang <ibchang@samsung.com>
-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
@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/*
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 ######
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 ######
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");
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
##################################################
##################################################
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
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:
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
# dh_perl
dh_makeshlibs
dh_installdeb
- dh_shlibdeps
+ dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
dh_gencontrol
dh_md5sums
dh_builddeb
/*
- * 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"
/*
- * 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"
}
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",
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;
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;
}
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;
}
}
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"; }
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;
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;
}
}
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"; }
}
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;
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;
}
}
}
-#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
/*
- * 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
} \
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"; \
} \
}
-#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"; \
normal: main_image; \
} \
} \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: main_image_disable; \
+ } \
} \
part { name: "elm.text"; \
type: TEXTBLOCK; \
target: "over1"; \
target: "over2"; \
target: "disabler"; \
+ target: "main_image"; \
after: "disable_text"; \
} \
program { name: "disable_text"; \
target: "over1"; \
target: "over2"; \
target: "disabler"; \
+ target: "main_image"; \
after: "enable_text"; \
} \
program { name: "enable_text"; \
} \
}
+#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; \
--- /dev/null
+/*
+ * 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";
+ }
+ }
+ }
+}
/*
- * 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"
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;
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;
visible: 1;
}
}
+#if 0
part {
name: "elm.swallow.close_multi_window_button";
type: SWALLOW;
rel2 { relative: 1.05 0.98; to_x: "elm.swallow.view_change_button"; }
}
}
+#endif
part {
name: "elm.title";
type: TEXT;
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;
}
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;
}
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"; }
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";
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 {
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 {
/*
- * 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
+++ /dev/null
-/*
- * 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; }
- }
- }
- }
- }
-}
-
--- /dev/null
+/*
+ * 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";
+ }
+ }
+ }
+ }
+ }
+
+}
/*
- * 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"
--- /dev/null
+/*
+ * 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"; }
+ }
+ }
+ }
+ }
+}
+
/*
- * 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"
/*
- * 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"
#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;
}
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;
}
}
}
+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"; }
+ }
+ }
+ }
+}
+
}
/*
- * 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"
#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 {
}
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";
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";
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;
}
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
}
}
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;
color: 255 255 255 255;
}
}
+#endif
part { name: "padding,url,top";
mouse_events: 0;
type: RECT;
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;
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 {
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";
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"; }
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"; }
color: 120 120 120 255;
text {
font: "SLP:style=Roman";
- size: 38;
+ size: 30;
min: 0 0;
align: 1.0 0.5;
}
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;
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 {
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";
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"; }
/*
- * 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
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";
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"; }
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;
}
}
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;
mouse_events: 1;
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";
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;
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
/////////////////////////////
program { name: "show,scissorbox";
action: STATE_SET "default" 0.0;
target: "elm.swallow.scissorbox";
}
-
/* ifdef ZOOM_BUTTON */
/////////////////////////////
// show / hide zoom buttons
/* 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 {
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";
}
}
}
/*
- * 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"
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";
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;
}
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
}
}
}
text {
font: "SLP:style=Medium";
-#ifdef WVGA_NBEAT // 480 * 800
- size: 10;
-#else
size: 15;
-#endif
min: 0 0;
align: 0.5 0.0;
}
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;
}
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 {
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;
/*
- * 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"
#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)
#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
// 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 {
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;
description {
state: "default" 0.0;
min: 0 40;
+ visible: 1;
rel1 {
relative : 1.0 1.0;
to_x: "left1";
}
align: 0.0 0.5;
}
+ description { state: "ellipsis_show" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
}
part {
name: "eraser_image";
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;
}
}
}
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";
source: "elm";
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";
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;
}
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
}
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;
rel2 { relative: 0.0 1.0; to_x: "padding,title_text,right"; }
}
}
+#endif
part { name: "padding,cancel,left";
mouse_events: 0;
type: RECT;
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"; }
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"; }
}
}
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;
mouse_events: 1;
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"; }
}
}
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"; }
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";
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;
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";
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 {
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;
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;
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;
}
}
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;
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";
}
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";
}
}
}
--- /dev/null
+/*
+ * 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
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}
%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 ######
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);'
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/
# 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")
--- /dev/null
+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 "مرتفعة"
+
--- /dev/null
+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 "Висок"
+
--- /dev/null
+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"
+
--- /dev/null
+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á"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Installation gescheitert"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Benachrichtigung..."
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"
+
--- /dev/null
+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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Αποτυχία εγκατάστασης"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Ειδοποίηση..."
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 "Υψηλή"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Installation failed"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Notifying..."
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"
+
--- /dev/null
+# 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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 ""
--- /dev/null
+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"
+
--- /dev/null
+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 "Ιστορικό"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Fallo en la instalación"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Notificando..."
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"
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"
+
--- /dev/null
+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"
+
--- /dev/null
+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 ""
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Echec de l'installation"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Notification..."
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"
+
--- /dev/null
+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 "ש?? ???צע?ת ????\9d×?"
+
+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 "????"
+
--- /dev/null
+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 "उच्च"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
--- /dev/null
+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ş"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Installazione fallita"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Notifica in corso..."
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"
+
--- /dev/null
+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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "インストールが失敗しました。"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "通知中..."
msgstr "識別子が無効です。"
msgid "IDS_BR_POP_UNABLE_TO_OPEN_FILE"
-msgstr "ファイルを開くことができません"
+msgstr "ファイルを開くことができません。"
msgid "IDS_BR_POP_DOWNLOAD_Q"
msgstr "ダウンロードしますか?"
msgstr "ブラウザについて"
msgid "IDS_BR_BODY_BROWSER_TYPE"
-msgstr "ファイルタイプ"
+msgstr "ファイルタイプ"
msgid "IDS_BR_BODY_CERTIFICATE_ISSUER"
msgstr "発行者"
msgstr "ブックマークがありません。"
msgid "IDS_BR_BODY_NO_RESULTS_FOUND"
-msgstr "検索結果がありません。"
+msgstr "検索結果がありません。"
msgid "IDS_BR_BODY_OPTIONAL"
msgstr "オプション"
msgstr "フォルダ"
msgid "IDS_BR_BODY_FOLDER_NAME"
-msgstr "フォルダ名"
+msgstr "フォルダ名"
msgid "IDS_BR_BODY_FOLDER_NAME_ALREADY_IN_USE"
msgstr "フォルダ名は既に使用されています。"
msgstr "フォルダ名:"
msgid "IDS_BR_OPT_SELECT_ALL"
-msgstr "全て選択"
+msgstr "全て選択"
msgid "IDS_BR_OPT_DOWNLOAD_MANAGER"
msgstr "ダウンロードマネージャー"
msgstr "プライバシー"
msgid "IDS_BR_BODY_COOKIES"
-msgstr "Cookie設定"
+msgstr "Cookie"
msgid "IDS_BR_BODY_COOKIESACCEPTALL"
msgstr "全て応答"
msgstr "プロンプト"
msgid "IDS_BR_HEADER_COOKIES"
-msgstr "Cookie設定"
+msgstr "Cookie"
msgid "IDS_BR_BODY_ACCEPT_COOKIES"
msgstr "Cookieを許可"
msgstr "貼り付け"
msgid "IDS_BR_BUTTON_MORE"
-msgstr "もっと見る"
+msgstr "もっと見る"
msgid "IDS_BR_POP_FAIL"
-msgstr "失敗しました。"
+msgstr "失敗しました。"
msgid "IDS_BR_BODY_OPEN_IN_NEW_WINDOW"
msgstr "新規ウィンドウで開く"
msgstr "履歴を消去"
msgid "IDS_BR_BODY_ENABLE_PLUG_INS"
-msgstr "プラグインを有効にする"
+msgstr "プラグインを有効化"
msgid "IDS_BR_BODY_SELECT_SEARCH_ENGINE"
msgstr "検索エンジンを選択"
msgstr "文字サイズ"
msgid "IDS_BR_POP_DELETED"
-msgstr "削除しました。"
+msgstr "削除しました。"
msgid "IDS_BR_BODY_DEFAULT_VIEW"
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 "証明書"
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_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 "本体"
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 "タイトル"
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 "高"
--- /dev/null
+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 "기록"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "설치하지 못하였습니다"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "알림 준비 중..."
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 "높음"
+
--- /dev/null
+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ė"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Installatie mislukt"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Melden..."
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"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Instalação falhou"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "A notificar..."
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"
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"
+
--- /dev/null
+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ă"
+
--- /dev/null
+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 "Журнал"
+
-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"
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 "???окий"
--- /dev/null
+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á"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
--- /dev/null
+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"
+
--- /dev/null
+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 "สูง"
+
--- /dev/null
+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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "Yükleme başarısız"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "Bildiriliyor..."
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"
+
--- /dev/null
+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 "Високий"
+
--- /dev/null
+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 tạ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"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "安装失败"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "通知中..."
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 "高"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "安裝失敗"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "正在通知..."
msgstr "開"
msgid "IDS_BR_BODY_OFF"
-msgstr "關"
+msgstr "關閉"
msgid "IDS_BR_BODY_DEFAULT_STORAGE"
msgstr "預設儲存裝置"
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 "高"
+
-msgid "IDS_BR_POP_INSTALLATION_FAILED"
-msgstr "安裝失敗"
-
msgid "IDS_BR_BODY_NOTIFYING_ING"
msgstr "正在通知..."
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 "高"
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<widget xmlns="http://www.w3.org/ns/widgets"\r
+ xmlns:tizen="http://tizen.org/ns/widgets" version="1.0"\r
+ viewmodes="fullscreen" id="id_need">\r
+ <name>title_need</name>\r
+ <icon src="icon.png"/>\r
+ <content src="url_need"/>\r
+ <access origin="*" />\r
+</widget>\r
/*
- * 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"
}
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. */
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),
}
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();
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);
}
} 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__);
/*
- * 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
/*
- * 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"
,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)
if (m_delete_confirm_popup)
evas_object_del(m_delete_confirm_popup);
+
}
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);
} 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. */
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<Browser_Bookmark_DB::bookmark_item *> item_list = bookmark_view->_get_current_folder_item_list();
- if (item_list.size() == 0)
- bookmark_view->_show_empty_content_layout(EINA_TRUE);
- }
+ vector<Browser_Bookmark_DB::bookmark_item *> 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)
{
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);
}
}
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);
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);
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;
}
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)) {
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)
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;
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);
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;
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());
/*
- * 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
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:
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 */
/* 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);
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);
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;
/*
- * 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"
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);
}
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());
/*
- * 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
/*
- * 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"
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)
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;
}
/*
- * 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
/*
- * 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();
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;
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()) {
} 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;
}
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)
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;
}
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)
{
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;
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
+ );
}
}
{
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])
}
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);
{
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])
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,
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;
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);
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;
}
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;
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)
{
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);
/*
- * 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<Browser_Window *> window_list);
std::vector<Browser_Window *> 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);
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);
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<Browser_Window *> m_window_list;
/*
- * 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"
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)
,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__);
}
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();
}
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");
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("<br>"));
+ 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)
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 {
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)
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)
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;
}
}
-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;
/*
- * 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
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<std::string> m_sns_name_list;
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 */
/*
- * 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"
#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)
,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__);
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;
}
}
+#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__);
}
}
+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;
+ }
+}
/*
- * 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
} 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;
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:
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);
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;
Browser_Bookmark_DB *m_bookmark_db;
Browser_History_DB *m_history_db;
+ Browser_Geolocation_DB *m_geolocation_db;
unsigned int m_stack_status;
};
+++ /dev/null
-/*
- * 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 <ail.h>
-
-#include "browser-class.h"
-#include "browser-common-view.h"
-#include "browser-download-manager.h"
-#include <url_download.h>
-
-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;
- }
-}
-
+++ /dev/null
-/*
- * 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 <string>
-
-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 */
-
+++ /dev/null
-/*
- * 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 <ail.h>
-
-#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;
-}
-
+++ /dev/null
-/*
- * 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 <string>
-
-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 */
-
/*
- * 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;
}
/*
- * 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
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 */
--- /dev/null
+/*
+ * 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);
+
+}
--- /dev/null
+/*
+ * 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 <location/locations.h>
+
+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 */
+
--- /dev/null
+/*
+ * 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 <fcntl.h>
+#include <libsoup/soup.h>
+#include <package-manager.h>
+
+#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;
+ }
+}
+
--- /dev/null
+/*
+ * 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 <sstream>
+#include <stdio.h>
+#include <string>
+#include <vector>
+#include <zlib.h>
+
+#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
+++ /dev/null
-/*
- * 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 <libsoup/soup.h>
-#include <fcntl.h>
-
-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;
- }
-}
-
+++ /dev/null
-/*
- * 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 <notification.h>
-
-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 */
-
+++ /dev/null
-/*
- * 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 <ui-gadget.h>
-
-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");
- }
-}
-
+++ /dev/null
-/*
- * 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 */
-
--- /dev/null
+/*
+ * 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__);
+}
+
--- /dev/null
+/*
+ * 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 */
+
/*
- * 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"
,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)
,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__);
}
if (m_delete_confirm_popup)
evas_object_del(m_delete_confirm_popup);
+
}
Eina_Bool Browser_History_Layout::init(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);
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);
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);
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);
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;
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;
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)
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;
}
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)
{
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)
{
}
}
+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)
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)
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);
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;
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;
/*
- * 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
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);
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);
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;
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 */
/*
- * 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 <ITapiSat.h>
+#include <TapiUtility.h>
}
-#include <sys/utsname.h>
-
-#include "browser-class.h"
+#include <app.h>
#include "browser-config.h"
-
-using namespace std;
+#include "browser-class.h"
struct browser_data {
Evas_Object *main_win;
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))
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)
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");
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);
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);
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 */
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);
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 */
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;
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);
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;
}
/*
- * 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"
,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)
,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);
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;
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;
}
}
-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");
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();
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<Browser_Window *> window_list = m_browser->get_window_list();
int webview_x = 0;
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()) {
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);
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. */
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;
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) {
int current_snapshot_w = 0;
int current_snapshot_h = 0;
std::vector<Browser_Window *> 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);
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);
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;
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;
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();
}
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);
* 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,
__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)
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);
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;
}
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),
int snapshot_w = 0;
std::vector<Browser_Window *> 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();
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);
+ }
}
}
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;
(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);
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);
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;
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;
}
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) {
std::vector<Browser_Window *> 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;
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)
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");
}
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");
}
}
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");
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__);
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<Browser_Window *> window_list = m_browser->get_window_list();
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");
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");
return EINA_FALSE;
}
}
- window_list[i]->m_landscape_snapshot_image = snapshot_image;
+ window_list[i]->m_portrait_snapshot_image = snapshot_image;
}
}
}
/*
- * 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
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);
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);
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;
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 */
--- /dev/null
+/*
+ * 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 <ail.h>
+#include <url_download.h>
+
+#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;
+ }
+}
+
--- /dev/null
+/*
+ * 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 <string>
+
+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 */
+
+++ /dev/null
-/*
- * 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;
- }
-}
-
+++ /dev/null
-/*
- * 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 <string>
-
-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 */
-
+++ /dev/null
-/*
- * 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 <cstdio>
-#include <ctime>
-#include <dirent.h>
-#include <fstream>
-#include <iostream>
-
-#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<const gnutls_datum_t *>(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;
-}
+++ /dev/null
-/*
- * 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 <gnutls/gnutls.h>
-#include <gnutls/x509.h>
-#include <string>
-
-#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 */
-
+++ /dev/null
-/*
- * 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);
- }
-}
-
+++ /dev/null
-/*
- * 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 <string>
-
-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 */
-
+++ /dev/null
-/*
- * 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;
-}
-
+++ /dev/null
-/*
- * 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 */
-
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
\r
#include "browser-settings-class.h"\r
#include "browser-settings-main-view.h"\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
\r
#ifndef BROWSER_SETTINGS_CLASS_H\r
#define BROWSER_SETTINGS_CLASS_H\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#include "browser-class.h"\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
#include "browser-data-manager.h"\r
#include "browser-history-db.h"\r
-#include "browser-personal-data-manager.h"\r
#include "browser-settings-clear-data-view.h"\r
#include "browser-view.h"\r
\r
,m_back_button(NULL)\r
,m_bottom_control_bar(NULL)\r
,m_delete_controlbar_item(NULL)\r
+ ,m_cancel_controlbar_item(NULL)\r
,m_delete_confirm_popup(NULL)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
}\r
if (elm_check_state_get(m_cache_check_box)) {\r
/* Clear cache */\r
- if (!ewk_cache_clear())\r
- BROWSER_LOGE("ewk_cache_clear failed");\r
+ Ewk_Context *ewk_context = ewk_context_default_get();\r
+ ewk_context_cache_clear(ewk_context);\r
+ ewk_context_web_indexed_database_delete_all(ewk_context);\r
+ ewk_context_application_cache_delete_all(ewk_context);\r
+ ewk_context_web_storage_delete_all(ewk_context);\r
+ ewk_context_web_database_delete_all(ewk_context);\r
}\r
if (elm_check_state_get(m_cookie_check_box)) {\r
/* Clear cookie */\r
- ewk_cookies_clear();\r
+ Ewk_Context *ewk_context = ewk_context_default_get();\r
+ ewk_context_cookies_clear(ewk_context);\r
}\r
if (elm_check_state_get(m_saved_id_password_check_box)) {\r
/* Clear saved id & password */\r
- if (!m_data_manager->get_browser_view()->get_personal_data_manager()->clear_personal_data())\r
- BROWSER_LOGE("clear_personal_data failed");\r
}\r
}\r
\r
\r
evas_object_del(clear_data_view->m_delete_confirm_popup);\r
\r
- clear_data_view->_delete_private_data();\r
- clear_data_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
+ clear_data_view->_delete_private_data();\r
+ clear_data_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
\r
- if (elm_naviframe_bottom_item_get(clear_data_view->m_navi_bar)\r
- != elm_naviframe_top_item_get(clear_data_view->m_navi_bar))\r
- elm_naviframe_item_pop(clear_data_view->m_navi_bar);\r
+ if (elm_naviframe_bottom_item_get(clear_data_view->m_navi_bar)\r
+ != elm_naviframe_top_item_get(clear_data_view->m_navi_bar))\r
+ elm_naviframe_item_pop(clear_data_view->m_navi_bar);\r
}\r
\r
void Browser_Settings_Clear_Data_View::__cancel_confirm_response_cb(void *data, Evas_Object *obj,\r
return strdup(BR_STRING_HISTORY);\r
} else if (type == BR_CLEAR_CACHE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_CACHE);\r
+ return strdup(BR_STRING_CLEAR_CACHE);\r
} else if (type == BR_CLEAR_COOKIE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_COOKIE);\r
- } else if (type == BR_CLEAR_SAVED_ID_PASSWORD) {\r
+ return strdup(BR_STRING_COOKIES);\r
+ } else if (type == BR_CLEAR_SAVED_PASSWORD) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_SAVED_ID_PASSWORD);\r
+ return strdup(BR_STRING_CLEAR_PASSWORDS);\r
}\r
\r
return NULL;\r
}\r
return clear_data_view->m_cookie_check_box;\r
}\r
- } else if (type == BR_CLEAR_SAVED_ID_PASSWORD) {\r
+ } else if (type == BR_CLEAR_SAVED_PASSWORD) {\r
if(!strncmp(part, "elm.edit.icon.1", strlen("elm.edit.icon.1"))) {\r
clear_data_view->m_saved_id_password_check_box = elm_check_add(obj);\r
if (clear_data_view->m_saved_id_password_check_box) {\r
else if (type == BR_CLEAR_COOKIE)\r
elm_check_state_set(clear_data_view->m_cookie_check_box,\r
!elm_check_state_get(clear_data_view->m_cookie_check_box));\r
- else if (type == BR_CLEAR_SAVED_ID_PASSWORD)\r
+ else if (type == BR_CLEAR_SAVED_PASSWORD)\r
elm_check_state_set(clear_data_view->m_saved_id_password_check_box,\r
!elm_check_state_get(clear_data_view->m_saved_id_password_check_box));\r
\r
&m_clear_cookie_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
__genlist_item_selected_cb, &m_clear_cookie_item_callback_data);\r
\r
- m_clear_saved_id_password_item_callback_data.type = BR_CLEAR_SAVED_ID_PASSWORD;\r
+ m_clear_saved_id_password_item_callback_data.type = BR_CLEAR_SAVED_PASSWORD;\r
m_clear_saved_id_password_item_callback_data.user_data = this;\r
m_clear_saved_id_password_item_callback_data.it = elm_genlist_item_append(genlist, &m_1text_item_class,\r
&m_clear_saved_id_password_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
\r
elm_genlist_decorate_mode_set(m_genlist, EINA_TRUE);\r
\r
- m_back_button = elm_button_add(m_content_box);\r
- if (!m_back_button) {\r
- BROWSER_LOGE("elm_button_add failed");\r
- return EINA_FALSE;\r
- }\r
- elm_object_style_set(m_back_button, "browser/bookmark_controlbar_back");\r
- evas_object_show(m_back_button);\r
- evas_object_smart_callback_add(m_back_button, "clicked", __cancel_button_clicked_cb, this);\r
-\r
- Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_CLEAR_PRIVATE_DATA,\r
- m_back_button, NULL, m_content_box, "browser_titlebar");\r
+ Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_DELETE_BROWSING_DATA,\r
+ NULL, NULL, m_content_box, "browser_titlebar");\r
+ elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_PREV_BTN, NULL);\r
\r
m_bottom_control_bar = elm_toolbar_add(m_content_box);\r
if (!m_bottom_control_bar) {\r
elm_object_style_set(m_bottom_control_bar, "browser/default");\r
elm_toolbar_shrink_mode_set(m_bottom_control_bar, ELM_TOOLBAR_SHRINK_EXPAND);\r
\r
- Elm_Object_Item *empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL);\r
- elm_object_item_disabled_set(empty_item, EINA_TRUE);\r
-\r
m_delete_controlbar_item = elm_toolbar_item_append(m_bottom_control_bar,\r
- BROWSER_IMAGE_DIR"/01_controlbar_icon_delete.png", NULL,\r
+ NULL, BR_STRING_DELETE,\r
__delete_button_clicked_cb, this);\r
elm_object_item_disabled_set(m_delete_controlbar_item, EINA_TRUE);\r
\r
+ Elm_Object_Item *empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL);\r
+ elm_object_item_disabled_set(empty_item, EINA_TRUE);\r
+\r
empty_item = elm_toolbar_item_append(m_bottom_control_bar, NULL, NULL, NULL, NULL);\r
elm_object_item_disabled_set(empty_item, EINA_TRUE);\r
+\r
+ m_cancel_controlbar_item = elm_toolbar_item_append(m_bottom_control_bar,\r
+ NULL, BR_STRING_CANCEL,\r
+ __cancel_button_clicked_cb, this);\r
+\r
evas_object_show(m_bottom_control_bar);\r
elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_CONTROLBAR, m_bottom_control_bar);\r
\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+\r
\r
#ifndef BROWSER_SETTINGS_CLEAR_DATA_VIEW_H\r
#define BROWSER_SETTINGS_CLEAR_DATA_VIEW_H\r
BR_CLEAR_HISTORY,\r
BR_CLEAR_CACHE,\r
BR_CLEAR_COOKIE,\r
- BR_CLEAR_SAVED_ID_PASSWORD,\r
+ BR_CLEAR_SAVED_PASSWORD,\r
BR_MENU_UNKNOWN\r
}menu_type;\r
\r
Evas_Object *m_delete_button;\r
Evas_Object *m_bottom_control_bar;\r
Elm_Object_Item *m_delete_controlbar_item;\r
+ Elm_Object_Item *m_cancel_controlbar_item;\r
\r
Evas_Object *m_select_all_check_box;\r
Evas_Object *m_history_check_box;\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#include "browser-settings-class.h"\r
#include "browser-settings-edit-homepage-view.h"\r
Evas_Object *entry = br_elm_editfield_entry_get(edit_homepage_view->m_edit_field);\r
char *homepage = elm_entry_markup_to_utf8(elm_entry_entry_get(entry));\r
if (homepage) {\r
- vconf_set_str(USER_HOMEPAGE_KEY, homepage);\r
- vconf_set_str(HOMEPAGE_KEY, USER_HOMEPAGE);\r
+ br_preference_set_str(USER_HOMEPAGE_KEY, homepage);\r
+ br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE);\r
free(homepage);\r
}\r
\r
br_elm_editfield_label_set(m_edit_field, BR_STRING_URL);\r
elm_object_part_content_set(m_content_layout, "elm.swallow.entry", m_edit_field);\r
\r
- char *homepage = vconf_get_str(USER_HOMEPAGE_KEY);\r
+ char *homepage = NULL;\r
+ if (br_preference_get_str(USER_HOMEPAGE_KEY, &homepage) == false) {\r
+ BROWSER_LOGE("failed to get %s preference\n", USER_HOMEPAGE_KEY);\r
+ return EINA_FALSE;\r
+ }\r
Evas_Object *entry = br_elm_editfield_entry_get(m_edit_field);\r
if (homepage) {\r
elm_entry_entry_set(entry, homepage);\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#ifndef BROWSER_SETTINGS_EDIT_HOMEPAGE_H\r
#define BROWSER_SETTINGS_EDIT_HOMEPAGE_H\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#include "browser-view.h"\r
#include "browser-data-manager.h"\r
+#include "browser-history-db.h"\r
#include "browser-settings-clear-data-view.h"\r
#include "browser-settings-edit-homepage-view.h"\r
#include "browser-settings-main-view.h"\r
-#include "browser-settings-plugin-view.h"\r
+#include "browser-settings-website-setting.h"\r
+\r
+#include "browser-geolocation-db.h"\r
\r
-#include "browser-settings-accelerated-composition.h"\r
#include "browser-settings-user-agent-view.h"\r
\r
Browser_Settings_Main_View::Browser_Settings_Main_View(void)\r
,m_run_javascript_check(NULL)\r
,m_display_images_check(NULL)\r
,m_accept_cookies_check(NULL)\r
+ ,m_enable_location_check(NULL)\r
+ ,m_clear_location_confirm_popup(NULL)\r
+ ,m_clear_cache_confirm_popup(NULL)\r
+ ,m_clear_history_confirm_popup(NULL)\r
,m_clear_data_view(NULL)\r
- ,m_default_storage_radio_group(NULL)\r
- ,m_default_storage_mmc_radio_button(NULL)\r
- ,m_plugin_view(NULL)\r
,m_block_popup_check(NULL)\r
- ,m_user_agent_view(NULL)\r
,m_reset_confirm_popup(NULL)\r
,m_navi_it(NULL)\r
+ ,m_show_security_warnings_check(NULL)\r
+ ,m_clear_all_cookies_data_confirm_popup(NULL)\r
+ ,m_auto_save_id_pass_check(NULL)\r
+ ,m_clear_passwords_confirm_popup(NULL)\r
+ ,m_clear_form_data_confirm_popup(NULL)\r
+ ,m_website_setting(NULL)\r
+ ,m_user_agent_view(NULL)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
}\r
Browser_Settings_Main_View::~Browser_Settings_Main_View(void)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
- if (vconf_ignore_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, __mmc_key_changed_cb) < 0)\r
- BROWSER_LOGE("[%s]vconf_ignore_key_changed failed", VCONFKEY_SYSMAN_MMC_STATUS);\r
\r
if (m_edit_homepage_view) {\r
delete m_edit_homepage_view;\r
m_edit_homepage_view = NULL;\r
- }
+ }\r
if (m_clear_data_view) {\r
delete m_clear_data_view;\r
m_clear_data_view = NULL;\r
}\r
- if (m_plugin_view) {\r
- delete m_plugin_view;\r
- m_plugin_view = NULL;\r
+ if (m_website_setting) {\r
+ delete m_website_setting;\r
+ m_website_setting = NULL;\r
}\r
+\r
if (m_user_agent_view) {\r
delete m_user_agent_view;\r
m_user_agent_view = NULL;\r
}\r
+\r
evas_object_smart_callback_del(m_navi_bar, "transition,finished", __naviframe_pop_finished_cb);\r
}\r
\r
main_view->m_edit_homepage_view = NULL;\r
\r
/* If back from edit user homepage, update the url string. */\r
- char* homepage = vconf_get_str(HOMEPAGE_KEY);\r
+ char* homepage = NULL;\r
+ if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) {\r
+ BROWSER_LOGE("failed to get %s preferenct\n", HOMEPAGE_KEY);\r
+ return;\r
+ }\r
if (homepage) {\r
if (!strncmp(homepage, USER_HOMEPAGE,\r
strlen(USER_HOMEPAGE)))\r
}\r
}\r
\r
+ if (main_view->m_edit_homepage_view) {\r
+ delete main_view->m_edit_homepage_view;\r
+ main_view->m_edit_homepage_view = NULL;\r
+ }\r
+\r
if (main_view->m_clear_data_view) {\r
delete main_view->m_clear_data_view;\r
main_view->m_clear_data_view = NULL;\r
}\r
- if (main_view->m_plugin_view) {\r
- delete main_view->m_plugin_view;\r
- main_view->m_plugin_view = NULL;\r
- }\r
if (main_view->m_user_agent_view) {\r
delete main_view->m_user_agent_view;\r
main_view->m_user_agent_view = NULL;\r
}\r
+\r
+ BROWSER_LOGD("main_view->m_website_setting = %d", main_view->m_website_setting);\r
+ if (main_view->m_website_setting) {\r
+ delete main_view->m_website_setting;\r
+ main_view->m_website_setting = NULL;\r
+ }\r
+ /*Disable website setting menu when there is no such data */\r
+ Browser_Geolocation_DB *geo_db = main_view->get_data_manager()->get_geolocation_db();\r
+ if ((geo_db->get_geolocation_info_count()) == 0) {\r
+ elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_TRUE);\r
+ Ewk_Context *context = ewk_context_default_get();\r
+ ewk_context_application_cache_origins_get(context, main_view->__application_cache_origin_get_cb, main_view);\r
+ ewk_context_web_storage_origins_get(context, main_view->__web_storage_origin_get_cb, main_view);\r
+ ewk_context_web_database_origins_get(context, main_view->__web_database_origin_get_cb, main_view);\r
+ }\r
}\r
\r
Eina_Bool Browser_Settings_Main_View::_create_main_layout(void)\r
return EINA_FALSE;\r
}\r
elm_radio_state_value_set(m_auto_save_id_pass_radio_group, -1);\r
-\r
- m_default_storage_radio_group = elm_radio_add(m_genlist);\r
- if (!m_default_storage_radio_group) {\r
- BROWSER_LOGE("elm_radio_add failed.");\r
- return EINA_FALSE;\r
- }\r
- elm_radio_state_value_set(m_default_storage_radio_group, -1);\r
-\r
m_navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_INTERNET,\r
m_back_button, NULL, m_genlist, "browser_titlebar");\r
\r
Browser_Settings_Main_View::menu_type type = callback_data->type;\r
Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data);\r
\r
- if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES\r
- || type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE\r
- || type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE) {\r
+ if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
+ || type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES\r
+#endif\r
+ || type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE\r
+ || type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE\r
+ || type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE) {\r
if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
Evas_Object *radio_button = elm_radio_add(obj);\r
if (radio_button) {\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES)\r
elm_radio_state_value_set(radio_button, 0);\r
- else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE)\r
+ else\r
+#endif\r
+ if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE)\r
elm_radio_state_value_set(radio_button, 1);\r
else if (type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE)\r
elm_radio_state_value_set(radio_button, 2);\r
+ else if (type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE)\r
+ elm_radio_state_value_set(radio_button, 3);\r
+ else if (type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE)\r
+ elm_radio_state_value_set(radio_button, 4);\r
\r
elm_radio_group_add(radio_button, main_view->m_homepage_radio_group);\r
evas_object_propagate_events_set(radio_button, EINA_FALSE);\r
evas_object_smart_callback_add(radio_button, "changed",\r
__homepage_sub_item_clicked_cb, data);\r
\r
- char* homepage = vconf_get_str(HOMEPAGE_KEY);\r
+ char* homepage = NULL;\r
+ if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) {\r
+ BROWSER_LOGE("failed to get %s preference\n", HOMEPAGE_KEY);\r
+ return NULL;\r
+ }\r
+\r
if (!homepage) {\r
- vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES);\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
+ br_preference_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES);\r
homepage = strdup(MOST_VISITED_SITES);\r
+#else\r
+ br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE);\r
+ homepage = strdup(USER_HOMEPAGE);\r
+#endif\r
}\r
\r
if (!homepage) {\r
return NULL;\r
}\r
\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
if (!strncmp(homepage, MOST_VISITED_SITES,\r
strlen(MOST_VISITED_SITES)))\r
elm_radio_value_set(main_view->m_homepage_radio_group, 0);\r
- else if (!strncmp(homepage, RECENTLY_VISITED_SITE,\r
+ else\r
+#endif\r
+ if (!strncmp(homepage, RECENTLY_VISITED_SITE,\r
strlen(RECENTLY_VISITED_SITE)))\r
elm_radio_value_set(main_view->m_homepage_radio_group, 1);\r
else if (!strncmp(homepage, USER_HOMEPAGE,\r
strlen(USER_HOMEPAGE)))\r
elm_radio_value_set(main_view->m_homepage_radio_group, 2);\r
+ else if (!strncmp(homepage, EMPTY_PAGE,\r
+ strlen(EMPTY_PAGE)))\r
+ elm_radio_value_set(main_view->m_homepage_radio_group, 4);\r
else\r
elm_radio_value_set(main_view->m_homepage_radio_group, 3);\r
\r
- free(homepage);
+ free(homepage);\r
}\r
\r
return radio_button;\r
}\r
- } else if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH\r
- || type == BR_DISPLAY_SUBMENU_READABLE) {\r
+ } else if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH\r
+ || type == BR_CONTENT_SUBMENU_READABLE) {\r
if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
Evas_Object *radio_button = elm_radio_add(obj);\r
if (radio_button) {\r
- if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH)\r
+ if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH)\r
elm_radio_state_value_set(radio_button, 0);\r
else\r
elm_radio_state_value_set(radio_button, 1);\r
\r
elm_radio_group_add(radio_button, main_view->m_default_view_level_radio_group);\r
\r
- char *view_level = vconf_get_str(DEFAULT_VIEW_LEVEL_KEY);\r
+ char *view_level = NULL;\r
+ if (br_preference_get_str(DEFAULT_VIEW_LEVEL_KEY, &view_level) == false) {\r
+ BROWSER_LOGE("failed to get %s prefernece", DEFAULT_VIEW_LEVEL_KEY);\r
+ return NULL;\r
+ }\r
if (!view_level) {\r
- vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE);\r
+ br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE);\r
view_level = strdup(BR_STRING_READABLE);\r
}\r
if (!view_level) {\r
evas_object_smart_callback_add(main_view->m_run_javascript_check, "changed",\r
__run_javascript_check_changed_cb, main_view->m_run_javascript_check);\r
\r
- int run_javascript = 1;\r
- if (vconf_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript) < 0)\r
- BROWSER_LOGE("Can not get [%s] value.\n", RUN_JAVASCRIPT_KEY);\r
-\r
+ bool run_javascript = 1;\r
+ br_preference_get_bool(RUN_JAVASCRIPT_KEY, &run_javascript);\r
elm_check_state_set(main_view->m_run_javascript_check, run_javascript);\r
evas_object_propagate_events_set(main_view->m_run_javascript_check, EINA_FALSE);\r
}\r
evas_object_smart_callback_add(main_view->m_display_images_check, "changed",\r
__display_images_check_changed_cb, main_view->m_display_images_check);\r
\r
- int display_images = 1;\r
- if (vconf_get_bool(DISPLAY_IMAGES_KEY, &display_images) < 0)\r
- BROWSER_LOGE("Can not get [%s] value.\n", DISPLAY_IMAGES_KEY);\r
-\r
+ bool display_images = 1;\r
+ br_preference_get_bool(DISPLAY_IMAGES_KEY, &display_images);\r
elm_check_state_set(main_view->m_display_images_check, display_images);\r
evas_object_propagate_events_set(main_view->m_display_images_check, EINA_FALSE);\r
}\r
evas_object_smart_callback_add(main_view->m_block_popup_check, "changed",\r
__block_popup_check_changed_cb, main_view->m_block_popup_check);\r
\r
- int block_popup = 1;\r
- if (vconf_get_bool(BLOCK_POPUP_KEY, &block_popup) < 0)\r
- BROWSER_LOGE("Can not get [%s] value.\n", BLOCK_POPUP_KEY);\r
-\r
+ bool block_popup = 1;\r
+ br_preference_get_bool(BLOCK_POPUP_KEY, &block_popup);\r
elm_check_state_set(main_view->m_block_popup_check, block_popup);\r
evas_object_propagate_events_set(main_view->m_block_popup_check, EINA_FALSE);\r
}\r
return main_view->m_block_popup_check;\r
}\r
+ } else if (type == BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS) {\r
+ if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
+ main_view->m_show_security_warnings_check = elm_check_add(obj);\r
+ if (main_view->m_show_security_warnings_check) {\r
+ elm_object_style_set(main_view->m_show_security_warnings_check, "on&off");\r
+ evas_object_smart_callback_add(main_view->m_show_security_warnings_check, "changed",\r
+ __show_security_warnings_check_changed_cb, main_view->m_show_security_warnings_check);\r
+\r
+ bool show_security_warnings = 1;\r
+ br_preference_get_bool(SHOW_SECURITY_WARNINGS_KEY, &show_security_warnings);\r
+ elm_check_state_set(main_view->m_show_security_warnings_check, show_security_warnings);\r
+ evas_object_propagate_events_set(main_view->m_show_security_warnings_check, EINA_FALSE);\r
+ }\r
+ return main_view->m_show_security_warnings_check;\r
+ }\r
+ } else if (type == BR_PRIVACY_MENU_REMEMBER_FORM_DATA) {\r
+ if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
+ main_view->m_auto_save_form_data_check = elm_check_add(obj);\r
+ if (main_view->m_auto_save_form_data_check) {\r
+ elm_object_style_set(main_view->m_auto_save_form_data_check, "on&off");\r
+ evas_object_smart_callback_add(main_view->m_auto_save_form_data_check, "changed",\r
+ __auto_save_form_data_check_changed_cb, main_view->m_auto_save_form_data_check);\r
+\r
+ bool auto_save_form = false;\r
+ br_preference_get_bool(AUTO_SAVE_FORM_DATA_KEY, &auto_save_form);\r
+ elm_check_state_set(main_view->m_auto_save_form_data_check, auto_save_form);\r
+ evas_object_propagate_events_set(main_view->m_auto_save_form_data_check, EINA_FALSE);\r
+ }\r
+ return main_view->m_auto_save_form_data_check;\r
+ }\r
+ } else if (type == BR_PRIVACY_MENU_REMEMBER_PASSWORDS) {\r
+ if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
+ main_view->m_auto_save_id_pass_check = elm_check_add(obj);\r
+ if (main_view->m_auto_save_id_pass_check) {\r
+ elm_object_style_set(main_view->m_auto_save_id_pass_check, "on&off");\r
+ evas_object_smart_callback_add(main_view->m_auto_save_id_pass_check, "changed",\r
+ __auto_save_id_pass_check_changed_cb, main_view->m_auto_save_id_pass_check);\r
+\r
+ bool auto_save = false;\r
+ br_preference_get_bool(AUTO_SAVE_ID_PASSWORD_KEY, &auto_save);\r
+ elm_check_state_set(main_view->m_auto_save_id_pass_check, auto_save);\r
+ evas_object_propagate_events_set(main_view->m_auto_save_id_pass_check, EINA_FALSE);\r
+ }\r
+ return main_view->m_auto_save_id_pass_check;\r
+ }\r
} else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) {\r
if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
main_view->m_accept_cookies_check = elm_check_add(obj);\r
evas_object_smart_callback_add(main_view->m_accept_cookies_check, "changed",\r
__accept_cookies_check_changed_cb, main_view->m_accept_cookies_check);\r
\r
- int accept_cookies = 1;\r
- if (vconf_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies) < 0)\r
- BROWSER_LOGE("Can not get [%s] value.\n", ACCEPT_COOKIES_KEY);\r
-\r
+ bool accept_cookies = 1;\r
+ br_preference_get_bool(ACCEPT_COOKIES_KEY, &accept_cookies);\r
elm_check_state_set(main_view->m_accept_cookies_check, accept_cookies);\r
evas_object_propagate_events_set(main_view->m_accept_cookies_check, EINA_FALSE);\r
}\r
return main_view->m_accept_cookies_check;\r
}\r
+ } else if (type == BR_PRIVACY_MENU_ENABLE_LOCATION) {\r
+ if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
+ main_view->m_enable_location_check = elm_check_add(obj);\r
+ if (main_view->m_enable_location_check) {\r
+ elm_object_style_set(main_view->m_enable_location_check, "on&off");\r
+ evas_object_smart_callback_add(main_view->m_enable_location_check, "changed",\r
+ __enable_location_check_changed_cb, main_view);\r
+\r
+ bool enable_location = 1;\r
+ br_preference_get_bool(ENABLE_LOCATION_KEY, &enable_location);\r
+ elm_check_state_set(main_view->m_enable_location_check, enable_location);\r
+ evas_object_propagate_events_set(main_view->m_enable_location_check, EINA_FALSE);\r
+ }\r
+ return main_view->m_enable_location_check;\r
+ }\r
} else if (type == BR_PRIVACY_SUBMENU_ALWAYS_ASK\r
|| type == BR_PRIVACY_SUBMENU_ALWAYS_ON\r
|| type == BR_PRIVACY_SUBMENU_ALWAYS_OFF) {\r
\r
elm_radio_group_add(radio_button, main_view->m_auto_save_id_pass_radio_group);\r
\r
- char* auto_save = vconf_get_str(AUTO_SAVE_ID_PASSWORD_KEY);\r
+ char* auto_save = NULL;\r
+ if (br_preference_get_str(AUTO_SAVE_ID_PASSWORD_KEY, &auto_save) == false) {\r
+ BROWSER_LOGE("failed to get %s preference\n", AUTO_SAVE_ID_PASSWORD_KEY);\r
+ return NULL;\r
+ }\r
if (!auto_save) {\r
- vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK);\r
+ br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK);\r
auto_save = strdup(ALWAYS_ASK);\r
}\r
\r
\r
return radio_button;\r
}\r
- } else if (type == BR_STORAGE_SUBMENU_PHONE
- || type == BR_STORAGE_SUBMENU_MEMORY_CARD) {\r
- if (!strncmp(part, "elm.icon", strlen("elm.icon"))) {\r
- Evas_Object *radio_button = elm_radio_add(obj);\r
- if (radio_button) {\r
- if (type == BR_STORAGE_SUBMENU_PHONE)\r
- elm_radio_state_value_set(radio_button, 0);\r
- else {\r
- main_view->m_default_storage_mmc_radio_button = radio_button;\r
- elm_radio_state_value_set(radio_button, 1);\r
- }\r
-\r
- elm_radio_group_add(radio_button, main_view->m_default_storage_radio_group);\r
-\r
- int current_storage = SETTING_DEF_MEMORY_PHONE;\r
- if(vconf_get_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, ¤t_storage) < 0)\r
- {\r
- vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE);\r
- current_storage = SETTING_DEF_MEMORY_PHONE;\r
- }\r
- int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED;\r
- if (vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) {\r
- BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SYSMAN_MMC_STATUS);\r
- mmc = SETTING_DEF_MEMORY_MMC;\r
- }\r
- if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED)\r
- elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_FALSE);\r
- else\r
- elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_TRUE);\r
-\r
- if (current_storage == SETTING_DEF_MEMORY_PHONE)\r
- elm_radio_value_set(main_view->m_default_storage_radio_group, 0);\r
- else if (current_storage == SETTING_DEF_MEMORY_MMC) {\r
- if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED)\r
- elm_radio_value_set(main_view->m_default_storage_radio_group, 1);\r
- else\r
- elm_radio_value_set(main_view->m_default_storage_radio_group, 0);\r
- }\r
- }\r
- return radio_button;\r
- }\r
}\r
\r
return NULL;\r
BROWSER_LOGD("[%s]", __func__);\r
const char *key = RUN_JAVASCRIPT_KEY;\r
Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
- if (vconf_set_bool(key, state) != 0)\r
- SLOGE("Key: %s, FAILED", key);\r
+ br_preference_set_bool(key, state);\r
}\r
\r
void Browser_Settings_Main_View::__display_images_check_changed_cb(void *data,\r
BROWSER_LOGD("[%s]", __func__);\r
const char *key = DISPLAY_IMAGES_KEY;\r
Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
- if (vconf_set_bool(key, state) != 0)\r
- SLOGE("Key: %s, FAILED", key);\r
+ br_preference_set_bool(key, state);\r
}\r
\r
void Browser_Settings_Main_View::__block_popup_check_changed_cb(void *data,\r
BROWSER_LOGD("[%s]", __func__);\r
const char *key = BLOCK_POPUP_KEY;\r
Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
- if (vconf_set_bool(key, state) != 0)\r
- SLOGE("Key: %s, FAILED", key);\r
+ br_preference_set_bool(key, state);\r
+}\r
+\r
+void Browser_Settings_Main_View::__show_security_warnings_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ const char *key = SHOW_SECURITY_WARNINGS_KEY;\r
+ Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
+ br_preference_set_bool(key, state);\r
+}\r
+\r
+void Browser_Settings_Main_View::__auto_save_form_data_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ const char *key = AUTO_SAVE_FORM_DATA_KEY;\r
+ Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
+ br_preference_set_bool(key, state);\r
+}\r
+\r
+void Browser_Settings_Main_View::__auto_save_id_pass_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ const char *key = AUTO_SAVE_ID_PASSWORD_KEY;\r
+ Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
+ br_preference_set_bool(key, state);\r
}\r
\r
void Browser_Settings_Main_View::__accept_cookies_check_changed_cb(void *data,\r
BROWSER_LOGD("[%s]", __func__);\r
const char *key = ACCEPT_COOKIES_KEY;\r
Eina_Bool state = elm_check_state_get((Evas_Object*)data);\r
- if (vconf_set_bool(key, state) != 0)\r
- SLOGE("Key: %s, FAILED", key);\r
+ br_preference_set_bool(key, state);\r
+}\r
+\r
+void Browser_Settings_Main_View::__enable_location_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+\r
+ if (!data) {\r
+ BROWSER_LOGE("data is null");\r
+ return;\r
+ }\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ const char *key = ENABLE_LOCATION_KEY;\r
+\r
+ Eina_Bool state = elm_check_state_get(obj);\r
+ br_preference_set_bool(key, state);\r
+\r
+ elm_object_item_disabled_set(main_view->m_clear_location_access_callback_data.it, !state);\r
}\r
\r
char *Browser_Settings_Main_View::__genlist_label_get(void *data, Evas_Object *obj, const char *part)\r
-{
+{\r
if (!data)\r
return NULL;\r
\r
if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
return strdup(BR_STRING_HOMEPAGE);\r
else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) {\r
- char *homepage = vconf_get_str(HOMEPAGE_KEY);\r
+ char *homepage = NULL;\r
+ if (br_preference_get_str(HOMEPAGE_KEY, &homepage) == false) {\r
+ BROWSER_LOGE("failed to get %s preference\n", HOMEPAGE_KEY);\r
+ return NULL;\r
+ }\r
BROWSER_LOGD("homepage = %s", homepage);\r
if (homepage) {\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
if (!strncmp(homepage, MOST_VISITED_SITES, strlen(MOST_VISITED_SITES))) {\r
free(homepage);\r
- return strdup(BR_STRING_EMPTY_PAGE);\r
- } else if (!strncmp(homepage, RECENTLY_VISITED_SITE,\r
+ return strdup(BR_STRING_MOST_VISITED_SITES);\r
+ } else\r
+#endif\r
+ if (!strncmp(homepage, RECENTLY_VISITED_SITE,\r
strlen(RECENTLY_VISITED_SITE))) {\r
free(homepage);\r
return strdup(BR_STRING_RECENTLY_VISITED_SITE);\r
+ } else if (!strncmp(homepage, EMPTY_PAGE,\r
+ strlen(EMPTY_PAGE))) {\r
+ free(homepage);\r
+ return strdup(BR_STRING_BLANK_PAGE);\r
} else {\r
free(homepage);\r
return strdup(BR_STRING_USER_HOMEPAGE);\r
}\r
return NULL;\r
}\r
- } else if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES) {\r
+ }\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
+ else if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_EMPTY_PAGE);\r
- } else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) {\r
+ return strdup(BR_STRING_MOST_VISITED_SITES);\r
+ }\r
+#endif\r
+ else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_RECENTLY_VISITED_SITE);\r
} else if (type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE) {\r
+ if (!strncmp(part, "elm.text", strlen("elm.text"))) {\r
+ char *homepage = NULL;\r
+ if (br_preference_get_str(USER_HOMEPAGE_KEY, &homepage) == false) {\r
+ BROWSER_LOGE("failed to get %s preference\n", USER_HOMEPAGE_KEY);\r
+ return NULL;\r
+ }\r
+ return homepage;\r
+ }\r
+ } else if (type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return vconf_get_str(USER_HOMEPAGE_KEY);\r
- } else if (type == BR_DISPLAY_TITLE) {\r
+ return strdup(BR_STRING_CURRENT_PAGE);\r
+ } else if (type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_DISPLAY);\r
- } else if (type == BR_DISPLAY_MENU_DEFAULT_VIEW_LEVEL) {\r
+ return strdup(BR_STRING_BLANK_PAGE);\r
+ } else if (type == BR_CONTENT_MENU_DEFAULT_VIEW_LEVEL) {\r
if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
return strdup(BR_STRING_DEFAULT_VIEW_LEVEL);\r
else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) {\r
- char *view_level = vconf_get_str(DEFAULT_VIEW_LEVEL_KEY);\r
+ char *view_level = NULL;\r
+ if (br_preference_get_str(DEFAULT_VIEW_LEVEL_KEY, &view_level) == false) {\r
+ BROWSER_LOGE("failed to get %s preference\n", DEFAULT_VIEW_LEVEL_KEY);\r
+ return NULL;\r
+ }\r
if (view_level) {\r
if (!strncmp(view_level, FIT_TO_WIDTH, strlen(FIT_TO_WIDTH))) {\r
free(view_level);\r
}\r
return NULL;\r
}\r
- } else if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH) {\r
+ } else if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_FIT_TO_WIDTH);\r
- } else if (type == BR_DISPLAY_SUBMENU_READABLE) {\r
+ } else if (type == BR_CONTENT_SUBMENU_READABLE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_READABLE);\r
} else if (type == BR_CONTENT_TITLE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_CONTENT);\r
+ return strdup(BR_STRING_CONTENT_SETTINGS);\r
} else if (type == BR_CONTENT_MENU_RUN_JAVASCRIPT) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_RUN_JAVASCRIPT);\r
} else if (type == BR_CONTENT_MENU_DISPLAY_IMAGES) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_DISPLAY_IMAGES);\r
+ return strdup(BR_STRING_SHOW_IMAGES);\r
} else if (type == BR_CONTENT_MENU_BLOCK_POPUP) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_BLOCK_POPUP);\r
} else if (type == BR_PRIVACY_TITLE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_PRIVACY);\r
- } else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) {\r
+ return strdup(BR_STRING_PRIVACY_AND_SECURTY);\r
+ } else if (type == BR_PRIVATE_MENU_CLEAR_CACHE) {\r
+ if (!strncmp(part, "elm.text", strlen("elm.text")))\r
+ return strdup(BR_STRING_CLEAR_CACHE);\r
+ } else if (type == BR_PRIVATE_MENU_CLEAR_HISTORY) {\r
+ if (!strncmp(part, "elm.text", strlen("elm.text")))\r
+ return strdup(BR_STRING_CLEAR_HISTORY);\r
+ } else if (type == BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
+ return strdup(BR_STRING_SHOW_SECURITY_WARNINGS);\r
+ } else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_COOKIES);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
return strdup(BR_STRING_ACCEPT_COOKIES);\r
- } else if (type == BR_PRIVACY_MENU_AUTOSAVE_ID_PASSWORD) {\r
- if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
- return strdup(BR_STRING_AUTO_SAVE_ID_PASSWORD);\r
- else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) {\r
- char *auto_save = vconf_get_str(AUTO_SAVE_ID_PASSWORD_KEY);\r
- BROWSER_LOGD("auto_save = %s", auto_save);\r
- if (auto_save) {\r
- if (!strncmp(auto_save, ALWAYS_ASK, strlen(ALWAYS_ASK))) {\r
- free(auto_save);\r
- return strdup(BR_STRING_ALWAYS_ASK);\r
- } else if (!strncmp(auto_save, ALWAYS_ON, strlen(ALWAYS_ON))) {\r
- free(auto_save);\r
- return strdup(BR_STRING_ON);\r
- } else {\r
- free(auto_save);\r
- return strdup(BR_STRING_OFF);\r
- }\r
- }\r
- return NULL;\r
- }\r
+ } else if (type == BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_COOKIES);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_CLEAR_ALL_COOKIE_DATA);\r
+ } else if (type == BR_PRIVACY_MENU_REMEMBER_FORM_DATA) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_FORMDATA);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_REMEMBER_FORMDATA);\r
+ } else if (type == BR_PRIVACY_CLEAR_FORM_DATA) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_FORMDATA);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_CLEAR_FORMDATA);\r
+ } else if (type == BR_PRIVACY_MENU_REMEMBER_PASSWORDS) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_PASSWORDS);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_REMEMBER_PASSWORDS);\r
} else if (type == BR_PRIVACY_SUBMENU_ALWAYS_ASK) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_ALWAYS_ASK);\r
return strdup(BR_STRING_OFF);\r
} else if (type == BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_CLEAR_PRIVATE_DATA);\r
+ return strdup(BR_STRING_DELETE_BROWSING_DATA);\r
+ } else if (type == BR_PRIVACY_MENU_ENABLE_LOCATION) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_LOCATION);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_ENABLE_LOCATION);\r
+ } else if (type == BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_LOCATION);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_CLEAR_LOCATION_ACCESS);\r
+ } else if (type == BR_PRIVACY_CLEAR_PASSWORDS) {\r
+ if (!strncmp(part, "elm.text.2", strlen("elm.text.2")))\r
+ return strdup(BR_STRING_PASSWORDS);\r
+ else if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
+ return strdup(BR_STRING_CLEAR_PASSWORDS);\r
+ } else if (type == BR_PRIVACY_WEBSITE_SETTING) {\r
+ if (!strncmp(part, "elm.text", strlen("elm.text")))\r
+ return strdup(BR_STRING_WEBSITE_SETTINGS);\r
} else if (type == BR_DEBUG_TITLE) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_DEBUG);\r
+ return strdup(BR_STRING_DEVELOPER_MODE);\r
} else if (type == BR_MENU_USER_AGENT) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_USER_AGENT);\r
- } else if (type == BR_STORAGE_TITLE) {\r
- if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_STORAGE);\r
- } else if (type == BR_STORAGE_MENU_DEFAULT_STORAGE) {\r
- if (!strncmp(part, "elm.text.1", strlen("elm.text.1")))\r
- return strdup(BR_STRING_DEFAULT_STORAGE);\r
- else if (!strncmp(part, "elm.text.2", strlen("elm.text.2"))) {\r
- int current_storage = SETTING_DEF_MEMORY_PHONE;\r
- if(vconf_get_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, ¤t_storage) < 0) {\r
- BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT);\r
- return strdup(BR_STRING_PHONE);\r
- }\r
- if (current_storage == SETTING_DEF_MEMORY_PHONE)\r
- return strdup(BR_STRING_PHONE);\r
- else {\r
- int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED;\r
- if (vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) {\r
- BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SYSMAN_MMC_STATUS);\r
- return strdup(BR_STRING_MEMORY_CARD);\r
- }\r
- if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED)\r
- return strdup(BR_STRING_MEMORY_CARD);\r
- else\r
- return strdup(BR_STRING_PHONE);\r
- }\r
- }\r
- } else if (type == BR_STORAGE_SUBMENU_PHONE) {\r
- if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_PHONE);\r
- } else if (type == BR_STORAGE_SUBMENU_MEMORY_CARD) {\r
- if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_MEMORY_CARD);\r
- } else if (type == BR_MENU_PLUGINS) {\r
- if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup(BR_STRING_PLUGINS);\r
- } else if (type == BR_MENU_ACCELERATED_COMPOSITION) {\r
- if (!strncmp(part, "elm.text", strlen("elm.text")))\r
- return strdup("Accelerated composition");\r
} else if (type == BR_MENU_RESET_TO_DEFAULT) {\r
if (!strncmp(part, "elm.text", strlen("elm.text")))\r
return strdup(BR_STRING_RESET_TO_DEFAULT);\r
Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data);\r
\r
int radio_value = 0;\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
if (type == BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES)\r
radio_value = 0;\r
- else if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE)\r
+ else\r
+#endif\r
+ if (type == BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE)\r
radio_value = 1;\r
else if (type == BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE)\r
radio_value = 2;\r
+ else if (type == BR_HOMEPAGE_SUBMENU_CURRENT_PAGE)\r
+ radio_value = 3;\r
+ else if (type == BR_HOMEPAGE_SUBMENU_EMPTY_PAGE)\r
+ radio_value = 4;\r
\r
elm_radio_value_set(main_view->m_homepage_radio_group, radio_value);\r
\r
+ if (radio_value == 3)\r
+ elm_radio_value_set(main_view->m_homepage_radio_group, 2);\r
+\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
if (radio_value == 0)\r
- vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES);\r
- else if (radio_value == 1)\r
- vconf_set_str(HOMEPAGE_KEY, RECENTLY_VISITED_SITE);\r
+ br_preference_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES);\r
+ else\r
+#endif\r
+ if (radio_value == 1)\r
+ br_preference_set_str(HOMEPAGE_KEY, RECENTLY_VISITED_SITE);\r
else if (radio_value == 2) {\r
main_view->m_edit_homepage_view = new(nothrow) Browser_Settings_Edit_Homepage_View(main_view);\r
if (!main_view->m_edit_homepage_view) {\r
delete main_view->m_edit_homepage_view;\r
main_view->m_edit_homepage_view = NULL;\r
}\r
+ } else if (radio_value == 3) {\r
+ br_preference_set_str(USER_HOMEPAGE_KEY, m_data_manager->get_browser_view()->get_url().c_str());\r
+ br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE);\r
+\r
+ elm_genlist_item_update(main_view->m_user_homepage_item_callback_data.it);\r
+ } else if (radio_value == 4) {\r
+ br_preference_set_str(HOMEPAGE_KEY, EMPTY_PAGE);\r
}\r
+\r
elm_genlist_item_update(main_view->m_homepage_item_callback_data.it);\r
\r
elm_genlist_item_selected_set(callback_data->it, EINA_FALSE);\r
Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data);\r
\r
int radio_value = 0;\r
- if (type == BR_DISPLAY_SUBMENU_FIT_TO_WIDTH)\r
+ if (type == BR_CONTENT_SUBMENU_FIT_TO_WIDTH)\r
radio_value = 0;\r
- else if (type == BR_DISPLAY_SUBMENU_READABLE)\r
+ else if (type == BR_CONTENT_SUBMENU_READABLE)\r
radio_value = 1;\r
\r
if (elm_radio_value_get(main_view->m_default_view_level_radio_group) != radio_value) {\r
elm_radio_value_set(main_view->m_default_view_level_radio_group, radio_value);\r
if (radio_value == 0)\r
- vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, FIT_TO_WIDTH);\r
+ br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, FIT_TO_WIDTH);\r
else\r
- vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE);\r
+ br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE);\r
\r
elm_genlist_item_update(main_view->m_defailt_view_level_item_callback_data.it);\r
}\r
if (elm_radio_value_get(main_view->m_auto_save_id_pass_radio_group) != radio_value) {\r
elm_radio_value_set(main_view->m_auto_save_id_pass_radio_group, radio_value);\r
if (radio_value == 0)\r
- vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK);\r
+ br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK);\r
else if (radio_value == 1)\r
- vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ON);\r
+ br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ON);\r
else if (radio_value == 2)\r
- vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_OFF);\r
+ br_preference_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_OFF);\r
\r
elm_genlist_item_update(main_view->m_auto_save_item_callback_data.it);\r
}\r
elm_genlist_item_selected_set(callback_data->it, EINA_FALSE);\r
}\r
\r
-void Browser_Settings_Main_View::__default_storage_sub_item_clicked_cb(void *data,\r
- Evas_Object *obj, void *event_info)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (!data)\r
- return;\r
- genlist_callback_data *callback_data = (genlist_callback_data *)data;\r
- Browser_Settings_Main_View::menu_type type = callback_data->type;\r
- Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)(callback_data->user_data);\r
-\r
- int radio_value = 0;\r
- if (type == BR_STORAGE_SUBMENU_PHONE)\r
- radio_value = 0;\r
- else\r
- radio_value = 1;\r
-\r
- if (elm_radio_value_get(main_view->m_default_storage_radio_group) != radio_value) {\r
- elm_radio_value_set(main_view->m_default_storage_radio_group, radio_value);\r
- if (radio_value == 0) {\r
- if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) < 0)\r
- BROWSER_LOGE("[%s]vconf_set_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT);\r
- }\r
- else if (radio_value == 1\r
- && elm_object_disabled_get(main_view->m_default_storage_mmc_radio_button) == EINA_FALSE)\r
- if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_MMC) < 0)\r
- BROWSER_LOGE("[%s]vconf_set_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT);\r
-\r
- elm_genlist_item_update(main_view->m_default_storage_item_callback_data.it);\r
- }\r
-\r
- elm_genlist_item_selected_set(callback_data->it, EINA_FALSE);\r
-}\r
-\r
void Browser_Settings_Main_View::__expandable_icon_clicked_cb(void *data, Evas_Object *obj,\r
void *event_info)\r
{\r
} else {\r
elm_genlist_item_expanded_set(it, EINA_TRUE);\r
if (it == main_view->m_homepage_item_callback_data.it) {\r
+ BROWSER_LOGD("__expandable_icon_clicked_cb - homepage");\r
/* If homepage menu. */\r
- main_view->m_most_visited_item_callback_data.type = BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES;\r
- main_view->m_most_visited_item_callback_data.user_data = main_view;\r
- main_view->m_most_visited_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
- &(main_view->m_most_visited_item_callback_data), it,\r
+ main_view->m_current_page_item_callback_data.type = BR_HOMEPAGE_SUBMENU_CURRENT_PAGE;\r
+ main_view->m_current_page_item_callback_data.user_data = main_view;\r
+ main_view->m_current_page_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
+ &(main_view->m_current_page_item_callback_data), it,\r
ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb,\r
- &(main_view->m_most_visited_item_callback_data));\r
+ &(main_view->m_current_page_item_callback_data));\r
+\r
+ main_view->m_empty_page_item_callback_data.type = BR_HOMEPAGE_SUBMENU_EMPTY_PAGE;\r
+ main_view->m_empty_page_item_callback_data.user_data = main_view;\r
+ main_view->m_empty_page_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
+ &(main_view->m_empty_page_item_callback_data), it,\r
+ ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb,\r
+ &(main_view->m_empty_page_item_callback_data));\r
\r
main_view->m_recently_visited_item_callback_data.type = BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE;\r
main_view->m_recently_visited_item_callback_data.user_data = main_view;\r
ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb,\r
&(main_view->m_recently_visited_item_callback_data));\r
\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
+ main_view->m_most_visited_item_callback_data.type = BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES;\r
+ main_view->m_most_visited_item_callback_data.user_data = main_view;\r
+ main_view->m_most_visited_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
+ &(main_view->m_most_visited_item_callback_data), it,\r
+ ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb,\r
+ &(main_view->m_most_visited_item_callback_data));\r
+#endif\r
+\r
main_view->m_user_homepage_item_callback_data.type = BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE;\r
main_view->m_user_homepage_item_callback_data.user_data = main_view;\r
main_view->m_user_homepage_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
&(main_view->m_user_homepage_item_callback_data), it,\r
ELM_GENLIST_ITEM_NONE, __homepage_sub_item_clicked_cb,\r
&(main_view->m_user_homepage_item_callback_data));\r
+\r
+ if (m_data_manager->get_browser_view()->get_url().empty())\r
+ elm_object_item_disabled_set(main_view->m_current_page_item_callback_data.it, EINA_TRUE);\r
} else if (it == main_view->m_defailt_view_level_item_callback_data.it) {\r
- main_view->m_fit_to_width_item_callback_data.type = BR_DISPLAY_SUBMENU_FIT_TO_WIDTH;\r
+ BROWSER_LOGD("__expandable_icon_clicked_cb - default view");\r
+ main_view->m_fit_to_width_item_callback_data.type = BR_CONTENT_SUBMENU_FIT_TO_WIDTH;\r
main_view->m_fit_to_width_item_callback_data.user_data = main_view;\r
main_view->m_fit_to_width_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
&(main_view->m_fit_to_width_item_callback_data), it,\r
ELM_GENLIST_ITEM_NONE, __default_view_level_sub_item_clicked_cb,\r
&(main_view->m_fit_to_width_item_callback_data));\r
\r
- main_view->m_readable_item_callback_data.type = BR_DISPLAY_SUBMENU_READABLE;\r
+ main_view->m_readable_item_callback_data.type = BR_CONTENT_SUBMENU_READABLE;\r
main_view->m_readable_item_callback_data.user_data = main_view;\r
main_view->m_readable_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
&(main_view->m_readable_item_callback_data), it,\r
ELM_GENLIST_ITEM_NONE, __default_view_level_sub_item_clicked_cb,\r
&(main_view->m_readable_item_callback_data));\r
} else if (it == main_view->m_auto_save_item_callback_data.it) {\r
+ BROWSER_LOGD("__expandable_icon_clicked_cb - autosave");\r
main_view->m_auto_save_always_ask_item_callback_data.type = BR_PRIVACY_SUBMENU_ALWAYS_ASK;\r
main_view->m_auto_save_always_ask_item_callback_data.user_data = main_view;\r
main_view->m_auto_save_always_ask_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
&(main_view->m_auto_save_always_off_item_callback_data), it,\r
ELM_GENLIST_ITEM_NONE, __auto_save_id_pass_sub_item_clicked_cb,\r
&(main_view->m_auto_save_always_off_item_callback_data));\r
- } else if (it == main_view->m_default_storage_item_callback_data.it) {\r
- main_view->m_default_storage_phone_item_callback_data.type = BR_STORAGE_SUBMENU_PHONE;\r
- main_view->m_default_storage_phone_item_callback_data.user_data = main_view;\r
- main_view->m_default_storage_phone_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
- &(main_view->m_default_storage_phone_item_callback_data), it,\r
- ELM_GENLIST_ITEM_NONE, __default_storage_sub_item_clicked_cb,\r
- &(main_view->m_default_storage_phone_item_callback_data));\r
- main_view->m_default_storage_mmc_item_callback_data.type = BR_STORAGE_SUBMENU_MEMORY_CARD;\r
- main_view->m_default_storage_mmc_item_callback_data.user_data = main_view;\r
- main_view->m_default_storage_mmc_item_callback_data.it = elm_genlist_item_append(genlist, &(main_view->m_radio_text_item_class),\r
- &(main_view->m_default_storage_mmc_item_callback_data), it,\r
- ELM_GENLIST_ITEM_NONE, __default_storage_sub_item_clicked_cb,\r
- &(main_view->m_default_storage_mmc_item_callback_data));\r
-\r
- int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED;\r
- if (vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) {\r
- BROWSER_LOGE("[%s]vconf_get_int failed", VCONFKEY_SYSMAN_MMC_STATUS);\r
- mmc = SETTING_DEF_MEMORY_MMC;\r
- }\r
- if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED)\r
- elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_FALSE);\r
- else\r
- elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_TRUE);\r
}\r
}\r
\r
state = elm_check_state_get(main_view->m_block_popup_check);\r
elm_check_state_set(main_view->m_block_popup_check, !state);\r
__block_popup_check_changed_cb(main_view->m_block_popup_check, NULL, NULL);\r
+ } else if (type == BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS) {\r
+ state = elm_check_state_get(main_view->m_show_security_warnings_check);\r
+ elm_check_state_set(main_view->m_show_security_warnings_check, !state);\r
+ __show_security_warnings_check_changed_cb(main_view->m_show_security_warnings_check, NULL, NULL);\r
+ } else if (type == BR_PRIVACY_MENU_REMEMBER_FORM_DATA) {\r
+ state = elm_check_state_get(main_view->m_auto_save_form_data_check);\r
+ elm_check_state_set(main_view->m_auto_save_form_data_check, !state);\r
+ __auto_save_form_data_check_changed_cb(main_view->m_auto_save_form_data_check, NULL, NULL);\r
+ }else if (type == BR_PRIVACY_MENU_REMEMBER_PASSWORDS) {\r
+ state = elm_check_state_get(main_view->m_auto_save_id_pass_check);\r
+ elm_check_state_set(main_view->m_auto_save_id_pass_check, !state);\r
+ __auto_save_id_pass_check_changed_cb(main_view->m_auto_save_id_pass_check, NULL, NULL);\r
} else if (type == BR_PRIVACY_MENU_ACCEPT_COOKIES) {\r
state = elm_check_state_get(main_view->m_accept_cookies_check);\r
elm_check_state_set(main_view->m_accept_cookies_check, !state);\r
__accept_cookies_check_changed_cb(main_view->m_accept_cookies_check, NULL, NULL);\r
+ } else if (type == BR_PRIVACY_MENU_ENABLE_LOCATION) {\r
+ state = elm_check_state_get(main_view->m_enable_location_check);\r
+ elm_check_state_set(main_view->m_enable_location_check, !state);\r
+ __enable_location_check_changed_cb(main_view, main_view->m_enable_location_check, NULL);\r
}\r
elm_genlist_item_selected_set(callback_data->it, EINA_FALSE);\r
}\r
Eina_Bool Browser_Settings_Main_View::_call_user_agent(void)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
+\r
if (m_user_agent_view)\r
delete m_user_agent_view;\r
m_user_agent_view = new(nothrow) Browser_Settings_User_Agent_View(this);\r
main_view->m_clear_data_view = NULL;\r
return;\r
}\r
- } else if (type == BR_MENU_USER_AGENT) {\r
- if (!main_view->_call_user_agent())\r
- BROWSER_LOGE("_call_user_agent failed");\r
- }\r
- else if (type == BR_MENU_PLUGINS) {\r
- main_view->m_plugin_view = new(nothrow) Browser_Settings_Plugin_View(main_view);\r
- if (!main_view->m_plugin_view) {\r
- BROWSER_LOGE("new Browser_Settings_Plugin_View failed");\r
- return;\r
- }\r
- if (!main_view->m_plugin_view->init()) {\r
- BROWSER_LOGE("m_plugin_view->init failed");\r
- delete main_view->m_plugin_view;\r
- main_view->m_plugin_view = NULL;\r
+ } else if (type == BR_PRIVATE_MENU_CLEAR_CACHE) {\r
+ main_view->_show_clear_cache_confirm_popup();\r
+ } else if (type == BR_PRIVATE_MENU_CLEAR_HISTORY) {\r
+ main_view->_show_clear_history_confirm_popup();\r
+ } else if (type == BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA) {\r
+ main_view->_show_clear_all_cookie_data_confirm_popup();\r
+ } else if (type == BR_PRIVACY_CLEAR_FORM_DATA) {\r
+ main_view->_show_clear_form_data_confirm_popup();\r
+ } else if (type == BR_PRIVACY_CLEAR_PASSWORDS) {\r
+ main_view->_show_clear_passwords_confirm_popup();\r
+ } else if (type == BR_PRIVACY_WEBSITE_SETTING) {\r
+ BROWSER_LOGD("Web sites setting");\r
+ if (main_view->m_website_setting)\r
+ delete main_view->m_website_setting;\r
+ main_view->m_website_setting = new(nothrow) Browser_Settings_Website_Setting(main_view);\r
+ if (!main_view->m_website_setting) {\r
+ BROWSER_LOGE("new Browser_Settings_Website_Setting failed");\r
return;\r
}\r
- }\r
- else if (type == BR_MENU_ACCELERATED_COMPOSITION) {\r
- main_view->m_accelerated_composition_view = new(nothrow) Browser_Settings_Accelerated_Composition(main_view);\r
- if (!main_view->m_accelerated_composition_view) {\r
- BROWSER_LOGE("new Browser_Settings_Accelerated_Composition failed");\r
- return;\r
- }\r
- if (!main_view->m_accelerated_composition_view->init()) {\r
- BROWSER_LOGE("m_accelerated_composition_view->init failed");\r
- delete main_view->m_accelerated_composition_view;\r
- main_view->m_accelerated_composition_view = NULL;\r
+ if (!main_view->m_website_setting->init()) {\r
+ BROWSER_LOGE("m_website_setting->init failed");\r
+ delete main_view->m_website_setting;\r
+ main_view->m_website_setting = NULL;\r
return;\r
}\r
+ } else if (type == BR_MENU_USER_AGENT) {\r
+ if (!main_view->_call_user_agent())\r
+ BROWSER_LOGE("_call_user_agent failed");\r
} else if (type == BR_MENU_RESET_TO_DEFAULT) {\r
main_view->_show_reset_confirm_popup();\r
+ } else if (type == BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS) {\r
+ main_view->_show_clear_location_confirm_popup();\r
}\r
\r
elm_genlist_item_selected_set(callback_data->it, EINA_FALSE);\r
void Browser_Settings_Main_View::_reset_settings(void)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
- if (vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES) < 0)\r
- BROWSER_LOGE("vconf_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES) failed");\r
- if (vconf_set_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE) < 0)\r
- BROWSER_LOGE("vconf_set_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE) failed");\r
- if (vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE) < 0)\r
- BROWSER_LOGE("vconf_set_str(DEFAULT_VIEW_LEVEL_KEY, READABLE) failed");\r
- if (vconf_set_bool(RUN_JAVASCRIPT_KEY, 1) < 0)\r
- BROWSER_LOGE("vconf_set_bool(RUN_JAVASCRIPT_KEY, 1) failed");\r
- if (vconf_set_bool(DISPLAY_IMAGES_KEY, 1) < 0)\r
- BROWSER_LOGE("vconf_set_bool(DISPLAY_IMAGES_KEY, 1) failed");\r
- if (vconf_set_bool(BLOCK_POPUP_KEY, 1) < 0)\r
- BROWSER_LOGE("vconf_set_bool(BLOCK_POPUP_KEY, 1) failed");\r
- if (vconf_set_bool(ACCEPT_COOKIES_KEY, 1) < 0)\r
- BROWSER_LOGE("vconf_set_bool(ACCEPT_COOKIES_KEY, 1) failed");\r
- if (vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK) < 0)\r
- BROWSER_LOGE("vconf_set_str(AUTO_SAVE_ID_PASSWORD_KEY, ALWAYS_ASK) failed");\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
+ br_preference_set_str(HOMEPAGE_KEY, MOST_VISITED_SITES);\r
+#else\r
+ br_preference_set_str(HOMEPAGE_KEY, USER_HOMEPAGE);\r
+#endif\r
+ br_preference_set_str(USER_HOMEPAGE_KEY, BROWSER_DEFAULT_USER_HOMEPAGE);\r
+ br_preference_set_str(DEFAULT_VIEW_LEVEL_KEY, FIT_TO_WIDTH);\r
+ br_preference_set_bool(RUN_JAVASCRIPT_KEY, true);\r
+ br_preference_set_bool(DISPLAY_IMAGES_KEY, true);\r
+ br_preference_set_bool(BLOCK_POPUP_KEY, true);\r
+ br_preference_set_bool(SHOW_SECURITY_WARNINGS_KEY, true);\r
+ br_preference_set_bool(ACCEPT_COOKIES_KEY, true);\r
+ br_preference_set_bool(AUTO_SAVE_ID_PASSWORD_KEY, false);\r
if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) < 0)\r
BROWSER_LOGE("vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) failed");\r
- if (vconf_set_bool(RUN_PLUGINS_KEY, 1) < 0)\r
- BROWSER_LOGE("vconf_set_bool(RUN_PLUGINS_KEY, 1) failed");\r
- if (vconf_set_bool(RUN_FLASH_KEY, 0) < 0)\r
- BROWSER_LOGE("vconf_set_bool(RUN_FLASH_KEY, 0) failed");\r
- if (vconf_set_bool(PAUSE_FLASH_KEY, 1) < 0)\r
- BROWSER_LOGE("vconf_set_bool(PAUSE_FLASH_KEY, 1) failed");\r
-\r
if (vconf_set_str(USERAGENT_KEY, DEFAULT_USER_AGENT_STRING) < 0)\r
BROWSER_LOGE("vconf_set_str(USERAGENT_KEY, DEFAULT_USER_AGENT_STRING) failed");\r
\r
}\r
}\r
\r
+void Browser_Settings_Main_View::__clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_cache_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_cache_confirm_popup);\r
+ main_view->m_clear_cache_confirm_popup = NULL;\r
+ }\r
+\r
+ /* Clear cache */\r
+ Ewk_Context *ewk_context = ewk_context_default_get();\r
+ ewk_context_cache_clear(ewk_context);\r
+ ewk_context_web_indexed_database_delete_all(ewk_context);\r
+ ewk_context_application_cache_delete_all(ewk_context);\r
+ ewk_context_web_storage_delete_all(ewk_context);\r
+ ewk_context_web_database_delete_all(ewk_context);\r
+\r
+ main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
+}\r
+\r
+void Browser_Settings_Main_View::__cancel_clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_cache_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_cache_confirm_popup);\r
+ main_view->m_clear_cache_confirm_popup = NULL;\r
+ }\r
+}\r
+\r
+void Browser_Settings_Main_View::__clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_history_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_history_confirm_popup);\r
+ main_view->m_clear_history_confirm_popup = NULL;\r
+ }\r
+ /* Clear history */\r
+ if (!main_view->m_data_manager->get_history_db()->clear_history())\r
+ BROWSER_LOGE("get_history_db()->clear_history() failed");\r
+\r
+ main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
+}\r
+\r
+void Browser_Settings_Main_View::__cancel_clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_history_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_history_confirm_popup);\r
+ main_view->m_clear_history_confirm_popup = NULL;\r
+ }\r
+}\r
+\r
+void Browser_Settings_Main_View::__clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_all_cookies_data_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_all_cookies_data_confirm_popup);\r
+ main_view->m_clear_all_cookies_data_confirm_popup = NULL;\r
+ }\r
+\r
+ Ewk_Context *ewk_context = ewk_context_default_get();\r
+ ewk_context_cookies_clear(ewk_context);\r
+\r
+ main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
+}\r
+\r
+void Browser_Settings_Main_View::__cancel_clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_all_cookies_data_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_all_cookies_data_confirm_popup);\r
+ main_view->m_clear_all_cookies_data_confirm_popup = NULL;\r
+ }\r
+}\r
+\r
Eina_Bool Browser_Settings_Main_View::_show_reset_confirm_popup(void)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
\r
evas_object_size_hint_weight_set(m_reset_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
\r
- std::string confirm_msg = std::string(BR_STRING_RESET_TO_DEFAULT) + std::string("?");\r
+ std::string confirm_msg = std::string(BR_STRING_RESET_ALL_SETTINGS_TO_DEFAULT_Q);\r
elm_object_text_set(m_reset_confirm_popup, confirm_msg.c_str());\r
\r
Evas_Object *ok_button = elm_button_add(m_reset_confirm_popup);\r
return EINA_TRUE;\r
}\r
\r
-void Browser_Settings_Main_View::__mmc_key_changed_cb(keynode_t *keynode, void *data)\r
+Eina_Bool Browser_Settings_Main_View::_show_clear_cache_confirm_popup(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_clear_cache_confirm_popup)\r
+ evas_object_del(m_clear_cache_confirm_popup);\r
+\r
+ m_clear_cache_confirm_popup = elm_popup_add(m_genlist);\r
+ if (!m_clear_cache_confirm_popup) {\r
+ BROWSER_LOGE("elm_popup_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ evas_object_size_hint_weight_set(m_clear_cache_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_CACHE_DATA_Q);\r
+ elm_object_text_set(m_clear_cache_confirm_popup, confirm_msg.c_str());\r
+\r
+ Evas_Object *ok_button = elm_button_add(m_clear_cache_confirm_popup);\r
+ if (!ok_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(ok_button, BR_STRING_YES);\r
+ elm_object_part_content_set(m_clear_cache_confirm_popup, "button1", ok_button);\r
+ evas_object_smart_callback_add(ok_button, "clicked", __clear_cache_confirm_response_cb, this);\r
+\r
+ Evas_Object *cancel_button = elm_button_add(m_clear_cache_confirm_popup);\r
+ elm_object_text_set(cancel_button, BR_STRING_NO);\r
+ elm_object_part_content_set(m_clear_cache_confirm_popup, "button2", cancel_button);\r
+ evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_cache_confirm_response_cb, this);\r
+\r
+ evas_object_show(m_clear_cache_confirm_popup);\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Browser_Settings_Main_View::_show_clear_history_confirm_popup(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_clear_history_confirm_popup)\r
+ evas_object_del(m_clear_history_confirm_popup);\r
+\r
+ m_clear_history_confirm_popup = elm_popup_add(m_genlist);\r
+ if (!m_clear_history_confirm_popup) {\r
+ BROWSER_LOGE("elm_popup_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ evas_object_size_hint_weight_set(m_clear_history_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_HISTORY_DATA_Q);\r
+ elm_object_text_set(m_clear_history_confirm_popup, confirm_msg.c_str());\r
+\r
+ Evas_Object *ok_button = elm_button_add(m_clear_history_confirm_popup);\r
+ if (!ok_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(ok_button, BR_STRING_YES);\r
+ elm_object_part_content_set(m_clear_history_confirm_popup, "button1", ok_button);\r
+ evas_object_smart_callback_add(ok_button, "clicked", __clear_history_confirm_response_cb, this);\r
+\r
+ Evas_Object *cancel_button = elm_button_add(m_clear_history_confirm_popup);\r
+ elm_object_text_set(cancel_button, BR_STRING_NO);\r
+ elm_object_part_content_set(m_clear_history_confirm_popup, "button2", cancel_button);\r
+ evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_history_confirm_response_cb, this);\r
+\r
+ evas_object_show(m_clear_history_confirm_popup);\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Browser_Settings_Main_View::_show_clear_all_cookie_data_confirm_popup(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_clear_all_cookies_data_confirm_popup)\r
+ evas_object_del(m_clear_all_cookies_data_confirm_popup);\r
+\r
+ m_clear_all_cookies_data_confirm_popup = elm_popup_add(m_genlist);\r
+ if (!m_clear_all_cookies_data_confirm_popup) {\r
+ BROWSER_LOGE("elm_popup_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ evas_object_size_hint_weight_set(m_clear_all_cookies_data_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_COOKIE_DATA_Q);\r
+ elm_object_text_set(m_clear_all_cookies_data_confirm_popup, confirm_msg.c_str());\r
+\r
+ Evas_Object *ok_button = elm_button_add(m_clear_all_cookies_data_confirm_popup);\r
+ if (!ok_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(ok_button, BR_STRING_YES);\r
+ elm_object_part_content_set(m_clear_all_cookies_data_confirm_popup, "button1", ok_button);\r
+ evas_object_smart_callback_add(ok_button, "clicked", __clear_all_cookie_data_confirm_response_cb, this);\r
+\r
+ Evas_Object *cancel_button = elm_button_add(m_clear_all_cookies_data_confirm_popup);\r
+ elm_object_text_set(cancel_button, BR_STRING_NO);\r
+ elm_object_part_content_set(m_clear_all_cookies_data_confirm_popup, "button2", cancel_button);\r
+ evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_all_cookie_data_confirm_response_cb, this);\r
+\r
+ evas_object_show(m_clear_all_cookies_data_confirm_popup);\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+void Browser_Settings_Main_View::__clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
if (!data)\r
return;\r
+\r
Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
- int mmc = VCONFKEY_SYSMAN_MMC_MOUNTED;\r
- if (!vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc) < 0) {\r
- BROWSER_LOGE("[%s] vconf_get_int failed");\r
- mmc = VCONFKEY_SYSMAN_MMC_MOUNTED;\r
+ if (main_view->m_clear_passwords_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_passwords_confirm_popup);\r
+ main_view->m_clear_passwords_confirm_popup = NULL;\r
}\r
- if (mmc == VCONFKEY_SYSMAN_MMC_MOUNTED) {\r
- elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_FALSE);\r
- elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_FALSE);\r
- } else {\r
- elm_radio_value_set(main_view->m_default_storage_radio_group, 0);\r
- elm_object_disabled_set(main_view->m_default_storage_mmc_radio_button, EINA_TRUE);\r
- elm_object_item_disabled_set(main_view->m_default_storage_mmc_item_callback_data.it, EINA_TRUE);\r
+\r
+ main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
+}\r
+\r
+void Browser_Settings_Main_View::__cancel_clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_passwords_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_passwords_confirm_popup);\r
+ main_view->m_clear_passwords_confirm_popup = NULL;\r
+ }\r
+}\r
+\r
+void Browser_Settings_Main_View::__clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_form_data_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_form_data_confirm_popup);\r
+ main_view->m_clear_form_data_confirm_popup = NULL;\r
}\r
\r
- if (mmc != VCONFKEY_SYSMAN_MMC_MOUNTED) {\r
- if (vconf_set_int(VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT, SETTING_DEF_MEMORY_PHONE) < 0)\r
- BROWSER_LOGE("[%s]vconf_set_int failed", VCONFKEY_SETAPPL_DEFAULT_MEM_WAP_INT);\r
- elm_genlist_item_update(main_view->m_default_storage_item_callback_data.it);\r
+ main_view->show_notify_popup(BR_STRING_DELETED, 3, EINA_TRUE);\r
+}\r
+\r
+void Browser_Settings_Main_View::__cancel_clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_form_data_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_form_data_confirm_popup);\r
+ main_view->m_clear_form_data_confirm_popup = NULL;\r
}\r
}\r
+Eina_Bool Browser_Settings_Main_View::_show_clear_passwords_confirm_popup(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_clear_passwords_confirm_popup)\r
+ evas_object_del(m_clear_passwords_confirm_popup);\r
+\r
+ m_clear_passwords_confirm_popup = elm_popup_add(m_genlist);\r
+ if (!m_clear_passwords_confirm_popup) {\r
+ BROWSER_LOGE("elm_popup_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ evas_object_size_hint_weight_set(m_clear_passwords_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_SAVED_PASSWORDS_Q);\r
+ elm_object_text_set(m_clear_passwords_confirm_popup, confirm_msg.c_str());\r
+\r
+ Evas_Object *ok_button = elm_button_add(m_clear_passwords_confirm_popup);\r
+ if (!ok_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(ok_button, BR_STRING_YES);\r
+ elm_object_part_content_set(m_clear_passwords_confirm_popup, "button1", ok_button);\r
+ evas_object_smart_callback_add(ok_button, "clicked", __clear_passwords_confirm_response_cb, this);\r
+\r
+ Evas_Object *cancel_button = elm_button_add(m_clear_passwords_confirm_popup);\r
+ elm_object_text_set(cancel_button, BR_STRING_NO);\r
+ elm_object_part_content_set(m_clear_passwords_confirm_popup, "button2", cancel_button);\r
+ evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_passwords_confirm_response_cb, this);\r
+\r
+ evas_object_show(m_clear_passwords_confirm_popup);\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Browser_Settings_Main_View::_show_clear_form_data_confirm_popup(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_clear_form_data_confirm_popup)\r
+ evas_object_del(m_clear_form_data_confirm_popup);\r
+\r
+ m_clear_form_data_confirm_popup = elm_popup_add(m_genlist);\r
+ if (!m_clear_form_data_confirm_popup) {\r
+ BROWSER_LOGE("elm_popup_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ evas_object_size_hint_weight_set(m_clear_form_data_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ std::string confirm_msg = std::string(BR_STRING_CLEAR_ALL_FORMDATA_Q);\r
+ elm_object_text_set(m_clear_form_data_confirm_popup, confirm_msg.c_str());\r
+\r
+ Evas_Object *ok_button = elm_button_add(m_clear_form_data_confirm_popup);\r
+ if (!ok_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(ok_button, BR_STRING_YES);\r
+ elm_object_part_content_set(m_clear_form_data_confirm_popup, "button1", ok_button);\r
+ evas_object_smart_callback_add(ok_button, "clicked", __clear_form_data_confirm_response_cb, this);\r
+\r
+ Evas_Object *cancel_button = elm_button_add(m_clear_form_data_confirm_popup);\r
+ elm_object_text_set(cancel_button, BR_STRING_NO);\r
+ elm_object_part_content_set(m_clear_form_data_confirm_popup, "button2", cancel_button);\r
+ evas_object_smart_callback_add(cancel_button, "clicked", __cancel_clear_form_data_confirm_response_cb, this);\r
+\r
+ evas_object_show(m_clear_form_data_confirm_popup);\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+void Browser_Settings_Main_View::__clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_location_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_location_confirm_popup);\r
+ main_view->m_clear_location_confirm_popup = NULL;\r
+ }\r
+\r
+ //main_view->_clear_location_settings();\r
+ Browser_Geolocation_DB *geo_db = main_view->get_data_manager()->get_geolocation_db();\r
+ geo_db->remove_all_geolocation_data();\r
+}\r
+\r
+void Browser_Settings_Main_View::__clear_location_cancel_confirm_response_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (!data)\r
+ return;\r
+\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)data;\r
+ if (main_view->m_clear_location_confirm_popup) {\r
+ evas_object_del(main_view->m_clear_location_confirm_popup);\r
+ main_view->m_clear_location_confirm_popup = NULL;\r
+ }\r
+}\r
+\r
+Eina_Bool Browser_Settings_Main_View::_show_clear_location_confirm_popup(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_clear_location_confirm_popup)\r
+ evas_object_del(m_clear_location_confirm_popup);\r
+\r
+ m_clear_location_confirm_popup = elm_popup_add(m_genlist);\r
+ if (!m_clear_location_confirm_popup) {\r
+ BROWSER_LOGE("elm_popup_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ evas_object_size_hint_weight_set(m_clear_location_confirm_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ std::string confirm_msg = std::string(BR_STRING_MSG_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q);\r
+ elm_object_text_set(m_clear_location_confirm_popup, confirm_msg.c_str());\r
+\r
+ Evas_Object *ok_button = elm_button_add(m_clear_location_confirm_popup);\r
+ if (!ok_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(ok_button, BR_STRING_OK);\r
+ elm_object_part_content_set(m_clear_location_confirm_popup, "button1", ok_button);\r
+ evas_object_smart_callback_add(ok_button, "clicked", __clear_location_confirm_response_cb, this);\r
+\r
+ Evas_Object *cancel_button = elm_button_add(m_clear_location_confirm_popup);\r
+ if (!cancel_button) {\r
+ BROWSER_LOGE("elm_button_add failed");\r
+ return EINA_FALSE;\r
+ }\r
+ elm_object_text_set(cancel_button, BR_STRING_CANCEL);\r
+ elm_object_part_content_set(m_clear_location_confirm_popup, "button2", cancel_button);\r
+ evas_object_smart_callback_add(cancel_button, "clicked", __clear_location_cancel_confirm_response_cb, this);\r
+\r
+ evas_object_show(m_clear_location_confirm_popup);\r
+\r
+ return EINA_TRUE;\r
+}\r
\r
Evas_Object *Browser_Settings_Main_View::_create_content_genlist(void)\r
{\r
&m_homepage_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE,\r
__expandable_icon_clicked_cb, &m_homepage_item_callback_data);\r
\r
- /* Display - Default view level */\r
- m_display_title_callback_data.type = BR_DISPLAY_TITLE;\r
- m_display_title_callback_data.user_data = this;\r
- m_display_title_callback_data.it = elm_genlist_item_append(genlist, &m_category_title_item_class,\r
- &m_display_title_callback_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
-\r
- elm_genlist_item_select_mode_set(m_display_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
-\r
- m_defailt_view_level_item_callback_data.type = BR_DISPLAY_MENU_DEFAULT_VIEW_LEVEL;\r
- m_defailt_view_level_item_callback_data.user_data = this;\r
- m_defailt_view_level_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class,\r
- &m_defailt_view_level_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE,\r
- __expandable_icon_clicked_cb, &m_defailt_view_level_item_callback_data);\r
-\r
/* Content - Run JavaScript / Display Images */\r
m_content_title_callback_data.type = BR_CONTENT_TITLE;\r
m_content_title_callback_data.user_data = this;\r
\r
elm_genlist_item_select_mode_set(m_content_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
\r
+\r
+ m_defailt_view_level_item_callback_data.type = BR_CONTENT_MENU_DEFAULT_VIEW_LEVEL;\r
+ m_defailt_view_level_item_callback_data.user_data = this;\r
+ m_defailt_view_level_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class,\r
+ &m_defailt_view_level_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE,\r
+ __expandable_icon_clicked_cb, &m_defailt_view_level_item_callback_data);\r
+\r
m_1_text_1_icon_item_class.item_style = "dialogue/1text.1icon";\r
m_1_text_1_icon_item_class.func.text_get = __genlist_label_get;\r
m_1_text_1_icon_item_class.func.content_get = __genlist_icon_get;\r
\r
elm_genlist_item_select_mode_set(m_privacy_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
\r
+ m_clear_cache_item_callback_data.type = BR_PRIVATE_MENU_CLEAR_CACHE;\r
+ m_clear_cache_item_callback_data.user_data = this;\r
+ m_clear_cache_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class,\r
+ &m_clear_cache_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_clear_cache_item_callback_data);\r
+\r
+ m_clear_history_item_callback_data.type = BR_PRIVATE_MENU_CLEAR_HISTORY;\r
+ m_clear_history_item_callback_data.user_data = this;\r
+ m_clear_history_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class,\r
+ &m_clear_history_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_clear_history_item_callback_data);\r
+\r
+ m_show_security_warnings_item_callback_data.type = BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS;\r
+ m_show_security_warnings_item_callback_data.user_data = this;\r
+ m_show_security_warnings_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class,\r
+ &m_show_security_warnings_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __on_off_check_clicked_cb, &m_show_security_warnings_item_callback_data);\r
+\r
+ m_2_text_1_icon_item_class.item_style = "dialogue/2text.1icon.5";\r
+ m_2_text_1_icon_item_class.func.text_get = __genlist_label_get;\r
+ m_2_text_1_icon_item_class.func.content_get = __genlist_icon_get;\r
+ m_2_text_1_icon_item_class.func.state_get = NULL;\r
+ m_2_text_1_icon_item_class.func.del = NULL;\r
+\r
m_accept_cookies_item_callback_data.type = BR_PRIVACY_MENU_ACCEPT_COOKIES;\r
m_accept_cookies_item_callback_data.user_data = this;\r
- m_accept_cookies_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class,\r
+ m_accept_cookies_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class,\r
&m_accept_cookies_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
__on_off_check_clicked_cb, &m_accept_cookies_item_callback_data);\r
\r
- m_auto_save_item_callback_data.type = BR_PRIVACY_MENU_AUTOSAVE_ID_PASSWORD;\r
- m_auto_save_item_callback_data.user_data = this;\r
- m_auto_save_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class,\r
- &m_auto_save_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE,\r
- __expandable_icon_clicked_cb, &m_auto_save_item_callback_data);\r
+ m_2_text_3_item_class.item_style = "dialogue/2text.2";\r
+ m_2_text_3_item_class.func.text_get = __genlist_label_get;\r
+ m_2_text_3_item_class.func.content_get = __genlist_icon_get;\r
+ m_2_text_3_item_class.func.state_get = NULL;\r
+ m_2_text_3_item_class.func.del = NULL;\r
+\r
+ m_clear_all_cookies_data_item_callback_data.type = BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA;\r
+ m_clear_all_cookies_data_item_callback_data.user_data = this;\r
+ m_clear_all_cookies_data_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class,\r
+ &m_clear_all_cookies_data_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_clear_all_cookies_data_item_callback_data);\r
\r
m_1_text_item_class.item_style = "dialogue/1text";\r
m_1_text_item_class.func.text_get = __genlist_label_get;\r
m_1_text_item_class.func.state_get = NULL;\r
m_1_text_item_class.func.del = NULL;\r
\r
- m_clear_private_data_item_callback_data.type = BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA;\r
- m_clear_private_data_item_callback_data.user_data = this;\r
- m_clear_private_data_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class,\r
- &m_clear_private_data_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
- __genlist_item_clicked_cb, &m_clear_private_data_item_callback_data);\r
-\r
- /* Storage */\r
- m_storage_title_callback_data.type = BR_STORAGE_TITLE;\r
- m_storage_title_callback_data.user_data = this;\r
- m_storage_title_callback_data.it = elm_genlist_item_append(genlist, &m_category_title_item_class,\r
- &m_storage_title_callback_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);\r
-\r
- elm_genlist_item_select_mode_set(m_storage_title_callback_data.it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
-\r
- m_default_storage_item_callback_data.type = BR_STORAGE_MENU_DEFAULT_STORAGE;\r
- m_default_storage_item_callback_data.user_data = this;\r
- m_default_storage_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_item_class,\r
- &m_default_storage_item_callback_data, NULL, ELM_GENLIST_ITEM_TREE,\r
- __expandable_icon_clicked_cb, &m_default_storage_item_callback_data);\r
-\r
- if (vconf_notify_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, __mmc_key_changed_cb, this) < 0)\r
- BROWSER_LOGE("[%s]vconf_notify_key_changed failed", VCONFKEY_SYSMAN_MMC_STATUS);\r
-\r
+ m_auto_save_form_data_callback_data.type = BR_PRIVACY_MENU_REMEMBER_FORM_DATA;\r
+ m_auto_save_form_data_callback_data.user_data = this;\r
+ m_auto_save_form_data_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class,\r
+ &m_auto_save_form_data_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __on_off_check_clicked_cb, &m_auto_save_form_data_callback_data);\r
+\r
+ m_clear_form_data_callback_data.type = BR_PRIVACY_CLEAR_FORM_DATA;\r
+ m_clear_form_data_callback_data.user_data = this;\r
+ m_clear_form_data_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class,\r
+ &m_clear_form_data_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_clear_form_data_callback_data);\r
+\r
+ m_enable_location_callback_data.type = BR_PRIVACY_MENU_ENABLE_LOCATION;\r
+ m_enable_location_callback_data.user_data = this;\r
+ m_enable_location_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class,\r
+ &m_enable_location_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __on_off_check_clicked_cb, &m_enable_location_callback_data);\r
+\r
+ m_clear_location_access_callback_data.type = BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS;\r
+ m_clear_location_access_callback_data.user_data = this;\r
+ m_clear_location_access_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class,\r
+ &m_clear_location_access_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_clear_location_access_callback_data);\r
+ bool enable_location = 1;\r
+ br_preference_get_bool(ENABLE_LOCATION_KEY, &enable_location);\r
+ if (!enable_location)\r
+ elm_object_item_disabled_set(m_clear_location_access_callback_data.it, EINA_TRUE);\r
+\r
+ m_auto_save_item_callback_data.type = BR_PRIVACY_MENU_REMEMBER_PASSWORDS;\r
+ m_auto_save_item_callback_data.user_data = this;\r
+ m_auto_save_item_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_1_icon_item_class,\r
+ &m_auto_save_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __on_off_check_clicked_cb, &m_auto_save_item_callback_data);\r
+\r
+ m_clear_passwords_callback_data.type = BR_PRIVACY_CLEAR_PASSWORDS;\r
+ m_clear_passwords_callback_data.user_data = this;\r
+ m_clear_passwords_callback_data.it = elm_genlist_item_append(genlist, &m_2_text_3_item_class,\r
+ &m_clear_passwords_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_clear_passwords_callback_data);\r
/* Others */\r
m_seperator_item_class.item_style = "dialogue/seperator";\r
m_seperator_item_class.func.text_get = NULL;\r
\r
elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);\r
\r
- m_plugins_item_callback_data.type = BR_MENU_PLUGINS;\r
- m_plugins_item_callback_data.user_data = this;\r
- m_plugins_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class,\r
- &m_plugins_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
- __genlist_item_clicked_cb, &m_plugins_item_callback_data);\r
+ m_website_setting_callback_data.type = BR_PRIVACY_WEBSITE_SETTING;\r
+ m_website_setting_callback_data.user_data = this;\r
+ m_website_setting_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_1_icon_item_class,\r
+ &m_website_setting_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
+ __genlist_item_clicked_cb, &m_website_setting_callback_data);\r
\r
m_reset_item_callback_data.type = BR_MENU_RESET_TO_DEFAULT;\r
m_reset_item_callback_data.user_data = this;\r
m_user_agent_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class,\r
&m_user_agent_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
__genlist_item_clicked_cb, &m_user_agent_item_callback_data);\r
- m_accelerated_composition_item_callback_data.type = BR_MENU_ACCELERATED_COMPOSITION;\r
- m_accelerated_composition_item_callback_data.user_data = this;\r
- m_accelerated_composition_item_callback_data.it = elm_genlist_item_append(genlist, &m_1_text_item_class,\r
- &m_accelerated_composition_item_callback_data, NULL, ELM_GENLIST_ITEM_NONE,\r
- __genlist_item_clicked_cb, &m_accelerated_composition_item_callback_data);\r
+\r
return genlist;\r
}\r
\r
+void Browser_Settings_Main_View::__application_cache_origin_get_cb(Eina_List* origins, void* user_data)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)user_data;\r
+ int count = eina_list_count(origins);\r
+\r
+ if (count > 0) {\r
+ if (main_view->m_website_setting_callback_data.it != NULL)\r
+ elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_FALSE);\r
+ }\r
+}\r
+\r
+void Browser_Settings_Main_View::__web_storage_origin_get_cb(Eina_List* origins, void* user_data)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)user_data;\r
+ int count = eina_list_count(origins);\r
+\r
+ if (count > 0) {\r
+ if (main_view->m_website_setting_callback_data.it != NULL)\r
+ elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_FALSE);\r
+ }\r
+}\r
+\r
+void Browser_Settings_Main_View::__web_database_origin_get_cb(Eina_List* origins, void* user_data)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ Browser_Settings_Main_View *main_view = (Browser_Settings_Main_View *)user_data;\r
+ int count = eina_list_count(origins);\r
+\r
+ if (count > 0) {\r
+ if (main_view->m_website_setting_callback_data.it != NULL)\r
+ elm_object_item_disabled_set(main_view->m_website_setting_callback_data.it, EINA_FALSE);\r
+ }\r
+}\r
+\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
\r
#ifndef BROWSER_SETTINGS_MAIN_VIEW_H\r
#define BROWSER_SETTINGS_MAIN_VIEW_H\r
\r
class Browser_Settings_Edit_Homepage_View;\r
class Browser_Settings_Clear_Data_View;\r
-class Browser_Settings_Plugin_View;\r
+class Browser_Settings_Website_Setting;\r
\r
-class Browser_Settings_Accelerated_Composition;\r
class Browser_Settings_User_Agent_View;\r
\r
class Browser_Settings_Main_View : public Browser_Common_View {\r
{\r
BR_HOMEPAGE_TITLE = 0,\r
BR_HOMEPAGE_MENU,\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
BR_HOMEPAGE_SUBMENU_MOST_VISITED_SITES,\r
+#endif\r
BR_HOMEPAGE_SUBMENU_RECENTLY_VISITED_SITE,\r
BR_HOMEPAGE_SUBMENU_USER_HOMEPAGE,\r
BR_HOMEPAGE_SUBMENU_EMPTY_PAGE,\r
- BR_DISPLAY_TITLE = 10,\r
- BR_DISPLAY_MENU_DEFAULT_VIEW_LEVEL,\r
- BR_DISPLAY_SUBMENU_FIT_TO_WIDTH,\r
- BR_DISPLAY_SUBMENU_READABLE,\r
- BR_DISPLAY_SUBMENU_LANDSCAPE_VIEW,\r
- BR_CONTENT_TITLE = 20,\r
+ BR_HOMEPAGE_SUBMENU_CURRENT_PAGE,\r
+ BR_CONTENT_TITLE = 10,\r
+ BR_CONTENT_MENU_DEFAULT_VIEW_LEVEL,\r
+ BR_CONTENT_SUBMENU_FIT_TO_WIDTH,\r
+ BR_CONTENT_SUBMENU_READABLE,\r
BR_CONTENT_MENU_RUN_JAVASCRIPT,\r
BR_CONTENT_MENU_DISPLAY_IMAGES,\r
BR_CONTENT_MENU_BLOCK_POPUP,\r
- BR_PRIVACY_TITLE = 30,\r
+ BR_PRIVACY_TITLE = 20,\r
+ BR_PRIVATE_MENU_CLEAR_CACHE,\r
+ BR_PRIVATE_MENU_CLEAR_HISTORY,\r
+ BR_PRIVATE_MENU_SHOW_SECURITY_WARNINGS,\r
BR_PRIVACY_MENU_ACCEPT_COOKIES,\r
- BR_PRIVACY_MENU_AUTOSAVE_ID_PASSWORD,\r
+ BR_PRIVATE_MENU_CLEAR_ALL_COOKIE_DATA,\r
+ BR_PRIVACY_MENU_REMEMBER_FORM_DATA,\r
+ BR_PRIVACY_CLEAR_FORM_DATA,\r
+ BR_PRIVACY_MENU_REMEMBER_PASSWORDS = 30,\r
+ BR_PRIVACY_CLEAR_PASSWORDS,\r
+ BR_PRIVACY_WEBSITE_SETTING,\r
BR_PRIVACY_SUBMENU_ALWAYS_ASK,\r
BR_PRIVACY_SUBMENU_ALWAYS_ON,\r
BR_PRIVACY_SUBMENU_ALWAYS_OFF,\r
- BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA,\r
- BR_STORAGE_TITLE = 40,\r
- BR_STORAGE_MENU_DEFAULT_STORAGE,\r
- BR_STORAGE_SUBMENU_PHONE,\r
- BR_STORAGE_SUBMENU_MEMORY_CARD,\r
- BR_SEARCH_TITLE = 50,\r
- BR_SEARCH_MENU_SEARCH_ENGINE,\r
- BR_SEARCH_SUBMENU_GOOGLE,\r
- BR_SEARCH_SUBMENU_YAHOO,\r
- BR_SEARCH_SUBMENU_NAVER,\r
- BR_SEARCH_MENU_CASE_SENSITIVE,\r
- BR_MENU_READER = 60,\r
- BR_MENU_PLUGINS,\r
- BR_MENU_CERTIFICATES,\r
- BR_MENU_ABOUT_BROWSER,\r
+ BR_PRIVACY_MENU_CLEAR_PRIVATE_DATA = 40,\r
+ BR_PRIVACY_MENU_ENABLE_LOCATION,\r
+ BR_PRIVACY_MENU_CLEAR_LOCATION_ACCESS,\r
+ BR_MENU_CERTIFICATES = 60,\r
BR_MENU_RESET_TO_DEFAULT,\r
BR_DEBUG_TITLE = 70,\r
- BR_MENU_DEBUG_MODE,\r
BR_MENU_USER_AGENT,\r
- BR_MENU_ACCELERATED_COMPOSITION,\r
BR_MENU_UNKNOWN\r
}menu_type;\r
Eina_Bool _show_reset_confirm_popup(void);\r
void _reset_settings(void);\r
\r
+ Eina_Bool _show_clear_cache_confirm_popup(void);\r
+ Eina_Bool _show_clear_history_confirm_popup(void);\r
+ Eina_Bool _show_clear_all_cookie_data_confirm_popup(void);\r
+ Eina_Bool _show_clear_passwords_confirm_popup(void);\r
+ Eina_Bool _show_clear_form_data_confirm_popup(void);\r
+\r
+ Eina_Bool _show_clear_location_confirm_popup(void);\r
+ static void __clear_location_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __clear_location_cancel_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+\r
/* genlist callback functions */\r
static Evas_Object *__genlist_icon_get(void *data, Evas_Object *obj, const char *part);\r
static char *__genlist_label_get(void *data, Evas_Object *obj, const char *part);\r
\r
- /* vconf changed callback functions */\r
- static void __mmc_key_changed_cb(keynode_t *keynode, void *data);\r
-\r
/* elementary event callback functions */\r
static void __back_button_clicked_cb(void *data, Evas_Object* obj,\r
void* event_info);\r
Evas_Object *obj, void *event_info);\r
static void __auto_save_id_pass_sub_item_clicked_cb(void *data,\r
Evas_Object *obj, void *event_info);\r
- static void __default_storage_sub_item_clicked_cb(void *data,\r
- Evas_Object *obj, void *event_info);\r
static void __run_javascript_check_changed_cb(void *data,\r
Evas_Object *obj, void *event_info);\r
static void __display_images_check_changed_cb(void *data,\r
Evas_Object *obj, void *event_info);\r
static void __block_popup_check_changed_cb(void *data,\r
Evas_Object *obj, void *event_info);\r
+ static void __show_security_warnings_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info);\r
+ static void __auto_save_id_pass_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info);\r
+ static void __auto_save_form_data_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info);\r
static void __accept_cookies_check_changed_cb(void *data,\r
Evas_Object *obj, void *event_info);\r
+ static void __enable_location_check_changed_cb(void *data,\r
+ Evas_Object *obj, void *event_info);\r
static void __genlist_item_clicked_cb(void *data, Evas_Object *obj, void *event_info);\r
static void __reset_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
static void __cancel_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __cancel_clear_cache_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __cancel_clear_history_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __cancel_clear_all_cookie_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __cancel_clear_passwords_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
+ static void __cancel_clear_form_data_confirm_response_cb(void *data, Evas_Object *obj, void *event_info);\r
static void __naviframe_pop_finished_cb(void *data , Evas_Object *obj, void *event_info);\r
+ static void __application_cache_origin_get_cb(Eina_List* origins, void* user_data);\r
+ static void __web_storage_origin_get_cb(Eina_List* origins, void* user_data);\r
+ static void __web_database_origin_get_cb(Eina_List* origins, void* user_data);\r
\r
Evas_Object *m_genlist;\r
Evas_Object *m_back_button;\r
Elm_Genlist_Item_Class m_category_title_item_class;\r
Elm_Genlist_Item_Class m_2_text_item_class;\r
+ Elm_Genlist_Item_Class m_2_text_3_item_class;\r
Elm_Genlist_Item_Class m_1_text_1_icon_item_class;\r
Elm_Genlist_Item_Class m_1_text_item_class;\r
+ Elm_Genlist_Item_Class m_2_text_1_icon_item_class;\r
Elm_Genlist_Item_Class m_radio_text_item_class;\r
Elm_Genlist_Item_Class m_seperator_item_class;\r
\r
/* Homepage */\r
genlist_callback_data m_homepage_title_callback_data;\r
genlist_callback_data m_homepage_item_callback_data;\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
genlist_callback_data m_most_visited_item_callback_data;\r
+#endif\r
genlist_callback_data m_recently_visited_item_callback_data;\r
genlist_callback_data m_user_homepage_item_callback_data;\r
+ genlist_callback_data m_current_page_item_callback_data;\r
+ genlist_callback_data m_empty_page_item_callback_data;\r
+\r
/* Display */\r
genlist_callback_data m_display_title_callback_data;\r
genlist_callback_data m_defailt_view_level_item_callback_data;\r
genlist_callback_data m_fit_to_width_item_callback_data;\r
genlist_callback_data m_readable_item_callback_data;\r
+\r
/* Content */\r
genlist_callback_data m_content_title_callback_data;\r
genlist_callback_data m_run_javascript_item_callback_data;\r
genlist_callback_data m_display_images_item_callback_data;\r
genlist_callback_data m_block_popup_item_callback_data;\r
+\r
/* Privacy */\r
genlist_callback_data m_privacy_title_callback_data;\r
+ genlist_callback_data m_clear_cache_item_callback_data;\r
+ genlist_callback_data m_clear_history_item_callback_data;\r
+ genlist_callback_data m_show_security_warnings_item_callback_data;\r
genlist_callback_data m_accept_cookies_item_callback_data;\r
+ genlist_callback_data m_clear_all_cookies_data_item_callback_data;\r
genlist_callback_data m_auto_save_item_callback_data;\r
+ genlist_callback_data m_auto_save_form_data_callback_data;\r
+ genlist_callback_data m_clear_form_data_callback_data;\r
genlist_callback_data m_auto_save_always_ask_item_callback_data;\r
genlist_callback_data m_auto_save_always_on_item_callback_data;\r
genlist_callback_data m_auto_save_always_off_item_callback_data;\r
+ genlist_callback_data m_clear_passwords_callback_data;\r
+ genlist_callback_data m_website_setting_callback_data;\r
genlist_callback_data m_clear_private_data_item_callback_data;\r
-\r
- /* Storage */\r
- genlist_callback_data m_storage_title_callback_data;\r
- genlist_callback_data m_default_storage_item_callback_data;\r
- genlist_callback_data m_default_storage_phone_item_callback_data;\r
- genlist_callback_data m_default_storage_mmc_item_callback_data;\r
+ genlist_callback_data m_enable_location_callback_data;\r
+ genlist_callback_data m_clear_location_access_callback_data;\r
\r
/* Others */\r
- genlist_callback_data m_plugins_item_callback_data;\r
genlist_callback_data m_reset_item_callback_data;\r
\r
/* Debug */\r
- genlist_callback_data m_debug_title_callback_data;
+ genlist_callback_data m_debug_title_callback_data;\r
genlist_callback_data m_user_agent_item_callback_data;\r
- genlist_callback_data m_accelerated_composition_item_callback_data;\r
Evas_Object *m_homepage_radio_group;\r
Evas_Object *m_default_view_level_radio_group;\r
Evas_Object *m_auto_save_id_pass_radio_group;\r
- Evas_Object *m_default_storage_radio_group;\r
- Evas_Object *m_default_storage_mmc_radio_button;\r
Evas_Object *m_run_javascript_check;\r
Evas_Object *m_display_images_check;\r
Evas_Object *m_block_popup_check;\r
+ Evas_Object *m_clear_cache_confirm_popup;\r
+ Evas_Object *m_clear_passwords_confirm_popup;\r
+ Evas_Object *m_clear_form_data_confirm_popup;\r
+ Evas_Object *m_clear_history_confirm_popup;\r
Evas_Object *m_accept_cookies_check;\r
-\r
+ Evas_Object *m_auto_save_id_pass_check;\r
+ Evas_Object *m_auto_save_form_data_check;\r
+ Evas_Object *m_clear_all_cookies_data_confirm_popup;\r
+ Evas_Object *m_enable_location_check;\r
+ Evas_Object *m_clear_location_confirm_popup;\r
Evas_Object *m_reset_confirm_popup;\r
+ Evas_Object *m_show_security_warnings_check;\r
Elm_Object_Item *m_navi_it;\r
\r
Browser_Settings_Edit_Homepage_View *m_edit_homepage_view;\r
Browser_Settings_Clear_Data_View *m_clear_data_view;\r
- Browser_Settings_Plugin_View *m_plugin_view;\r
- Browser_Settings_Accelerated_Composition *m_accelerated_composition_view;\r
-\r
+ Browser_Settings_Website_Setting *m_website_setting;\r
Browser_Settings_User_Agent_View *m_user_agent_view;\r
};\r
\r
+++ /dev/null
-/*
- * 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;
-}
-
+++ /dev/null
-/*
- * 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 */
-
/*
- * 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"
,m_genlist(NULL)
,m_tizen_checkbox(NULL)
,m_chrome_checkbox(NULL)
- ,m_firefox_checkbox(NULL)
{
BROWSER_LOGD("[%s]", __func__);
}
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;
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);
}
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);
__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;
}
}
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 {
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");
}
&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");
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;
/*
- * 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
typedef enum _user_agent_type {
TIZEN,
CHROME,
- FIREFOX,
UNKNOWN
} user_agent_type;
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;
};
--- /dev/null
+/*
+ * 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;
+}
+
--- /dev/null
+/*
+ * 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<Browser_Geolocation_DB::geolocation_info *> m_geolocation_list;
+ vector<website_setting_item *> 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 */
+
/*
- * 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 <Elementary.h>
}
#include "browser-utility.h"
+#include "app.h" /* for preference CAPI */
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");
+ }
}
}
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);
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));
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);
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;
}
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");
+ }
}
}
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),
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;
+}
+
/*
- * 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
#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 */
/*
- * 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__);
}
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<Ewk_Context_Menu*>(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<Ewk_Context_Menu_Item*>(event_info);
+ Browser_Context_Menu *context_menu = static_cast<Browser_Context_Menu *>(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();
}
/*
- * 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<context_popup_item_callback_param *> m_param_list;
-
- Ewk_Context_Menu_Item *m_current_context_menu_item;
+ Evas_Object *m_ewk_view;
};
#endif /* BROWSER_CONTEXT_MENU_H */
--- /dev/null
+/*
+ * 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("<color=#F3EFE9>") + std::string(BR_STRING_MOST_VISITED_GUIDE_TEXT)
+ + std::string("</color>");
+ 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<Browser_History_DB::most_visited_item> 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;
+}
+
--- /dev/null
+/*
+ * 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<most_visited_item *> m_most_visited_list;
+ Eina_Bool m_is_edit_mode;
+};
+#endif /* BROWSER_MOST_VISITED_H */
+
+++ /dev/null
-/*
- * 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 <match>, </match> tag. */
- std::string source_string = predictive_history->m_history_list[index];
- string::size_type pos = string::npos;
- if((pos = source_string.find("<match>")) != string::npos)
- source_string.replace(pos, strlen("<match>"), std::string(""));
-
- if((pos = source_string.find("</match>")) != string::npos)
- source_string.replace(pos, strlen("</match>"), 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 <match> 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("<match>") + std::string(url)
- + std::string("</match>") + 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", "");
-}
-
+++ /dev/null
-/*
- * 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<std::string> m_history_list;
- genlist_callback_param m_param[BROWSER_PREDICTIVE_HISTORY_COUNT];
-
- std::string m_uri_to_load;
-};
-#endif /* BROWSER_PREDICTIVE_HISTORY_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.
- */
+ * 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 <devman.h>
-#include <url_download.h>
-Browser_View::Browser_View(Evas_Object *win, Evas_Object *navi_bar,
- Evas_Object *bg, Evas_Object *layout, Browser_Class *browser)
+extern "C" {
+#include <shortcut.h>
+}
+
+Browser_View::Browser_View(Evas_Object *win, Evas_Object *navi_bar, Evas_Object *bg, Browser_Class *browser)
:
m_main_layout(NULL)
,m_scroller(NULL)
,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;
}
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;
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)
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. */
* 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)
/* 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;
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;
}
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;
}
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);
"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;
}
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)
std::vector<Browser_Window *> 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();
/* 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))
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))
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)
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)
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)
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_DB::most_visited_sites_entry> 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_Sites_DB::most_visited_sites_entry> 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)
{
/* 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;
/* 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);
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)
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)
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)
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) {
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", "");
}
/* 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");
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");
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<Browser_Window *> 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);
_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,
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
}
}
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;
m_data_manager->destroy_bookmark_view();
}
- browser_view->m_context_menu->destroy_context_popup();
browser_view->_destroy_more_context_popup();
}
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)
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)
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();
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);
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<Browser_Window *> 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__);
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__);
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)
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,
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__);
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;
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)
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);
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.
}
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);
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);
}
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);
}
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;
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. */
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;
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", "");
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", "");
}
_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__);
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);
}
}
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());
}
* 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)
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);
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", "");
__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) {
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);
}
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.
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);
}
}
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;
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__);
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;
&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)
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. */
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;
void Browser_View::__scroller_scroll_cb(void *data, Evas_Object *obj, void *event_info)
{
+#ifdef BROWSER_SCROLLER_BOUNCING
if (!data)
return;
* 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)
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<Browser_Window *> 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)
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)
ug_resume();
- resume_webview(m_focused_window->m_ewk_view);
+ resume_ewk_view(m_focused_window->m_ewk_view);
}
void Browser_View::reset(void)
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;
}
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,
* 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)
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<Browser_Window *> 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);
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__);
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)
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)
return EINA_TRUE;
}
+#endif
+
void Browser_View::__naviframe_pop_finished_cb(void *data , Evas_Object *obj, void *event_info)
{
BROWSER_LOGD("[%s]", __func__);
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)
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__);
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);
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;
/*
- * 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 */
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);
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,
} 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);
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;
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;
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;
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;
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 */
/*
- * 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"
:
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__);
}
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)
/*
- * 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
* 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;
};
/*
- * 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;
}
/*
- * 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 {
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 */
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
using namespace std;\r
\r
\r
std::string title;\r
std::string title_from_db;\r
- char *buf = "Folder_";\r
+ char buf[32] = {0, };\r
for (int i = 1; ; i++) {\r
*count = i;\r
error = sqlite3_step(sqlite3_stmt);\r
if (error == SQLITE_ROW) {\r
+ snprintf(buf, sizeof(buf)-1, "Folder_%02d", i);\r
title = buf; \r
title_from_db = reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt,0));\r
- if (strncmp(title_from_db.c_str(), title.c_str(), title.length()))\r
+ if (title_from_db != title)\r
break;\r
} else\r
break;\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#ifndef BROWSER_BOOKMARK_DB_H\r
#define BROWSER_BOOKMARK_DB_H\r
--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+\r
+using namespace std;\r
+\r
+#include "browser-geolocation-db.h"\r
+\r
+sqlite3* Browser_Geolocation_DB::m_db_descriptor = NULL;\r
+\r
+Browser_Geolocation_DB::Browser_Geolocation_DB(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+}\r
+\r
+Browser_Geolocation_DB::~Browser_Geolocation_DB(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::_open_db(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ int error = db_util_open(BROWSER_GEOLOCATION_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::_close_db(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_db_descriptor)\r
+ {\r
+ int error = db_util_close(m_db_descriptor);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGE("db_util_close error");\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+ m_db_descriptor = NULL;\r
+ }\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::save_geolocation_host(const char *address, bool accept)\r
+{\r
+ BROWSER_LOGD("[%s]", address);\r
+\r
+ if (!address || strlen(address) == 0) {\r
+ BROWSER_LOGE("address is empty");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (get_geolocation_host_count(address) > 0) {\r
+ BROWSER_LOGE("already exist\n");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, "INSERT INTO geolocation (address, accept) values (?, ?)",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_bind_text(sqlite3_stmt, 1, address, -1, NULL) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
+\r
+ if (sqlite3_bind_int(sqlite3_stmt, 2, accept) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_int is failed.\n");\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error != SQLITE_OK && error != SQLITE_DONE) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ _close_db();\r
+\r
+ return (error == SQLITE_DONE || error == SQLITE_ROW);\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::get_geolocation_host(const char *address, bool &accept)\r
+{\r
+ if (!address || strlen(address) == 0) {\r
+ BROWSER_LOGE("address is empty");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (get_geolocation_host_count(address) <= 0) {\r
+ BROWSER_LOGE("No data or database error\n");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ std::string query = "select accept from geolocation where address like '%" + std::string(address) + "%'";\r
+\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ accept = 0;\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error == SQLITE_ROW) {\r
+ accept = sqlite3_column_int(sqlite3_stmt, 0);\r
+ BROWSER_LOGD("address: %s accept %d", address, accept);\r
+ }\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ if (error == SQLITE_DONE || error == SQLITE_ROW)\r
+ return EINA_TRUE;\r
+ else\r
+ return EINA_FALSE;\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::remove_geolocation_data(const char *address)\r
+{\r
+\r
+ if (!address || strlen(address) == 0) {\r
+ BROWSER_LOGE("address is empty");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (get_geolocation_host_count(address) <= 0) {\r
+ BROWSER_LOGE("No data\n");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ std::string query = "DELETE FROM geolocation WHERE address LIKE '%" + std::string(address) + "%'";\r
+\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error != SQLITE_OK && error != SQLITE_DONE) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ _close_db();\r
+\r
+ return (error == SQLITE_DONE || error == SQLITE_ROW);\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::remove_all_geolocation_data(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ std::string query = "DELETE FROM geolocation";\r
+\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error != SQLITE_OK && error != SQLITE_DONE) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ _close_db();\r
+\r
+ return (error == SQLITE_DONE || error == SQLITE_ROW);\r
+}\r
+\r
+int Browser_Geolocation_DB::get_geolocation_host_count(const char *address)\r
+{\r
+ unsigned count = 0;\r
+\r
+ if (!address || strlen(address) == 0) {\r
+ BROWSER_LOGE("address is empty");\r
+ return -1;\r
+ }\r
+\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ std::string query = "select count(*) from geolocation where address like '%" + std::string(address) + "%'";\r
+\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return -1;\r
+ }\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error != SQLITE_ROW) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return -1;\r
+ }\r
+\r
+ count = sqlite3_column_int(sqlite3_stmt, 0);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) {\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return -1;\r
+ }\r
+\r
+ _close_db();\r
+ BROWSER_LOGD("count: %d\n", count);\r
+ return count;\r
+\r
+}\r
+\r
+Eina_Bool Browser_Geolocation_DB::get_geolocation_info_list(std::vector<geolocation_info *> &list)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (_open_db() == EINA_FALSE) {\r
+ BROWSER_LOGE("open failed");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, "select address,accept from geolocation",\r
+ -1,&sqlite3_stmt,NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ geolocation_info *item;\r
+ while ((error = sqlite3_step(sqlite3_stmt)) == SQLITE_ROW) {\r
+ item = new(nothrow) geolocation_info;\r
+ if (!item) {\r
+ BROWSER_LOGE("bookmark_item new is failed.\n");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ item->url = reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt, 0));\r
+ BROWSER_LOGD("<<< url = [%s] >>>", item->url.c_str());\r
+\r
+ item->allow = sqlite3_column_int(sqlite3_stmt, 1);\r
+ BROWSER_LOGD("<<< accept = [%d] >>>", item->allow);\r
+\r
+ item->geolocation = EINA_TRUE;\r
+ item->storage = EINA_FALSE;\r
+ item->user_data = NULL;\r
+\r
+ list.push_back(item);\r
+ }\r
+\r
+ error = sqlite3_finalize(sqlite3_stmt);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGE("sqlite3_finalize is failed. (%d)", error);\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (_close_db() == EINA_FALSE) {\r
+ BROWSER_LOGE("_close_db is failed.");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+int Browser_Geolocation_DB::get_geolocation_info_count(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ unsigned count = 0;\r
+\r
+ if (_open_db() == EINA_FALSE)\r
+ return -1;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ std::string query = "select count(*) from geolocation";\r
+\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return -1;\r
+ }\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error != SQLITE_ROW) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return -1;\r
+ }\r
+\r
+ count = sqlite3_column_int(sqlite3_stmt, 0);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) {\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return -1;\r
+ }\r
+\r
+ _close_db();\r
+ BROWSER_LOGD("count: %d\n", count);\r
+ return count;\r
+}
--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+\r
+#ifndef BROWSER_GEOLOCATION_DB_H\r
+#define BROWSER_GEOLOCATION_DB_H\r
+\r
+#include "browser-config.h"\r
+\r
+extern "C" {\r
+#include "db-util.h"\r
+}\r
+\r
+#include <iostream>\r
+#include <string>\r
+#include <vector>\r
+\r
+class Browser_Geolocation_DB {\r
+public:\r
+ struct geolocation_info {\r
+ std::string url;\r
+ Eina_Bool geolocation;\r
+ Eina_Bool allow;\r
+ Eina_Bool storage;\r
+ void *origin;\r
+ void *user_data;\r
+ };\r
+\r
+ Browser_Geolocation_DB();\r
+ ~Browser_Geolocation_DB();\r
+\r
+ Eina_Bool save_geolocation_host(const char *address, bool accept);\r
+ Eina_Bool get_geolocation_host(const char *address, bool &accept);\r
+ Eina_Bool remove_geolocation_data(const char *address);\r
+ Eina_Bool remove_all_geolocation_data(void);\r
+\r
+ int get_geolocation_host_count(const char *address);\r
+ Eina_Bool get_geolocation_info_list(std::vector<geolocation_info *> &list);\r
+ int get_geolocation_info_count(void);\r
+private:\r
+ Eina_Bool _open_db(void);\r
+ Eina_Bool _close_db(void);\r
+
+ static sqlite3* m_db_descriptor;\r
+};\r
+\r
+#endif /* BROWSER_GEOLOCATION_DB_H */\r
+\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
using namespace std;\r
\r
else\r
return EINA_FALSE;\r
}\r
+\r
+Eina_Bool Browser_History_DB::is_in_bookmark(const char* url, int *bookmark_id)\r
+{\r
+ int error = db_util_open(BROWSER_BOOKMARK_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "select id from bookmarks where address=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+\r
+ if (bookmark_id)\r
+ *bookmark_id = sqlite3_column_int(sqlite3_stmt, 0);\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ db_util_close(m_db_descriptor);\r
+\r
+ return (error == SQLITE_ROW);\r
+}\r
+\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#ifndef BROWSER_HISTORY_DB_H\r
#define BROWSER_HISTORY_DB_H\r
Eina_Bool delete_history(int history_id);\r
Eina_Bool delete_history(const char *url);\r
Eina_Bool clear_history(void);\r
+ Eina_Bool is_in_bookmark(const char* url, int *bookmark_id);\r
private:\r
Eina_Bool _open_db(void);\r
Eina_Bool _close_db(void);\r
+++ /dev/null
-/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-using namespace std;\r
-\r
-#include "browser-notification-db.h"\r
-\r
-sqlite3* Browser_Notification_DB::m_db_descriptor = NULL;\r
-\r
-Browser_Notification_DB::Browser_Notification_DB(void)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
-}\r
-\r
-Browser_Notification_DB::~Browser_Notification_DB(void)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::_open_db(void)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- int error = db_util_open(BROWSER_NOTIFICATION_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGE("db_util_open error");\r
- db_util_close(m_db_descriptor);\r
- m_db_descriptor = NULL;\r
- return EINA_FALSE;\r
- }\r
-\r
- return EINA_TRUE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::_close_db(void)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (m_db_descriptor)\r
- {\r
- int error = db_util_close(m_db_descriptor);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGE("db_util_close error");\r
- m_db_descriptor = NULL;\r
- return EINA_FALSE;\r
- }\r
- m_db_descriptor = NULL;\r
- }\r
-\r
- return EINA_TRUE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::save_domain(const char *domain)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (!domain || strlen(domain) == 0)\r
- return EINA_FALSE;\r
-\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor,\r
- "insert into notification_permitted_domains (domain) values (?)", -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
-\r
- if (sqlite3_bind_text(stmt, 1, domain, -1, NULL) != SQLITE_OK)
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- error = sqlite3_step(stmt);\r
-\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- return (error == SQLITE_DONE);\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::has_domain(const char *domain)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (!domain || strlen(domain) == 0)\r
- return EINA_FALSE;\r
-\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor,\r
- "select count(*) from notification_permitted_domains where domain=?", -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
-\r
- if (sqlite3_bind_text(stmt, 1, domain, -1, NULL) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- error = sqlite3_step(stmt);\r
- if (error != SQLITE_ROW) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
- if (0 < (sqlite3_column_int(stmt, 0))) {\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_TRUE;\r
- }\r
-\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- return EINA_FALSE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::save_notification(Ewk_Notification *ewk_notification, int ¬i_id)\r
-{\r
- if (!ewk_notification) {\r
- BROWSER_LOGE("ewk_notification null");\r
- return EINA_FALSE;\r
- }\r
-\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor,\r
- "insert into notification_table (notification, title, body, url, iconURL, iconValidity) values (?, ?, ?, ?, ?, ?)",\r
- -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
-\r
- if (sqlite3_bind_int(stmt, 1, (int)ewk_notification->notification) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_int is failed.\n");\r
- if (sqlite3_bind_text(stmt, 2, ewk_notification->title, -1, NULL) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- if (sqlite3_bind_text(stmt, 3, ewk_notification->body, -1, NULL) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- if (sqlite3_bind_text(stmt, 4, ewk_notification->url, -1, NULL) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- if (sqlite3_bind_text(stmt, 5, ewk_notification->iconURL, -1, NULL) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- if (sqlite3_bind_int(stmt, 6, (int)0) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_int is failed.\n");\r
-\r
- error = sqlite3_step(stmt);\r
- noti_id = sqlite3_last_insert_rowid(m_db_descriptor);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- if (error != SQLITE_DONE)\r
- return EINA_FALSE;\r
-\r
- return EINA_TRUE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::get_title_by_id(int id, std::string &title)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor,\r
- "select title from notification_table where id=?", -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
- if (sqlite3_bind_int(stmt, 1, id) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- error = sqlite3_step(stmt);\r
- if (error != SQLITE_ROW) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
-\r
- title = std::string(reinterpret_cast<const char *>(sqlite3_column_text(stmt, 0)));\r
-\r
-\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- return EINA_TRUE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::get_body_by_id(int id, std::string &body)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor,\r
- "select body from notification_table where id=?", -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
- if (sqlite3_bind_int(stmt, 1, id) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- error = sqlite3_step(stmt);\r
- if (error != SQLITE_ROW) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
-\r
- body = std::string(reinterpret_cast<const char *>(sqlite3_column_text(stmt, 0)));\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- return EINA_TRUE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::update_icon_validity(int noti_id)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor,\r
- "update notification_table set iconValidity=? where id=?",\r
- -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("SQL error=%d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
-\r
- if (sqlite3_bind_int(stmt, 1, (int)1) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
- if (sqlite3_bind_int(stmt, 2, noti_id) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
-\r
- error = sqlite3_step(stmt);\r
-\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- return EINA_TRUE;\r
-}\r
-\r
-Eina_Bool Browser_Notification_DB::delete_notifications(void)\r
-{\r
- BROWSER_LOGD("[%s]", __func__);\r
- if (_open_db() == EINA_FALSE)\r
- return EINA_FALSE;\r
-\r
- sqlite3_stmt *stmt = NULL;\r
- int error = sqlite3_prepare_v2(m_db_descriptor, "delete from notification_table",\r
- -1, &stmt, NULL);\r
- if (error != SQLITE_OK) {\r
- BROWSER_LOGD("\nSQL error: %d", error);\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
- return EINA_FALSE;\r
- }\r
- error = sqlite3_step(stmt);\r
-\r
- if (sqlite3_finalize(stmt) != SQLITE_OK)\r
- BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
- _close_db();\r
-\r
- return EINA_TRUE;\r
-}\r
+++ /dev/null
-/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#ifndef BROWSER_NOTIFICATION_DB_H\r
-#define BROWSER_NOTIFICATION_DB_H\r
-\r
-#include "browser-config.h"\r
-\r
-extern "C" {\r
-#include "db-util.h"\r
-}\r
-\r
-#include <iostream>\r
-#include <string>\r
-#include <vector>\r
-\r
-class Browser_Notification_DB {\r
-public:\r
- Browser_Notification_DB(void);\r
- ~Browser_Notification_DB(void);\r
-\r
- Eina_Bool save_domain(const char *domain);\r
- Eina_Bool has_domain(const char *domain);\r
- Eina_Bool save_notification(Ewk_Notification *ewk_notification, int ¬i_id);\r
- Eina_Bool get_title_by_id(int id, std::string &title);\r
- Eina_Bool get_body_by_id(int id, std::string &body);\r
- Eina_Bool update_icon_validity(int noti_id);\r
- Eina_Bool delete_notifications(void);\r
-private:\r
- Eina_Bool _open_db(void);\r
- Eina_Bool _close_db(void);\r
-
- static sqlite3* m_db_descriptor;\r
-};\r
-\r
-#endif /* BROWSER_NOTIFICATION_DB_H */\r
-\r
+++ /dev/null
-/*
- * 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<const char *>(sqlite3_column_text(sqlite3_stmt, 1));
- current_password = reinterpret_cast<const char *>(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<const char *>(sqlite3_column_text(stmt, 0)));
- password = std::string(reinterpret_cast<const char *> (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;
-}
-
+++ /dev/null
-/*
- * 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 <string>
-#include <vector>
-
-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 */
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
\r
using namespace std;\r
\r
Eina_Bool Browser_User_Agent_DB::get_user_agent(const char *title, char *&user_agent)\r
{\r
BROWSER_LOGD("[%s]", __func__);\r
+\r
+ if(!strcmp(title, "System user agent")){\r
+ user_agent = vconf_get_str(VCONFKEY_ADMIN_UAGENT);\r
+ if (!user_agent) {\r
+ BROWSER_LOGE("vconf_get_str(VCONFKEY_ADMIN_UAGENT) failed.");\r
+ return EINA_FALSE;\r
+ }\r
+ return EINA_TRUE;\r
+ }\r
+\r
if (_open_db() == EINA_FALSE)\r
return EINA_FALSE;\r
\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#ifndef BROWSER_USER_AGENT_DB_H\r
#define BROWSER_USER_AGENT_DB_H\r
--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+using namespace std;\r
+\r
+#include "most-visited-sites-db.h"\r
+\r
+sqlite3* Most_Visited_Sites_DB::m_db_descriptor = NULL;\r
+\r
+Most_Visited_Sites_DB::Most_Visited_Sites_DB(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+}\r
+\r
+Most_Visited_Sites_DB::~Most_Visited_Sites_DB(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::_open_db(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ int error = db_util_open(BROWSER_MOST_VISITED_SITES_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::_close_db(void)\r
+{\r
+ BROWSER_LOGD("[%s]", __func__);\r
+ if (m_db_descriptor)\r
+ {\r
+ int error = db_util_close(m_db_descriptor);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGE("db_util_close error");\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+ m_db_descriptor = NULL;\r
+ }\r
+\r
+ return EINA_TRUE;\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::is_in_bookmark(const char* url, int *bookmark_id)\r
+{\r
+ int error = db_util_open(BROWSER_BOOKMARK_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "select id from bookmarks where address=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+\r
+ if (bookmark_id)\r
+ *bookmark_id = sqlite3_column_int(sqlite3_stmt, 0);\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ db_util_close(m_db_descriptor);\r
+\r
+ return (error == SQLITE_ROW);\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::delete_most_visited_sites_item(int index)\r
+{\r
+ int error = db_util_open(BROWSER_MOST_VISITED_SITES_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ BROWSER_LOGD("check here");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "delete from mostvisited where id=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_bind_int(sqlite3_stmt, 1, index) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_int is failed.");\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.");\r
+
+ db_util_close(m_db_descriptor);\r
+\r
+ return (error == SQLITE_OK || error == SQLITE_DONE);\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::delete_most_visited_sites_history_item(int history_id)\r
+{\r
+ int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor,\r
+ DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGE("db_util_open failed");\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "delete from history where id=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (sqlite3_bind_int(sqlite3_stmt, 1, history_id) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_int is failed.\n");\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ db_util_close(m_db_descriptor);\r
+\r
+ return (error == SQLITE_OK || error == SQLITE_DONE);\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::save_most_visited_sites_item(int index, const char *url,\r
+ const char *title, const char *screen_shot)\r
+{\r
+ if(index > BROWSER_MOST_VISITED_SITES_ITEM_MAX) {\r
+ BROWSER_LOGE("index is over BROWSER_MOST_VISITED_SITES_ITEM_MAX");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (url == NULL || title == NULL) {\r
+ BROWSER_LOGE("empty page");\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, "select * from mostvisited where id=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ error = sqlite3_bind_int(sqlite3_stmt, 1, index);\r
+ if (error != SQLITE_OK) {\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ }\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (error == SQLITE_ROW) { // already charged slot\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "update mostvisited set address=?, title=?, image=? where id=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL) != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_text(sqlite3_stmt, 2, title, -1, NULL) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_text(sqlite3_stmt, 3, screen_shot, -1, NULL) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_int(sqlite3_stmt, 4, index) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ } else {\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "insert into mostvisited (id, address, title, image) values(?,?,?,?)",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_int(sqlite3_stmt, 1, index) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_text(sqlite3_stmt, 2, url, -1, NULL) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_text(sqlite3_stmt, 3, title, -1, NULL) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_text(sqlite3_stmt, 4, screen_shot, -1, NULL) != SQLITE_OK){\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ }\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ db_util_close(m_db_descriptor);\r
+\r
+ return (error == SQLITE_DONE);\r
+}\r
+\r
+std::string Most_Visited_Sites_DB::get_history_title_by_id(const char* id)\r
+{\r
+ std::string title;\r
+ int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor,\r
+ DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return title;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "select title from history where id=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return title;\r
+ }\r
+\r
+ if (sqlite3_bind_text(sqlite3_stmt, 1, id, -1, NULL) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error == SQLITE_ROW)\r
+ title = std::string(reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt, 0)));\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ db_util_close(m_db_descriptor);\r
+\r
+ return title;\r
+}\r
+\r
+std::string Most_Visited_Sites_DB::get_history_id_by_url(const char* url)\r
+{\r
+ std::string history_id;\r
+ history_id.clear();\r
+\r
+ int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return history_id;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "select id from history where address=?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ return history_id;\r
+ }\r
+\r
+ if (sqlite3_bind_text(sqlite3_stmt, 1, url, -1, NULL ) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_text is failed.\n");\r
+\r
+ error = sqlite3_step(sqlite3_stmt);\r
+ if (error == SQLITE_ROW)\r
+ history_id = std::string(reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt, 0)));\r
+\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ db_util_close(m_db_descriptor);\r
+ return history_id;\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::get_most_visited_list(std::vector<most_visited_sites_entry> &list,\r
+ std::vector<most_visited_sites_entry> &duplicate_list, int count)\r
+{\r
+ int error = db_util_open(BROWSER_HISTORY_DB_PATH, &m_db_descriptor, DB_UTIL_REGISTER_HOOK_METHOD);\r
+ if (error != SQLITE_OK) {\r
+ db_util_close(m_db_descriptor);\r
+ m_db_descriptor = NULL;\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ if (duplicate_list.size() == 0)\r
+ error = sqlite3_prepare_v2(m_db_descriptor, "select address, title, id from history order by counter desc limit ?",\r
+ -1, &sqlite3_stmt, NULL);\r
+ else {\r
+ string query = "select address, title, id from history";\r
+ Eina_Bool is_attach_where = EINA_FALSE;\r
+ int default_prefix_length = strlen(DEFAULT_ICON_PREFIX);\r
+ for (int i = 0; i < duplicate_list.size(); i++) {\r
+ int size = (duplicate_list[i].id.length() < default_prefix_length)\r
+ ? duplicate_list[i].url.length() : default_prefix_length;\r
+ if (memcmp(duplicate_list[i].id.c_str(), DEFAULT_ICON_PREFIX, size) == 0)\r
+ continue;\r
+ if (is_attach_where) {\r
+ query.append(" and ");\r
+ }\r
+ if (!is_attach_where) {\r
+ query.append(" where ");\r
+ is_attach_where = true;\r
+ }\r
+ query.append("id != ");\r
+ query.append(duplicate_list[i].id);\r
+ }\r
+ query.append(" order by counter desc limit ?");\r
+ error = sqlite3_prepare_v2(m_db_descriptor, query.c_str(), -1, &sqlite3_stmt, NULL);\r
+ }\r
+ if (error != SQLITE_OK) {\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+ if (sqlite3_bind_int(sqlite3_stmt, 1, count) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_bind_int is failed.\n");\r
+\r
+ most_visited_sites_entry item;\r
+ while ((error = sqlite3_step(sqlite3_stmt)) == SQLITE_ROW) {\r
+ item.url = reinterpret_cast<const char *> (sqlite3_column_text(sqlite3_stmt, 0));\r
+ item.title = reinterpret_cast<const char *> (sqlite3_column_text(sqlite3_stmt, 1));\r
+ item.id = reinterpret_cast<const char *> (sqlite3_column_text(sqlite3_stmt, 2));\r
+\r
+ Eina_Bool is_duplicated = EINA_FALSE;\r
+ for (int i = 0 ; i < duplicate_list.size() ; i++) {\r
+ if (!strcmp(item.url.c_str(), duplicate_list[i].url.c_str())) {\r
+ is_duplicated = EINA_TRUE;\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (!is_duplicated)\r
+ list.push_back(item);\r
+ }\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+\r
+ _close_db();\r
+\r
+ return (error == SQLITE_DONE);\r
+}\r
+\r
+Eina_Bool Most_Visited_Sites_DB::get_most_visited_sites_list(std::vector<most_visited_sites_entry> &list)\r
+{\r
+ if (_open_db() == EINA_FALSE)\r
+ return EINA_FALSE;\r
+\r
+ sqlite3_stmt *sqlite3_stmt = NULL;\r
+ int error = sqlite3_prepare_v2(m_db_descriptor, "select id, address, title, image from mostvisited order by id asc",\r
+ -1, &sqlite3_stmt, NULL);\r
+ if (error != SQLITE_OK) {\r
+ BROWSER_LOGD("SQL error=%d", error);\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+ _close_db();\r
+ return EINA_FALSE;\r
+ }\r
+\r
+ most_visited_sites_entry item;\r
+ int count = 0;\r
+ while ((error = sqlite3_step(sqlite3_stmt)) == SQLITE_ROW) {\r
+ item.index = sqlite3_column_int(sqlite3_stmt, 0);\r
+ item.url = reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt, 1));\r
+ item.title = reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt, 2));\r
+ item.id = reinterpret_cast<const char *>(sqlite3_column_text(sqlite3_stmt,3));\r
+\r
+ Eina_Bool is_duplicated = EINA_FALSE;\r
+ for (int i = 0 ; i < list.size() ; i++) {\r
+ if (!strcmp(item.url.c_str(), list[i].url.c_str())) {\r
+ is_duplicated = EINA_TRUE;\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (!is_duplicated) {\r
+ list.push_back(item);\r
+ count++;\r
+ if (count >= BROWSER_MOST_VISITED_SITES_ITEM_MAX)\r
+ break;\r
+ }\r
+ }\r
+ if (sqlite3_finalize(sqlite3_stmt) != SQLITE_OK)\r
+ BROWSER_LOGE("sqlite3_finalize is failed.\n");\r
+
+ _close_db();\r
+\r
+ return (error == SQLITE_DONE || error == SQLITE_ROW);\r
+}\r
+\r
--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+#ifndef BROWSER_MOST_VISITED_SITES_DB_H\r
+#define BROWSER_MOST_VISITED_SITES_DB_H\r
+\r
+#include "browser-config.h"\r
+\r
+extern "C" {\r
+#include "db-util.h"\r
+}\r
+\r
+#include <iostream>\r
+#include <string>\r
+#include <vector>\r
+\r
+class Most_Visited_Sites_DB {\r
+public:\r
+ struct most_visited_sites_entry {\r
+ int index;\r
+ std::string title;\r
+ std::string url;\r
+ std::string id;\r
+ };\r
+\r
+ Most_Visited_Sites_DB(void);\r
+ ~Most_Visited_Sites_DB(void);\r
+\r
+ Eina_Bool get_most_visited_sites_list(std::vector<most_visited_sites_entry> &list);\r
+ Eina_Bool get_most_visited_list(std::vector<most_visited_sites_entry> &list,\r
+ std::vector<most_visited_sites_entry> &duplicate_list, int count);\r
+ Eina_Bool save_most_visited_sites_item(int index, const char *url,\r
+ const char *title, const char *screen_shot);\r
+ Eina_Bool delete_most_visited_sites_item(int index);\r
+ Eina_Bool delete_most_visited_sites_history_item(int history_id);\r
+ std::string get_history_id_by_url(const char* url);\r
+ std::string get_history_title_by_id(const char* id);\r
+ Eina_Bool is_in_bookmark(const char* url, int *bookmark_id);\r
+private:\r
+ Eina_Bool _open_db(void);\r
+ Eina_Bool _close_db(void);\r
+\r
+ static sqlite3* m_db_descriptor;\r
+};\r
+\r
+#endif /* BROWSER_SPEED_DIAL_DB_H */\r
+\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
\r
#ifndef BROWSER_CONFIG_H\r
#define BROWSER_CONFIG_H\r
\r
-#include <appcore-efl.h>\r
+#include <account.h>\r
#include <appsvc.h>\r
#include <app_service.h>\r
#include <app_manager.h>\r
#include <aul.h>\r
#include <bundle.h>\r
#include <cairo.h>\r
+#include <cairo-pdf.h>\r
+#include <haptic.h>\r
#include <dirent.h>\r
#include <gio/gio.h>\r
#include <glib.h>\r
#include <stdlib.h>\r
#include <ui-gadget.h>\r
#include <unistd.h>\r
+#include <url_download.h>\r
#include <utilX.h>\r
#include <vconf.h>\r
#include <Elementary.h>\r
-#include <Elementary_webview.h>\r
#include <Ecore.h>\r
#include <Ecore_IMF.h>\r
#include <Ecore_X.h>\r
#include <Evas.h>\r
-#include <EWebKit.h>\r
-#include <devman_haptic.h>\r
\r
#include <cstdio>\r
-#include <ewk_main.h>\r
#include <fstream>\r
#include <sstream>\r
#include <iostream>\r
#include <map>\r
#include <set>\r
#include <string>\r
+#include <syspopup_caller.h>\r
#include <vector>\r
+#include <vconf-internal-keys.h>\r
\r
#include "browser-dlog.h"\r
#include "browser-string.h"\r
\r
+#define BUILDING_EFL__\r
+#include <WebKit2/WebKit2.h>\r
+#include <WebKit2/EWebKit2.h>\r
+\r
+#include <WebKit2/WKArray.h>\r
+#include <WebKit2/WKContextMenuItem.h>\r
+#include <WebKit2/WKContextMenuItemTypes.h>\r
+#include <WebKit2/WKContextTizen.h>\r
+#include <WebKit2/WKContextPrivate.h>\r
+#include <WebKit2/WKCookieManager.h>\r
+#include <WebKit2/WKDictionary.h>\r
+#include <WebKit2/WKDownload.h>\r
+#include <WebKit2/WKIconDatabase.h>\r
+#include <WebKit2/WKIconDatabaseEfl.h>\r
+#include <WebKit2/WKImageCairo.h>\r
+#include <WebKit2/WKGeolocationManager.h>\r
+#include <WebKit2/WKGeolocationPermissionRequest.h>\r
+#include <WebKit2/WKPageTizen.h>\r
+#include <WebKit2/WKPreferencesEfl.h>\r
+#include <WebKit2/WKResourceCacheManager.h>\r
+#include <WebKit2/WKSecurityOrigin.h>\r
+#include <WebKit2/WKURLRequestEfl.h>\r
+#include <WebKit2/WKURLResponseEfl.h>\r
+\r
#define BROWSER_PACKAGE_NAME "browser"\r
#define BROWSER_EDJE_DIR "/opt/apps/org.tizen.browser/res/edje"\r
#define BROWSER_LOCALE_DIR "/opt/apps/org.tizen.browser/res/locale"\r
#define BROWSER_FILE_SCHEME "file://"\r
#define BROWSER_RTSP_SCHEME "rtsp://"\r
#define BROWSER_MAIL_TO_SCHEME "mailto:"\r
-#define BROWSER_TEL_SCHEME "tel:"\r
#define BROWSER_SMS_SCHEME "sms:"\r
-#define BROWSER_VTEL_SCHEME "vtel:"\r
+#define BROWSER_SMS_TO_SCHEME "smsto:"\r
+#define BROWSER_MMS_SCHEME "mms:"\r
+#define BROWSER_MMS_TO_SCHEME "mmsto:"\r
#define BROWSER_WTAI_SCHEME "wtai://"\r
-#define BROWSER_DAUM_TV_SCHEME "daumtv://"\r
-#define BROWSER_YOUTUBE_SCHEME "vnd.youtube"\r
+#define BROWSER_WTAI_WP_AP_SCHEME "wtai://wp/ap;"\r
\r
#define BROWSER_DEFAULT_USER_HOMEPAGE "www.tizen.org"\r
\r
#define BROWSER_PREDICTIVE_HISTORY_THEME BROWSER_EDJE_DIR"/browser-predictive-history.edj"\r
#define BROWSER_SETTINGS_THEME BROWSER_EDJE_DIR"/browser-settings.edj"\r
#define BROWSER_BOOKMARK_THEME BROWSER_EDJE_DIR"/browser-bookmark-view.edj"\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
#define BROWSER_MOST_VISITED_SITES_THEME BROWSER_EDJE_DIR"/most-visited-sites.edj"\r
#define BROWSER_MOST_VISITED_THEME BROWSER_EDJE_DIR"/browser-most-visited.edj"\r
+#endif\r
#define BROWSER_FIND_WORD_LAYOUT_THEME BROWSER_EDJE_DIR"/browser-view-find-word-layout.edj"\r
\r
/* browser vconf path */\r
#define BROWSER_VCONF_PREFIX "db/browser/"\r
#define BROWSER_SETTING_VCONF_PREFIX "db/browsersetting/"\r
-#define SHOW_MY_SITES_GUIDE BROWSER_VCONF_PREFIX"ShowMySitesGuide"\r
-#define BROWSER_BRIGHTNESS_LEVEL_KEY BROWSER_VCONF_PREFIX"BrowserBrightnessLevel"\r
-#define LAST_VISITED_URL_KEY BROWSER_SETTING_VCONF_PREFIX"LastVisitedUrl"\r
-//#define USERAGENT_KEY BROWSER_VCONF_PREFIX"UserAgent"\r
-\r
-/* "db/browsersetting/UserAgent" should be installed in browser with Tizen open.\r
- * Because the user agent ug is not available with Tizen open. */\r
-#define USERAGENT_KEY BROWSER_SETTING_VCONF_PREFIX"UserAgent"\r
-\r
-#define DEFAULT_USER_AGENT_STRING "Tizen"\r
-\r
-#define HOMEPAGE_KEY BROWSER_SETTING_VCONF_PREFIX"HomepageMode"\r
-#define USER_HOMEPAGE_KEY BROWSER_SETTING_VCONF_PREFIX"UserHomepage"\r
-#define SEARCHURL_KEY BROWSER_VCONF_PREFIX"SearchUrl"\r
-#define DEFAULT_VIEW_LEVEL_KEY BROWSER_SETTING_VCONF_PREFIX"DefaultViewLevel"\r
-#define RUN_JAVASCRIPT_KEY BROWSER_SETTING_VCONF_PREFIX"RunJavaScript"\r
-#define DISPLAY_IMAGES_KEY BROWSER_SETTING_VCONF_PREFIX"DisplayImages"\r
-#define BLOCK_POPUP_KEY BROWSER_SETTING_VCONF_PREFIX"BlockPopup"\r
-#define ACCEPT_COOKIES_KEY BROWSER_SETTING_VCONF_PREFIX"CookieOptionInt"\r
-#define AUTO_SAVE_ID_PASSWORD_KEY BROWSER_SETTING_VCONF_PREFIX"SaveIDPassword"\r
-\r
-#define RUN_READER_KEY BROWSER_SETTING_VCONF_PREFIX"RunReader"\r
-#define READER_FONT_SIZE_KEY BROWSER_SETTING_VCONF_PREFIX"FontSize"\r
-\r
-#define RUN_PLUGINS_KEY BROWSER_SETTING_VCONF_PREFIX"RunPlugins"\r
-#define RUN_FLASH_KEY BROWSER_SETTING_VCONF_PREFIX"RunFlash"\r
-#define PAUSE_FLASH_KEY BROWSER_SETTING_VCONF_PREFIX"PauseFlash"\r
-#define ACCELERATED_COMPOSITION_KEY BROWSER_SETTING_VCONF_PREFIX"AcceleratedComposition"\r
-#define EXTERNAL_VIDEO_PLAYER_KEY BROWSER_SETTING_VCONF_PREFIX"ExternalVideoPlayer"\r
-#define BROWSER_FLASH_MIME_TYPE "application/x-shockwave-flash"\r
-\r
-#define BACKING_STORE_CACHE_SIZE 42000000 /* 42 MB */\r
-\r
-#define BROWSER_READER_DEFAULT_FONT_SIZE 16\r
-#define BROWSER_READER_MIN_FONT_SIZE 10\r
-#define BROWSER_READER_MAX_FONT_SIZE 30\r
\r
-#define BROWSER_DEFAULT_BRIGHTNESS_LEVEL 7\r
+#define SHOW_MY_SITES_GUIDE "ShowMySitesGuide"\r
+#define LAST_VISITED_URL_KEY "LastVisitedUrl"\r
+#define DEFAULT_USER_AGENT_STRING "System user agent"\r
+#define HOMEPAGE_KEY "HomepageMode"\r
+#define USER_HOMEPAGE_KEY "UserHomepage"\r
+#define SEARCHURL_KEY "SearchUrl"\r
+#define DEFAULT_VIEW_LEVEL_KEY "DefaultViewLevel"\r
+#define RUN_JAVASCRIPT_KEY "RunJavaScript"\r
+#define DISPLAY_IMAGES_KEY "DisplayImages"\r
+#define BLOCK_POPUP_KEY "BlockPopup"\r
+#define SHOW_SECURITY_WARNINGS_KEY "ShowSecurityWarnings"\r
+#define ACCEPT_COOKIES_KEY "AcceptCookies"\r
+#define AUTO_SAVE_ID_PASSWORD_KEY "AutoSaveIDPassword"\r
+#define AUTO_SAVE_FORM_DATA_KEY "AutoSaveFormData"\r
+#define ENABLE_LOCATION_KEY "EnableLocation"\r
+#ifdef ZOOM_BUTTON\r
+#define ZOOM_BUTTON_KEY "Zoombutton"\r
+#endif\r
+\r
+#define USERAGENT_KEY VCONFKEY_BROWSER_BROWSER_USER_AGENT\r
+#define CUSTOM_USERAGENT_KEY VCONFKEY_BROWSER_CUSTOM_USER_AGENT\r
\r
-#define MODAL_MSG_MAX_BUFFER 1024\r
-#define MODAL_LAUNCHER_BIN_PATH "/usr/bin/modal_launcher"\r
-#define MODAL_LAUNCHER_BUNDLE_TYPE "type"\r
-#define MODAL_LAUNCHER_BUNDLE_MESSAGE "message"\r
-#define MODAL_LAUNCHER_RESULT_KEYWORD "MODAL_RESULT"\r
+#define BROWSER_DEFAULT_BRIGHTNESS_LEVEL 7\r
\r
/* ID to save to vconf for browser settings */\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
#define MOST_VISITED_SITES "MOST_VISITED_SITES"\r
+#endif\r
#define RECENTLY_VISITED_SITE "RECENTLY_VISITED_SITE"\r
#define USER_HOMEPAGE "USER_HOMEPAGE"\r
+#define EMPTY_PAGE "EMPTY_PAGE"\r
#define FIT_TO_WIDTH "FIT_TO_WIDTH"\r
#define READABLE "READABLE"\r
#define ALWAYS_ASK "ALWAYS_ASK"\r
#define ALWAYS_ON "ON"\r
#define ALWAYS_OFF "OFF"\r
\r
-#define GOOGLE_SEARCH_QUERY "http://www.google.com/m/search?q="\r
-\r
-/* size definition */\r
-#define BROWSER_MORE_CTX_POPUP_MARGIN (10 * elm_scale_get())\r
-\r
/* bookmark definition */\r
#define BROWSER_BOOKMARK_DB_PATH "/opt/dbspace/.internet_bookmark.db"\r
#define BROWSER_BOOKMARK_GENLIST_BLOCK_COUNT 50\r
#define BROWSER_MAX_DATE_LEN 40\r
#define BROWSER_PREDICTIVE_HISTORY_COUNT 2\r
\r
-/* personal data definition */\r
-#define BROWSER_PERSONAL_DATA_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-credential.db"\r
-\r
/* multi window definition */\r
#define BROWSER_MULTI_WINDOW_MAX_COUNT 9\r
#define BROWSER_MULTI_WINDOW_ITEM_RATIO 0.60f\r
#define BROWSER_USER_AGENT_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser.db"\r
#define BROWSER_DEFAULT_USER_AGENT_TITLE "Tizen"\r
\r
-#define BROWSER_NOTIFICATION_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-notification.db"\r
-\r
/* Most visited definition */\r
#define BROWSER_MOST_VISITED_COUNT_TEXT "3"\r
\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
/* Speed dial definition */\r
-#define BROWSER_MOST_VISITED_SITES_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-speeddial.db"\r
-#define BROWSER_MOST_VISITED_SITES_SCREEN_SHOT_DIR "/opt/apps/org.tizen.browser/data/screenshots/"\r
+#define BROWSER_MOST_VISITED_SITES_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-mostvisited.db"\r
#define BROWSER_MOST_VISITED_SITES_ITEM_MAX 9\r
#define BROWSER_MOST_VISITED_SITES_URL ""\r
#define DEFAULT_ICON_PREFIX "default_"\r
+#endif\r
+#define BROWSER_BLANK_PAGE_URL "about:blank"\r
\r
+/* Geolocation definition */\r
+#define BROWSER_GEOLOCATION_DB_PATH "/opt/apps/org.tizen.browser/data/db/.browser-geolocation.db"\r
+\r
+/* Screen shot path definition */\r
+#define BROWSER_SCREEN_SHOT_DIR "/opt/apps/org.tizen.browser/data/screenshots/"\r
#define BROWSER_FAVICON_DB_PATH "/opt/apps/org.tizen.browser/data/db/WebpageIcons.db"\r
\r
#define BROWSER_CLEAN_UP_WINDOWS_TIMEOUT (60 * 30) // 30 min\r
\r
-/* To do. */\r
-#define BROWSER_SEARCH_URL_GOOGLE "http://www.google.com/m/search?q="\r
-#define BROWSER_SEARCH_URL_YAHOO "http://search.yahoo.com/search?p="\r
-#define BROWSER_SEARCH_URL_BING "http://www.bing.com/search?q="\r
-#define BROWSER_SEARCH_ENGINE_KEY BROWSER_SETTING_VCONF_PREFIX"SearchEngine"\r
+/* Haptic device definition */\r
+#define BROWSER_HAPTIC_DEVICE_HANDLE 0\r
+\r
#define BROWSER_GOOGLE "Google"\r
#define BROWSER_YAHOO "Yahoo"\r
#define BROWSER_BING "Bing"\r
#define SEC_DOWNLOAD_APP "org.tizen.download-provider"\r
#define SEC_STREAMING_PLAYER "org.tizen.video-player"\r
#define SEC_VIDEO_PLAYER SEC_STREAMING_PLAYER\r
-#define SEC_MUSIC_PLAYER "org.tizen.music-player"\r
+#define SEC_MUSIC_PLAYER "org.tizen.sound-player"\r
#define SEC_VT_CALL "org.tizen.vtmain"\r
#define SEC_MESSAGE "org.tizen.message"\r
#define SEC_EMAIL "org.tizen.email"\r
+#define SEC_SAMSUNG_APPS "org.tizen.samsungapps"\r
\r
#define ELM_NAVIFRAME_ITEM_CONTENT "default"\r
#define ELM_NAVIFRAME_ITEM_CONTROLBAR "controlbar"\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
\r
#ifndef BROWSER_DLOG_H\r
#define BROWSER_DLOG_H\r
/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.tizenopensource.org/license\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.tizenopensource.org/license\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
\r
#ifndef BROWSER_STRING_H\r
#define BROWSER_STRING_H\r
#include "browser-dlog.h"\r
\r
/* browser string define for translation */\r
-#define BR_STRING_MOST_VISITED_SITES _("IDS_BR_BODY_MOST_VISITED_SITES")\r
-#define BR_STRING_RECENTLY_VISITED_SITE _("IDS_BR_HEADER_RECENTLY_VISITED_PAGES")\r
-#define BR_STRING_USER_HOMEPAGE _("User homepage")\r
-#define BR_STRING_EMPTY_PAGE _("Empty page")\r
-#define BR_STRING_OK dgettext("sys_string", "IDS_COM_SK_OK")\r
-#define BR_STRING_EDIT dgettext("sys_string", "IDS_COM_SK_EDIT")\r
-#define BR_STRING_YES dgettext("sys_string", "IDS_COM_SK_YES")\r
-#define BR_STRING_NO dgettext("sys_string", "IDS_COM_SK_NO")\r
-#define BR_STRING_BACK dgettext("sys_string", "IDS_COM_BODY_BACK")\r
-#define BR_STRING_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL")\r
-#define BR_STRING_SAVE dgettext("sys_string", "IDS_COM_SK_SAVE")\r
-#define BR_STRING_DONE dgettext("sys_string", "IDS_COM_SK_DONE")\r
-#define BR_STRING_DELETE dgettext("sys_string", "IDS_COM_SK_DELETE")\r
-#define BR_STRING_SEARCH "Search"\r
-#define BR_STRING_DELETED _("IDS_BR_POP_DELETED")\r
-#define BR_STRING_DELETE_Q dgettext("sys_string", "IDS_COM_POP_DELETE_Q")\r
-#define BR_STRING_CLOSE dgettext("sys_string", "IDS_COM_POP_CLOSE")\r
-#define BR_STRING_VIEW_CHANGE _("IDS_BR_SK3_CHANGE_VIEW")\r
-#define BR_STRING_NEW_WINDOW _("IDS_BR_SK1_NEW_WINDOW")\r
-#define BR_STRING_CREATE_FOLDER _("IDS_BR_SK3_CREATE_FOLDER")\r
-#define BR_STRING_MULTI_WINDOW _("IDS_BR_HEADER_MULTI_WINDOW")\r
-#define BR_STRING_FOLDER _("IDS_BR_HEADER_FOLDER")\r
-#define BR_STRING_BOOKMARKS _("IDS_BR_BODY_BOOKMARKS")\r
-#define BR_STRING_BOOKMARK _("IDS_BR_OPT_BOOKMARK")\r
-#define BR_STRING_HISTORY _("IDS_BR_TAB_HISTORY")\r
-#define BR_STRING_HISTORIES "Histories"\r
-#define BR_STRING_LOADING _("IDS_BR_HEADER_LOADING_ING")\r
-#define BR_STRING_ADD_TO_BOOKMARKS _("IDS_BR_SK3_ADD_TO_BOOKMARKS")\r
-#define BR_STRING_EDIT_BOOKMARK _("IDS_BR_BODY_EDIT_BOOKMARK")\r
-#define BR_STRING_TITLE _("IDS_BR_BODY_TITLE")\r
-#define BR_STRING_CLICK_HERE "Please click here"\r
-#define BR_STRING_URL _("IDS_BR_BODY_URL")\r
-#define BR_STRING_ENTER_URL _("IDS_BR_POP_ENTER_URL")\r
-#define BR_STRING_ENTER_TITLE _("IDS_BR_BODY_ENTER_TITLE")\r
-#define BR_STRING_WARNING dgettext("sys_string", "IDS_COM_POP_WARNING")\r
-#define BR_STRING_ERROR dgettext("sys_string", "IDS_COM_POP_ERROR")\r
-#define BR_STRING_FAILED _("IDS_BR_POP_FAIL")\r
-#define BR_STRING_SELECTED _("IDS_BR_OPT_SELECTED")\r
-#define BR_STRING_SELECT_ALL _("IDS_BR_OPT_SELECT_ALL")\r
-#define BR_STRING_SELECT_ITEMS _("IDS_BR_HEADER_SELECT_ITEMS")\r
-#define BR_STRING_SELECT_HISTORIES "Select histories"\r
-#define BR_STRING_WARNING_OVER_BOOKMARK_LIMIT "It's reached maximum number of bookmark items, please delete it before adding"\r
-#define BR_STRING_ALREADY_EXISTS _("IDS_BR_POP_ALREADY_EXISTS")\r
-#define BR_STRING_FOLDERS _("IDS_BR_OPT_FOLDERS")\r
-#define BR_STRING_EMPTY_FOLDER_NAME _("IDS_BR_POP_ENTER_FOLDER_NAME")\r
-#define BR_STRING_EMPTY_FOLDER "Empty folder"\r
-#define BR_STRING_NO_BOOKMARKS _("IDS_BR_BODY_NO_BOOKMARKS")\r
-#define BR_STRING_NO_HISTORY _("IDS_BR_BODY_NO_HISTORIES")\r
-#define BR_STRING_PROCESSING dgettext("sys_string", "IDS_COM_POP_PROCESSING")\r
-#define BR_STRING_MOST_VISITED_GUIDE_TEXT "Offer 3 thumbnails of most visited sites to let you access to each site easily"\r
-#define BR_STRING_SHARE_VIA_MESSAGE _("IDS_BR_OPT_SHARE_VIA_MESSAGES")\r
-#define BR_STRING_SHARE_VIA_EMAIL _("IDS_BR_OPT_SHARE_VIA_EMAIL")\r
-#define BR_STRING_SHARE_VIA_FACEBOOK _("IDS_BR_OPT_SHARE_VIA_FACEBOOK")\r
-#define BR_STRING_SHARE_VIA_TWITTER _("IDS_BR_OPT_SHARE_VIA_TWITTER")\r
-#define BR_STRING_SHARE_VIA_NFC _("Share via NFC")\r
-#define BR_STRING_SHARE_VIA _("IDS_BR_OPT_SHARE_VIA")\r
-#define BR_STRING_MESSAGES dgettext("sys_string", "IDS_COM_BODY_MESSAGES")\r
-#define BR_STRING_EMAIL dgettext("sys_string", "IDS_COM_BODY_EMAIL")\r
-#define BR_STRING_NFC "NFC" //dgettext("sys_string", "IDS_COM_BODY_NFC")\r
-#define BR_STRING_DOWNLOAD_MANAGER _("IDS_BR_OPT_DOWNLOAD_MANAGER")\r
-#define BR_STRING_BRIGHTNESS dgettext("sys_string", "IDS_COM_OPT_BRIGHTNESS")\r
-#define BR_STRING_FIND_WORD _("IDS_BR_BODY_FIND_WORD")\r
-#define BR_STRING_SETTINGS _("IDS_BR_BODY_SETTINGS")\r
-#define BR_STRING_UNLOCK _("IDS_BR_OPT_UNLOCK")\r
-#define BR_STRING_LOCK _("IDS_BR_OPT_LOCK")\r
-#define BR_STRING_MODIFY _("IDS_BR_BODY_MODIFY")\r
-#define BR_STRING_SAVED _("IDS_BR_POP_SAVED")\r
-#define BR_STRING_ADD_TO_MOST_VISITED_SITES "Add to Most visited sites"\r
-#define BR_STRING_MY_SITES_GUIDE_TEXT "You can add, delete, pin or unpin each item of \"My sites\" by doing a long press. <br>You can also reorder items of \"My sites\" by drag and drop."\r
-#define BR_STRING_MY_SITES_NEVER_SHOW_TEXT "Never show this again."\r
-#define BR_STRING_WARNING_VIDEO_PLAYER "Can not launch video-player while video-call is running."\r
-#define BR_STRING_TITLE_SELECT_AN_ACTION _("Select an action")\r
-#define BR_STRING_NETWORK_ERROR _("IDS_BR_POP_NETWORK_ERROR")
-#define BR_STRING_SHARE dgettext("sys_string", "IDS_COM_BUTTON_SHARE")\r
-#define BR_STRING_NO_SEARCH_RESULT "No search result"\r
-#define BR_STRING_NO_URL_TO_POST _("There is no URL to post")\r
-#define BR_STRING_REQUEST_LOCATION " is requesting your current location."\r
-#define BR_STRING_ALLOW _("IDS_BR_OPT_ALLOW")\r
-#define BR_STRING_REFUSE _("IDS_BR_POP_REFUSE")\r
-#define BR_STRING_ADD_RSS_FEED _("IDS_BR_OPT_ADD_RSS_FEED")\r
-#define BR_STRING_FORWARD _("IDS_BR_OPT_NAVIGATE_GO_FORWARD")\r
-#define BR_STRING_ADD_TO_HOME _("IDS_BR_OPT_ADD_TO_HOME_SCREEN_ABB")\r
-\r
-/* browser settings string */\r
-#define BR_STRING_HOMEPAGE _("IDS_BR_BODY_HOMEPAGE")\r
-#define BR_STRING_INTERNET dgettext("sys_string", "IDS_COM_BODY_INTERNET")\r
-#define BR_STRING_DISPLAY _("IDS_BR_OPT_DISPLAY")\r
-#define BR_STRING_DEFAULT_VIEW_LEVEL _("IDS_BR_BODY_DEFAULT_VIEW")\r
-#define BR_STRING_READABLE _("IDS_BR_BODY_READABLE")\r
-#define BR_STRING_FIT_TO_WIDTH _("IDS_BR_BODY_FIT_TO_WIDTH")\r
-#define BR_STRING_CONTENT _("IDS_BR_MBODY_PAGE_CONTENT_SETTINGS")\r
-#define BR_STRING_RUN_JAVASCRIPT _("IDS_BR_BODY_RUN_JAVASCRIPT")\r
-#define BR_STRING_DISPLAY_IMAGES _("IDS_BR_BODY_DISPLAY_IMAGES")\r
-#define BR_STRING_BLOCK_POPUP _("IDS_BR_MBODY_BLOCK_POP_UP_WINDOWS")\r
-#define BR_STRING_PRIVACY _("IDS_BR_BODY_PRIVACY")\r
-#define BR_STRING_ACCEPT_COOKIES _("IDS_BR_BODY_COOKIES")\r
-#define BR_STRING_AUTO_SAVE_ID_PASSWORD _("IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD")\r
-#define BR_STRING_ALWAYS_ASK _("IDS_BR_BODY_ALWAYS_ASK")\r
-#define BR_STRING_ON dgettext("sys_string", "IDS_COM_BODY_ON")\r
-#define BR_STRING_OFF dgettext("sys_string", "IDS_COM_BODY_OFF")\r
-#define BR_STRING_CLEAR_PRIVATE_DATA _("IDS_BR_BODY_DELETE_BROWSING_DATA")\r
-#define BR_STRING_CACHE _("IDS_BR_BODY_CLEAR_CACHE")\r
-#define BR_STRING_COOKIE _("IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA")\r
-#define BR_STRING_SAVED_ID_PASSWORD _("IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD")\r
-#define BR_STRING_ITEMS_SELECTED _("IDS_BR_POP_PD_ITEMS_SELECTED")\r
-#define BR_STRING_ONE_ITEM_SELECTED _("IDS_BR_POP_1_ITEM_SELECTED")\r
-#define BR_STRING_DEBUG _("IDS_BR_BODY_DEVELOPER_MODE")\r
-#define BR_STRING_USER_AGENT _("IDS_BR_HEADER_USER_AGENT")\r
-\r
-#define BR_STRING_STORAGE _("IDS_BR_HEADER_LOCAL_STORAGE")\r
-#define BR_STRING_DEFAULT_STORAGE _("IDS_BR_BODY_DEFAULT_STORAGE")\r
-#define BR_STRING_PHONE _("IDS_BR_BODY_PHONE")\r
-#define BR_STRING_MEMORY_CARD _("IDS_BR_BODY_MEMORY_CARD")\r
-#define BR_STRING_READER _("IDS_BR_BODY_TEXT_READER")\r
-#define BR_STRING_RUN_READER "Run Reader"\r
-#define BR_STRING_FONT_SIZE _("IDS_BR_BODY_FONT_SIZE")\r
-#define BR_STRING_ABOUT_BROWSER _("IDS_BR_BODY_ABOUT_BROWSER")\r
-#define BR_STRING_PLUGINS _("IDS_BR_BODY_PLUG_IN")\r
-#define BR_STRING_ENABLE_PLUGINS _("IDS_BR_BODY_ENABLE_PLUG_INS")\r
-#define BR_STRING_RUN_FLASH _("IDS_BR_BODY_RUN_FLASH")\r
-#define BR_STRING_PAUSE_FLASH_AT_PANNING _("Pause flash at panning")\r
-#define BR_STRING_RESET_TO_DEFAULT "Reset to default"\r
-\r
-/* waring message */\r
-#define BR_STRING_MSG_BOUNDARY_LACK_OF_SPACE_TO_SAVE_HTML _("Not enough space to save a html file")\r
-#define BR_STRING_AUTH_REQUIRED _("IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED")\r
-#define BR_STRING_USER_NAME _("IDS_BR_BODY_AUTHUSERNAME")\r
-#define BR_STRING_PASSWORD _("IDS_BR_BODY_AUTHPASSWORD")\r
-\r
-#define BR_STRING_DISPLAY_POPUP_Q _("This site is attempting to open pop-up window. Show pop-up?")\r
-#define BR_STRING_PERMISSION_CHECK "Permission check"\r
-#define BR_STRING_WEB_NOTIFICATION_Q _("Do you want to receive web notification?")\r
+\r
+/* System string */\r
+/*************************************************************************************************************/\r
+#define BR_STRING_OK dgettext("sys_string", "IDS_COM_SK_OK")\r
+#define BR_STRING_EDIT dgettext("sys_string", "IDS_COM_SK_EDIT")\r
+#define BR_STRING_YES dgettext("sys_string", "IDS_COM_SK_YES")\r
+#define BR_STRING_NO dgettext("sys_string", "IDS_COM_SK_NO")\r
+#define BR_STRING_BACK dgettext("sys_string", "IDS_COM_BODY_BACK")\r
+#define BR_STRING_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL")\r
+#define BR_STRING_SAVE dgettext("sys_string", "IDS_COM_SK_SAVE")\r
+#define BR_STRING_DONE dgettext("sys_string", "IDS_COM_SK_DONE")\r
+#define BR_STRING_DELETE dgettext("sys_string", "IDS_COM_SK_DELETE")\r
+#define BR_STRING_DELETE_Q dgettext("sys_string", "IDS_COM_POP_DELETE_Q")\r
+#define BR_STRING_CLOSE dgettext("sys_string", "IDS_COM_POP_CLOSE")\r
+#define BR_STRING_ON dgettext("sys_string", "IDS_COM_BODY_ON")\r
+#define BR_STRING_OFF dgettext("sys_string", "IDS_COM_BODY_OFF")\r
+#define BR_STRING_WARNING dgettext("sys_string", "IDS_COM_POP_WARNING")\r
+#define BR_STRING_ERROR dgettext("sys_string", "IDS_COM_POP_ERROR")\r
+#define BR_STRING_PROCESSING dgettext("sys_string", "IDS_COM_POP_PROCESSING")\r
+#define BR_STRING_MESSAGES dgettext("sys_string", "IDS_COM_BODY_MESSAGES")\r
+#define BR_STRING_EMAIL dgettext("sys_string", "IDS_COM_BODY_EMAIL")\r
+#define BR_STRING_SHARE dgettext("sys_string", "IDS_COM_BUTTON_SHARE")\r
+#define BR_STRING_BRIGHTNESS dgettext("sys_string", "IDS_COM_OPT_BRIGHTNESS")\r
+#define BR_STRING_AUTOMATIC dgettext("sys_string", "IDS_COM_BODY_AUTOMATIC")\r
+#define BR_STRING_INTERNET dgettext("sys_string", "IDS_COM_BODY_INTERNET")\r
+#define BR_STRING_CALL dgettext("sys_string", "IDS_COM_BODY_CALL")\r
+#define BR_STRING_NFC dgettext("sys_string", "IDS_COM_BODY_NFC")\r
+#define BR_STRING_DEFAULT dgettext("sys_string", "IDS_COM_BODY_DEFAULT")\r
+#define BR_STRING_LOW dgettext("sys_string", "IDS_COM_BODY_LOW")\r
+\r
+/* Need to fix */\r
+#define BR_STRING_WARNING_VIDEO_PLAYER _("Can not launch video-player while video-call is running.")//STMS common\r
+/*************************************************************************************************************/\r
+\r
+\r
+/* Browser main view */\r
+/*************************************************************************************************************/\r
+#define BR_STRING_VIEW_CHANGE _("IDS_BR_SK3_CHANGE_VIEW")\r
+#define BR_STRING_NEW_WINDOW _("IDS_BR_SK1_NEW_WINDOW")\r
+#define BR_STRING_CREATE_FOLDER _("IDS_BR_SK3_CREATE_FOLDER")\r
+#define BR_STRING_FOLDER _("IDS_BR_HEADER_FOLDER")\r
+#define BR_STRING_HISTORY _("IDS_BR_TAB_HISTORY")\r
+#define BR_STRING_LOADING _("IDS_BR_HEADER_LOADING_ING")\r
+#define BR_STRING_ADD_TO_BOOKMARKS _("IDS_BR_SK3_ADD_TO_BOOKMARKS")\r
+#define BR_STRING_EDIT_BOOKMARK _("IDS_BR_BODY_EDIT_BOOKMARK")\r
+#define BR_STRING_TITLE _("IDS_BR_BODY_TITLE")\r
+#define BR_STRING_URL _("IDS_BR_BODY_URL")\r
+#define BR_STRING_SELECT_ALL _("IDS_BR_OPT_SELECT_ALL")\r
+#define BR_STRING_SELECT_ITEMS _("IDS_BR_HEADER_SELECT_ITEMS")\r
+#define BR_STRING_SELECT_HISTORIES _("Select histories")//STMS, new text\r
+#define BR_STRING_NO_BOOKMARKS _("IDS_BR_BODY_NO_BOOKMARKS")\r
+#define BR_STRING_NO_HISTORY _("IDS_BR_BODY_NO_HISTORIES")\r
+#define BR_STRING_SHARE_VIA_MESSAGE _("IDS_BR_OPT_SHARE_VIA_MESSAGES")\r
+#define BR_STRING_SHARE_VIA_EMAIL _("IDS_BR_OPT_SHARE_VIA_EMAIL")\r
+#define BR_STRING_SHARE_VIA _("IDS_BR_OPT_SHARE_VIA")\r
+#define BR_STRING_DOWNLOAD_MANAGER _("IDS_BR_OPT_DOWNLOAD_MANAGER")\r
+#define BR_STRING_UNLOCK _("IDS_BR_OPT_UNLOCK")\r
+#define BR_STRING_LOCK _("IDS_BR_OPT_LOCK")\r
+#define BR_STRING_MODIFY _("IDS_BR_BODY_MODIFY")\r
+#define BR_STRING_REQUEST_LOCATION _("IDS_BR_BODY_PS_REQUESTS_YOUR_LOCATION")\r
+#define BR_STRING_ALLOW _("IDS_BR_OPT_ALLOW")\r
+#define BR_STRING_FORWARD _("IDS_BR_OPT_NAVIGATE_GO_FORWARD")//Not use\r
+#define BR_STRING_REMEMBER_PREFERENCE _("IDS_BR_BODY_REMEMBER_PREFERENCE")\r
+#define BR_STRING_ITEMS_SELECTED _("IDS_BR_POP_PD_ITEMS_SELECTED")\r
+#define BR_STRING_ONE_ITEM_SELECTED _("IDS_BR_POP_1_ITEM_SELECTED")\r
+#define BR_STRING_EMPTY _("IDS_BR_BODY_EMPTY")\r
+#define BR_STRING_URL_GUIDE_TEXT _("IDS_BR_BODY_SEARCH_OR_ENTER_URL")\r
+#define BR_STRING_AUTO _("IDS_BR_BODY_AUTO")\r
+#define BR_STRING_MANUAL _("IDS_BR_OPT_MANUAL")\r
+/*************************************************************************************************************/\r
+\r
+\r
+/* More menu */\r
+/*************************************************************************************************************/\r
+#define BR_STRING_FIND_ON_PAGE _("IDS_BR_OPT_FIND_ON_PAGE")\r
+//#define BR_STRING_WEB_CLIPPING _("IDS_BR_OPT_ADD_TO_WEB_CLIP")\r
+//share menu\r
+#define BR_STRING_BOOKMARKS _("IDS_BR_BODY_BOOKMARKS")\r
+#define BR_STRING_BOOKMARK _("IDS_BR_OPT_BOOKMARK")\r
+#define BR_STRING_SAVE_FOR_OFFLINE_READING _("Save for offline reading")//stms, new text\r
+#define BR_STRING_PRIVATE _("Private")//STMS request design ID\r
+//brightness\r
+#define BR_STRING_HIGH _("IDS_BR_BODY_HIGH_MPRIORITY")\r
+#define BR_STRING_MEDIUM _("IDS_BR_BODY_MEDIUM")\r
+#define BR_STRING_SETTINGS _("IDS_BR_BODY_SETTINGS")\r
+/*************************************************************************************************************/\r
+\r
+\r
+/* Settings */\r
+/*************************************************************************************************************/\r
+#define BR_STRING_HOMEPAGE _("IDS_BR_BODY_HOMEPAGE")\r
+#if defined(FEATURE_MOST_VISITED_SITES)\r
+#define BR_STRING_MOST_VISITED_SITES _("IDS_BR_BODY_MOST_VISITED_SITES")\r
+#endif\r
+#define BR_STRING_BLANK_PAGE _("IDS_BR_BODY_BLANK_PAGE")\r
+#define BR_STRING_RECENTLY_VISITED_SITE _("IDS_BR_HEADER_RECENTLY_VISITED_PAGES")\r
+#define BR_STRING_CURRENT_PAGE _("IDS_BR_BODY_CURRENT_PAGE")\r
+#define BR_STRING_USER_HOMEPAGE _("User homepage")//stms, new text\r
+#define BR_STRING_CONTENT_SETTINGS _("IDS_BR_MBODY_PAGE_CONTENT_SETTINGS")\r
+#define BR_STRING_DEFAULT_VIEW_LEVEL _("Default view level")//stms, new text\r
+#define BR_STRING_FIT_TO_WIDTH _("IDS_BR_BODY_FIT_TO_WIDTH")\r
+#define BR_STRING_READABLE _("IDS_BR_BODY_READABLE")\r
+#define BR_STRING_RUN_JAVASCRIPT _("IDS_BR_BODY_RUN_JAVASCRIPT")\r
+#define BR_STRING_SHOW_IMAGES _("IDS_BR_BODY_SHOW_IMAGES")\r
+#define BR_STRING_ALWAYS_ON _("IDS_BR_BODY_ALWAYS_ON")\r
+#define BR_STRING_CLICK_TO_PLAY _("Click to play")//stms, new text\r
+#define BR_STRING_BLOCK_POPUP _("Block popup")//stms, new text\r
+#define BR_STRING_PRIVACY_AND_SECURTY _("Privacy & Security")//stms, new text\r
+#define BR_STRING_CLEAR_CACHE _("IDS_BR_BODY_CLEAR_CACHE")\r
+#define BR_STRING_CLEAR_ALL_CACHE_DATA_Q _("Clear all cache data?")//stms, new text\r
+//#define BR_STRING_CLEAR_ALL_CACHE_DATA_Q _("IDS_BR_POP_CLEAR_CACHE_Q?")\r
+#define BR_STRING_CLEAR_HISTORY _("IDS_BR_BODY_CLEAR_HISTORY")\r
+#define BR_STRING_CLEAR_ALL_HISTORY_DATA_Q _("Clear all history?")//Need to request new text in STMS\r
+//#define BR_STRING_CLEAR_ALL_HISTORY_DATA_Q _("IDS_BR_POP_HISTORYREMOVEALLHISTORY")\r
+#define BR_STRING_SHOW_SECURITY_WARNINGS _("IDS_BR_BODY_SHOW_SECURITY_WARNINGS")\r
+#define BR_STRING_COOKIES _("IDS_BR_BODY_COOKIES")\r
+#define BR_STRING_ACCEPT_COOKIES _("IDS_BR_BODY_ACCEPT_COOKIES")\r
+#define BR_STRING_CLEAR_ALL_COOKIE_DATA _("IDS_BR_BODY_CLEAR_ALL_COOKIE_DATA")\r
+#define BR_STRING_CLEAR_ALL_COOKIE_DATA_Q _("Clear all cookie data?")\r
+//#define BR_STRING_CLEAR_ALL_COOKIE_DATA_Q _("IDS_BR_POP_DELETE_ALL_COOKIES_CONTINUE_Q")\r
+#define BR_STRING_FROM_DATA _("From data")//stms, new text\r
+#define BR_STRING_REMEMBER_FROM_DATA _("IDS_BR_BODY_REMEMBER_FORM_DATA")\r
+#define BR_STRING_CLEAR_FROM_DATA _("Clear from data")//stms, new text\r
+#define BR_STRING_CLEAR_ALL_FROM_DATA_Q _("Clear all from data?")//stms, new text\r
+#define BR_STRING_LOCATION _("Location")//stms, new text\r
+#define BR_STRING_ENABLE_LOCATION _("IDS_BR_BODY_ENABLE_LOCATION")\r
+#define BR_STRING_CLEAR_LOCATION_ACCESS _("IDS_BR_BODY_CLEAR_LOCATION_ACCESS")\r
+#define BR_STRING_CLEAR_ALL_LOCATION_DATA_Q _("Clear all location data?")//stms, new text\r
+#define BR_STRING_FORMDATA _("Form data")\r
+#define BR_STRING_REMEMBER_FORMDATA _("Remember form data")\r
+#define BR_STRING_CLEAR_FORMDATA _("Clear form data")\r
+#define BR_STRING_CLEAR_ALL_FORMDATA_Q _("Clear all form data?")\r
+#define BR_STRING_PASSWORDS _("Passwords")//stms, new text\r
+#define BR_STRING_REMEMBER_PASSWORDS _("IDS_BR_BODY_REMEMBER_PASSWORDS")\r
+#define BR_STRING_CLEAR_PASSWORDS _("IDS_BR_BODY_CLEAR_PASSWORDS")\r
+#define BR_STRING_CLEAR_ALL_SAVED_PASSWORDS_Q _("IDS_BR_POP_DELETE_ALL_SAVED_PASSWORDS_Q")\r
+#define BR_STRING_SEARCH _("IDS_BR_BODY_SEARCH")\r
+#define BR_STRING_WEBSITE_SETTINGS _("IDS_BR_BODY_WEBSITE_SETTINGS")//stms, new text\r
+#define BR_STRING_MULTI_WINDOW_PREVIEW _("Multi window preview")//stms, new text\r
+#define BR_STRING_RESET_TO_DEFAULT _("IDS_BR_BODY_RESET_TO_DEFAULT")\r
+#define BR_STRING_RESET_TO_DEFAULT_Q _("Reset all settings to default?")//stms, new text\r
+#define BR_STRING_RESET_ALL_SETTINGS_TO_DEFAULT_Q _("IDS_BR_POP_ALL_SETTINGS_TO_DEFAULT_CONTINUE_Q")\r
+#define BR_STRING_DEVELOPER_MODE _("IDS_BR_BODY_DEVELOPER_MODE")\r
+#define BR_STRING_USER_AGENT _("IDS_BR_HEADER_USER_AGENT")\r
+#define BR_STRING_ABOUT_BROWSER _("IDS_BR_BODY_ABOUT_BROWSER")\r
+#define BR_STRING_RUN_FLASH _("IDS_BR_BODY_RUN_FLASH")\r
+#define BR_STRING_PAUSE_FLASH_AT_PANNING _("Pause flash at panning")//Need to request new text in STMS\r
+#define BR_STRING_NAVIGATION_HISTORY_WILL_BE_CLEARED _("IDS_BR_BODY_BROWSER_NAVIGATION_HISTORY_WILL_BE_CLEARED")\r
+#define BR_STRING_ALWAYS_ASK _("IDS_BR_BODY_ALWAYS_ASK")\r
+#define BR_STRING_DELETE_BROWSING_DATA _("IDS_BR_BODY_DELETE_BROWSING_DATA")\r
+#define BR_STRING_SAVED_ID_PASSWORD _("IDS_BR_BODY_AUTO_SAVE_ID_PASSWORD")\r
+#define BR_STRING_CLEAR_STORED_DATA _("Clear stored data")\r
+#define BR_STRING_CLEAR_LOCATION_ACCESS_FOR_THIS_WEBSITE _("Clear location access for this website?")\r
+#define BR_STRING_DELETE_ALL_STORED_DATA_BY_THIS_WEBSITE _("Delete all data stored by this website?")\r
+#define BR_STRING_DELETE_ALL_WEBSITE_DATA_AND_LOCATION_PERMISSIONS _("Delete all website data and location permissions?")\r
+#define BR_STRING_DELETE_ALL _("Delete all")\r
+/*************************************************************************************************************/\r
+\r
+\r
+/* Popup, inform and warnings */\r
+/*************************************************************************************************************/\r
+#define BR_STRING_DELETED _("IDS_BR_POP_DELETED")\r
+#define BR_STRING_ENTER_URL _("IDS_BR_POP_ENTER_URL")\r
+#define BR_STRING_ALREADY_EXISTS _("IDS_BR_POP_ALREADY_EXISTS")\r
+#define BR_STRING_FAILED _("IDS_BR_POP_FAIL")\r
+#define BR_STRING_SAVED _("IDS_BR_POP_SAVED")\r
+#define BR_STRING_ENTER_TITLE _("IDS_BR_BODY_ENTER_TITLE")\r
+#define BR_STRING_ENTER_FOLDER_NAME _("IDS_BR_BODY_ENTER_FOLDER_NAME")\r
+#define BR_STRING_ENTER_BOOKMARK_NAME _("IDS_BR_POP_ENTER_BOOKMARK_NAME")\r
+#define BR_STRING_NETWORK_ERROR _("IDS_BR_POP_NETWORK_ERROR")\r
+#define BR_STRING_DO_NOT_ASK_AGAIN _("IDS_BR_OPT_DO_NOT_ASK_AGAIN")\r
+#define BR_STRING_NOT_FOUND_URL _("IDS_BR_POP_URL_NOT_FOUND")\r
+#define BR_STRING_REFUSE _("IDS_BR_POP_REFUSE")\r
+#define BR_STRING_AUTH_REQUIRED _("IDS_BR_BODY_DESTINATIONS_AUTHENTICATION_REQUIRED")\r
+#define BR_STRING_USER_NAME _("IDS_BR_BODY_AUTHUSERNAME")\r
+#define BR_STRING_PASSWORD _("IDS_BR_BODY_AUTHPASSWORD")\r
+\r
+#define BR_STRING_NO_SEARCH_RESULT _("No search result")//STMS request design ID\r
+\r
+#define BR_STRING_DISPLAY_POPUP_Q _("This site is attempting to open pop-up window. Show pop-up?")\r
+#define BR_STRING_PERMISSION_CHECK _("Permission check")\r
+#define BR_STRING_WEB_NOTIFICATION_Q _("Do you want to receive web notification?")\r
+#define BR_STRING_WEBPROCESS_CRASH _("WebProcess is crashed")\r
+\r
+#define BR_STRING_MSG_MDM_POLICY _("Security policy restricts use of Internet browser")\r
+#define BR_STRING_TITLE_SELECT_AN_ACTION _("Select an action")//STMS, new text\r
+#define BR_STRING_WARNING_OVER_BOOKMARK_LIMIT _("IDS_BR_POP_UNABLE_TO_ADD_BOOKMARK_MAXIMUM_NUMBER_OF_BOOKMARKS_REACHED")\r
+#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\r
+#define BR_STRING_ADD_TO_MOST_VISITED_SITES _("Add to Most visited sites")//STMS, new text\r
+#define BR_STRING_MY_SITES_GUIDE_TEXT _("You can add, delete, pin or unpin each item of \"My sites\" by doing a long press. <br>You can also reorder items of \"My sites\" by drag and drop.")//STMS, \r
+#define BR_STRING_ADDED_TO_BOOKMARKS _("Added to bookmarks")//_("IDS_BR_POP_ADDED_TO_BOOKMARKS")\r
+#define BR_STRING_REMOVED_TO_BOOKMARKS _("Removed from bookmarks")//_("IDS_BR_POP_REMOVED_FROM_BOOKMARKS")\r
+// new text\r
+#define BR_STRING_MSG_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q _("IDS_BR_POP_DELETE_WEBSITE_LOCATION_ACCESS_INFORMATION_Q")\r
+/*************************************************************************************************************/\r
+\r
+\r
+/* Others */\r
+/*************************************************************************************************************/\r
+#define BR_STRING_HOUR _("hour")//IDS_COM_BODY_1_HOUR\r
+#define BR_STRING_HOURS _("hours")//IDS_COM_POP_PD_HOURS\r
+#define BR_STRING_NEVER_AUTO_UPDATE _("Never auto update")\r
+/*************************************************************************************************************/\r
+\r
\r
/* browser context menu */\r
-#define BR_STRING_CTXMENU_OPEN_LINK_IN_NEW_WINDOW _("IDS_BR_BODY_OPEN_IN_NEW_WINDOW")//"Open link in new window"\r
-#define BR_STRING_CTXMENU_DOWNLOAD_LINKED_FILE _("IDS_BR_BODY_DOWNLOAD")//"Download linked file"\r
-#define BR_STRING_CTXMENU_COPY_LINK_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy link location"\r
-#define BR_STRING_CTXMENU_OPEN_IMAGE_IN_NEW_WINDOW _("IDS_BR_BODY_VIEW_IMAGE")//"Open image in new window"\r
-#define BR_STRING_CTXMENU_OPEN_MEDIA_IN_NEW_WINDOW _("IDS_BR_BODY_PLAY")//"Open media in new window"\r
-#define BR_STRING_CTXMENU_COPY_IMAGE_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy image location"\r
+#define BR_STRING_CTXMENU_OPEN_LINK_IN_NEW_WINDOW _("IDS_BR_BODY_OPEN_IN_NEW_WINDOW")\r
+#define BR_STRING_CTXMENU_DOWNLOAD_LINKED_FILE _("IDS_BR_BODY_DOWNLOAD")\r
+#define BR_STRING_CTXMENU_COPY_LINK_LOCATION _("IDS_BR_OPT_COPY_LINK_URL")\r
+#define BR_STRING_CTXMENU_OPEN_IMAGE_IN_NEW_WINDOW _("IDS_BR_BODY_VIEW_IMAGE")\r
+#define BR_STRING_CTXMENU_OPEN_MEDIA_IN_NEW_WINDOW _("IDS_BR_BODY_PLAY")\r
+#define BR_STRING_CTXMENU_COPY_IMAGE_LOCATION _("IDS_BR_BODY_COPY_URL")\r
#define BR_STRING_CTXMENU_SAVE_IMAGE_AS _("Save image as")\r
#define BR_STRING_CTXMENU_COPY_IMAGE _("IDS_BR_OPT_COPY_IMAGE")\r
#define BR_STRING_CTXMENU_SAVE_IMAGE _("IDS_BR_OPT_SAVE_IMAGE")\r
#define BR_STRING_CTXMENU_COPY_MEDIA dgettext("sys_string", "IDS_COM_BODY_COPY")\r
-#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_EMAIL _("IDS_BR_OPT_SEND_VIA_EMAIL")//"Send image via email"\r
-#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_MESSAGE _("IDS_BR_OPT_SEND_VIA_MESSAGE")//"Send image via message"\r
-#define BR_STRING_CTXMENU_OPEN_VIDEO_IN_NEW_WINDOW _("Open video in new window")\r
-#define BR_STRING_CTXMENU_OPEN_AUDIO_IN_NEW_WINDOW _("Open audio in new window")\r
+#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_EMAIL _("IDS_BR_OPT_SEND_VIA_EMAIL")\r
+#define BR_STRING_CTXMENU_SEND_IMAGE_VIA_MESSAGE _("IDS_BR_OPT_SEND_VIA_MESSAGE")\r
+#define BR_STRING_CTXMENU_OPEN_VIDEO_IN_NEW_WINDOW _("Open video in new window")//stms, new text\r
+#define BR_STRING_CTXMENU_OPEN_AUDIO_IN_NEW_WINDOW _("Open audio in new window")//stms, new text\r
#define BR_STRING_CTXMENU_COPY_VIDEO_LINK_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy video link location"\r
#define BR_STRING_CTXMENU_COPY_AUDIO_LINK_LOCATION _("IDS_BR_BODY_COPY_URL")//"Copy audio link location"\r
#define BR_STRING_CTXMENU_TOGGLE_MEDIA_CONTOLS _("Toggle media controls")\r
#define BR_STRING_CTXMENU_GO_FORWARD _("IDS_BR_OPT_NAVIGATE_GO_FORWARD")\r
#define BR_STRING_CTXMENU_STOP _("IDS_BR_OPT_STOP")\r
#define BR_STRING_CTXMENU_RELOAD _("IDS_BR_OPT_RELOAD")\r
-#define BR_STRING_CTXMENU_CUT _("Cut")\r
+#define BR_STRING_CTXMENU_CUT dgettext("sys_string", "IDS_COM_BODY_CUT")\r
#define BR_STRING_CTXMENU_PASTE _("IDS_BR_OPT_PASTE")\r
+#define BR_STRING_CTXMENU_SELECT_WORD _("IDS_BR_BODY_SELECT_WORD")\r
#define BR_STRING_CTXMENU_NO_GUESS_FOUND _("No guesses found")\r
#define BR_STRING_CTXMENU_IGNORE_SPELLING _("Ignore spelling")\r
#define BR_STRING_CTXMENU_LEARN_SPELLING _("Learn spelling")\r
#define BR_STRING_CTXMENU_SPEECH _("Speech")\r
#define BR_STRING_CTXMENU_START_SPEAKING _("Start speaking")\r
#define BR_STRING_CTXMENU_STOP_SPEAKING _("Stop speaking")\r
+#define BR_STRING_CTXMENU_TEXT_SELECTION_MODE _("Text selection mode")\r
+#define BR_STRING_CTXMENU_SHARE_IMAGE _("Share image")\r
\r
#endif /* BROWSER_STRING_H */\r
-\r
--- /dev/null
+/*
+ * 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;
+}
+
--- /dev/null
+/*
+ * 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<char *> m_history_date_label_list;
+ vector<Browser_History_DB::history_item *> 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 */
+
--- /dev/null
+/*
+ * 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<Most_Visited_Sites_DB::most_visited_sites_entry>::iterator most_visited_sites_iterator;
+ std::vector<Most_Visited_Sites_DB::most_visited_sites_entry>::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("<font_size=32><color=#101010>") + std::string(BR_STRING_MY_SITES_GUIDE_TEXT)
+ + std::string("</color></font_size>");
+ 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("<font_size=30><color=#FFFFFF>") + std::string(BR_STRING_DO_NOT_ASK_AGAIN)
+ + std::string("</color></font_size>");
+
+ 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;
+}
+
--- /dev/null
+/*
+ * 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<Most_Visited_Sites_DB::most_visited_sites_entry> m_entry_list;
+ std::vector<Most_Visited_Sites_DB::most_visited_sites_entry> m_most_visited_list;
+ std::vector<most_visited_sites_item *> 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 */
+
--- /dev/null
+/*
+ * 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 <Elementary.h>
+#include <elm_widget.h>
+}
+
+#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);
+}
--- /dev/null
+/*
+ * 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*/
+