mirror of
https://invent.kde.org/network/falkon.git
synced 2025-09-10 16:47:54 +02:00
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8440891e10 | ||
![]() |
f9e060cfdc | ||
![]() |
9857d759f9 | ||
![]() |
3372d73b07 | ||
![]() |
4c63d24d1f | ||
![]() |
2545554067 | ||
![]() |
5aaaa3049f | ||
![]() |
c6a7274c87 |
@ -9,6 +9,7 @@ include:
|
|||||||
- /gitlab-templates/freebsd-qt6.yml
|
- /gitlab-templates/freebsd-qt6.yml
|
||||||
- /gitlab-templates/flatpak.yml
|
- /gitlab-templates/flatpak.yml
|
||||||
- /gitlab-templates/windows-qt6.yml
|
- /gitlab-templates/windows-qt6.yml
|
||||||
|
- /gitlab-templates/craft-windows-x86-64-qt6.yml
|
||||||
|
|
||||||
# Blocked - copied from tokodon
|
# Blocked - copied from tokodon
|
||||||
# - /gitlab-templates/reuse-lint.yml
|
# - /gitlab-templates/reuse-lint.yml
|
||||||
|
@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.18)
|
|||||||
# KDE Gear Version, managed by release script
|
# KDE Gear Version, managed by release script
|
||||||
set(RELEASE_SERVICE_VERSION_MAJOR "25")
|
set(RELEASE_SERVICE_VERSION_MAJOR "25")
|
||||||
set(RELEASE_SERVICE_VERSION_MINOR "07")
|
set(RELEASE_SERVICE_VERSION_MINOR "07")
|
||||||
set(RELEASE_SERVICE_VERSION_MICRO "71")
|
set(RELEASE_SERVICE_VERSION_MICRO "80")
|
||||||
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
|
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
|
||||||
|
|
||||||
# Project name and version
|
# Project name and version
|
||||||
|
@ -14,8 +14,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_hellopython.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_hellopython.pot\n"
|
||||||
"X-Crowdin-File-ID: 48542\n"
|
"X-Crowdin-File-ID: 51078\n"
|
||||||
|
|
||||||
#: hellopython.py:69
|
#: hellopython.py:69
|
||||||
msgid "My first plugin action"
|
msgid "My first plugin action"
|
||||||
|
@ -14,8 +14,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_helloqml.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_helloqml.pot\n"
|
||||||
"X-Crowdin-File-ID: 48516\n"
|
"X-Crowdin-File-ID: 50894\n"
|
||||||
|
|
||||||
#: main.qml:23
|
#: main.qml:23
|
||||||
msgid "\"Hello QML\" plugin loaded"
|
msgid "\"Hello QML\" plugin loaded"
|
||||||
|
@ -14,8 +14,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_middleclickloader.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_middleclickloader.pot\n"
|
||||||
"X-Crowdin-File-ID: 48536\n"
|
"X-Crowdin-File-ID: 50680\n"
|
||||||
|
|
||||||
#: mcl_settings.py:43
|
#: mcl_settings.py:43
|
||||||
msgid "MiddleClickLoader Setting"
|
msgid "MiddleClickLoader Setting"
|
||||||
|
@ -14,8 +14,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_runaction.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_runaction.pot\n"
|
||||||
"X-Crowdin-File-ID: 48510\n"
|
"X-Crowdin-File-ID: 52474\n"
|
||||||
|
|
||||||
#: button.py:30
|
#: button.py:30
|
||||||
msgid "Run Action"
|
msgid "Run Action"
|
||||||
|
@ -12,7 +12,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: falkon_qt\n"
|
"Project-Id-Version: falkon_qt\n"
|
||||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||||
"POT-Creation-Date: 2024-09-29 01:02+0100\n"
|
"POT-Creation-Date: 2024-09-29 01:02+0100\n"
|
||||||
"PO-Revision-Date: 2025-06-15 00:46+0100\n"
|
"PO-Revision-Date: 2025-07-06 20:25+0100\n"
|
||||||
"Last-Translator: Víctor Rodrigo Córdoba <vrcordoba@gmail.com>\n"
|
"Last-Translator: Víctor Rodrigo Córdoba <vrcordoba@gmail.com>\n"
|
||||||
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
|
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@ -4020,7 +4020,7 @@ msgstr "Claro"
|
|||||||
#: lib/preferences/preferences.cpp:331
|
#: lib/preferences/preferences.cpp:331
|
||||||
msgctxt "Preferences|"
|
msgctxt "Preferences|"
|
||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Orcuro"
|
msgstr "Oscuro"
|
||||||
|
|
||||||
#: lib/preferences/preferences.cpp:341
|
#: lib/preferences/preferences.cpp:341
|
||||||
#, qt-format
|
#, qt-format
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"PO-Revision-Date: 2025-01-17 12:11+0100\n"
|
"PO-Revision-Date: 2025-07-07 14:46+0200\n"
|
||||||
"Last-Translator: giovanni <g.sora@tiscali.it>\n"
|
"Last-Translator: giovanni <g.sora@tiscali.it>\n"
|
||||||
"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
|
"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
|
||||||
"Language: ia\n"
|
"Language: ia\n"
|
||||||
@ -2235,18 +2235,14 @@ msgid "SSL Certificate Error!"
|
|||||||
msgstr "Error de certificato SSL!"
|
msgstr "Error de certificato SSL!"
|
||||||
|
|
||||||
#: lib/network/networkmanager.cpp:92
|
#: lib/network/networkmanager.cpp:92
|
||||||
#, fuzzy, qt-format
|
#, qt-format
|
||||||
#| msgctxt "NetworkManager|"
|
|
||||||
#| msgid ""
|
|
||||||
#| "The page you are trying to access has the following errors in the SSL "
|
|
||||||
#| "certificate:"
|
|
||||||
msgctxt "NetworkManager|"
|
msgctxt "NetworkManager|"
|
||||||
msgid ""
|
msgid ""
|
||||||
"The page <strong>%1</strong> you are trying to access has the following "
|
"The page <strong>%1</strong> you are trying to access has the following "
|
||||||
"errors in the SSL certificate:"
|
"errors in the SSL certificate:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Le pagina que tu es essayante a acceder ha le sequente error in le "
|
"Le pagina <strong>%1</strong> que tu es essayante a acceder ha le sequente "
|
||||||
"certificato SSL:"
|
"error in le certificato SSL:"
|
||||||
|
|
||||||
#: lib/network/networkmanager.cpp:93
|
#: lib/network/networkmanager.cpp:93
|
||||||
msgctxt "NetworkManager|"
|
msgctxt "NetworkManager|"
|
||||||
@ -2800,12 +2796,9 @@ msgid "SSL Certificate Error!"
|
|||||||
msgstr "Error de certificato SSL!"
|
msgstr "Error de certificato SSL!"
|
||||||
|
|
||||||
#: lib/network/sslerrordialog.ui:90
|
#: lib/network/sslerrordialog.ui:90
|
||||||
#, fuzzy
|
|
||||||
#| msgctxt "NetworkManager|"
|
|
||||||
#| msgid "The certificate contains errors."
|
|
||||||
msgctxt "SslErrorDialog|"
|
msgctxt "SslErrorDialog|"
|
||||||
msgid "Toggle Certificate Details"
|
msgid "Toggle Certificate Details"
|
||||||
msgstr "Le certificato contine errores."
|
msgstr "Commuta Detalios de certificato"
|
||||||
|
|
||||||
#: lib/notifications/desktopnotificationsfactory.cpp:119
|
#: lib/notifications/desktopnotificationsfactory.cpp:119
|
||||||
msgctxt "DesktopNotificationsFactory|"
|
msgctxt "DesktopNotificationsFactory|"
|
||||||
@ -4312,11 +4305,13 @@ msgid ""
|
|||||||
"<html><head/><body><p><span style=\" font-weight:700;\">Web Page Background "
|
"<html><head/><body><p><span style=\" font-weight:700;\">Web Page Background "
|
||||||
"Colors</span></p></body></html>"
|
"Colors</span></p></body></html>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"<html><head/><body><p><span style=\" font-weight:700;\">Colores de Fundo de "
|
||||||
|
"Pagina Web </span></p></body></html>"
|
||||||
|
|
||||||
#: lib/preferences/preferences.ui:584
|
#: lib/preferences/preferences.ui:584
|
||||||
msgctxt "Preferences|"
|
msgctxt "Preferences|"
|
||||||
msgid "Background color while loading:"
|
msgid "Background color while loading:"
|
||||||
msgstr ""
|
msgstr "Color de fundo durante que il incarga:"
|
||||||
|
|
||||||
#: lib/preferences/preferences.ui:591 lib/preferences/preferences.ui:608
|
#: lib/preferences/preferences.ui:591 lib/preferences/preferences.ui:608
|
||||||
#: lib/preferences/preferences.ui:1044 lib/preferences/preferences.ui:1398
|
#: lib/preferences/preferences.ui:1044 lib/preferences/preferences.ui:1398
|
||||||
@ -4329,7 +4324,7 @@ msgstr "..."
|
|||||||
#: lib/preferences/preferences.ui:598
|
#: lib/preferences/preferences.ui:598
|
||||||
msgctxt "Preferences|"
|
msgctxt "Preferences|"
|
||||||
msgid "Background color when loaded:"
|
msgid "Background color when loaded:"
|
||||||
msgstr ""
|
msgstr "Color de fundo quando cargate:"
|
||||||
|
|
||||||
#: lib/preferences/preferences.ui:615 lib/preferences/preferences.ui:622
|
#: lib/preferences/preferences.ui:615 lib/preferences/preferences.ui:622
|
||||||
#: lib/preferences/preferences.ui:1051
|
#: lib/preferences/preferences.ui:1051
|
||||||
@ -5889,9 +5884,6 @@ msgid "Deny"
|
|||||||
msgstr "Nega"
|
msgstr "Nega"
|
||||||
|
|
||||||
#: lib/tools/mactoolbutton.cpp:94
|
#: lib/tools/mactoolbutton.cpp:94
|
||||||
#, fuzzy
|
|
||||||
#| msgctxt "Preferences|"
|
|
||||||
#| msgid "Select Color"
|
|
||||||
msgctxt "MacToolButton|"
|
msgctxt "MacToolButton|"
|
||||||
msgid "Select Color"
|
msgid "Select Color"
|
||||||
msgstr "Selectiona Color"
|
msgstr "Selectiona Color"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_autoscroll_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_autoscroll_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48512\n"
|
"X-Crowdin-File-ID: 51824\n"
|
||||||
|
|
||||||
#: autoscrollsettings.ui:14
|
#: autoscrollsettings.ui:14
|
||||||
msgctxt "AutoScrollSettings|"
|
msgctxt "AutoScrollSettings|"
|
||||||
|
@ -12,8 +12,9 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_flashcookiemanager_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_flashcookiemanager_qt."
|
||||||
"X-Crowdin-File-ID: 48526\n"
|
"pot\n"
|
||||||
|
"X-Crowdin-File-ID: 50610\n"
|
||||||
|
|
||||||
#: fcm_dialog.cpp:76
|
#: fcm_dialog.cpp:76
|
||||||
msgctxt "FCM_Dialog|"
|
msgctxt "FCM_Dialog|"
|
||||||
|
@ -12,9 +12,9 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_gnomekeyringpasswords_qt."
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_gnomekeyringpasswords_qt."
|
||||||
"pot\n"
|
"pot\n"
|
||||||
"X-Crowdin-File-ID: 48548\n"
|
"X-Crowdin-File-ID: 52098\n"
|
||||||
|
|
||||||
#: gnomekeyringpasswordbackend.cpp:120
|
#: gnomekeyringpasswordbackend.cpp:120
|
||||||
msgctxt "GnomeKeyringPlugin|"
|
msgctxt "GnomeKeyringPlugin|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_greasemonkey_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_greasemonkey_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48508\n"
|
"X-Crowdin-File-ID: 53020\n"
|
||||||
|
|
||||||
#: gm_addscriptdialog.cpp:50
|
#: gm_addscriptdialog.cpp:50
|
||||||
#, qt-format
|
#, qt-format
|
||||||
|
@ -12,9 +12,9 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/"
|
||||||
"falkon_kdeframeworksintegration_qt.pot\n"
|
"falkon_kdeframeworksintegration_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48538\n"
|
"X-Crowdin-File-ID: 52814\n"
|
||||||
|
|
||||||
#: downloadkjob.cpp:34
|
#: downloadkjob.cpp:34
|
||||||
msgctxt "DownloadKJob|"
|
msgctxt "DownloadKJob|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_mousegestures_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_mousegestures_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48518\n"
|
"X-Crowdin-File-ID: 52676\n"
|
||||||
|
|
||||||
#: mousegesturessettingsdialog.ui:14
|
#: mousegesturessettingsdialog.ui:14
|
||||||
msgctxt "MouseGesturesSettingsDialog|"
|
msgctxt "MouseGesturesSettingsDialog|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_pim_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_pim_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48530\n"
|
"X-Crowdin-File-ID: 52034\n"
|
||||||
|
|
||||||
#: PIM_handler.cpp:59
|
#: PIM_handler.cpp:59
|
||||||
msgctxt "PIM_Handler|"
|
msgctxt "PIM_Handler|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48514\n"
|
"X-Crowdin-File-ID: 53140\n"
|
||||||
|
|
||||||
#: lib/3rdparty/lineedit.cpp:102
|
#: lib/3rdparty/lineedit.cpp:102
|
||||||
msgctxt "LineEdit|"
|
msgctxt "LineEdit|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_sitesettingsview_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_sitesettingsview_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 54386\n"
|
"X-Crowdin-File-ID: 54964\n"
|
||||||
|
|
||||||
#: sitesettingsview_controller.cpp:40
|
#: sitesettingsview_controller.cpp:40
|
||||||
msgctxt "SiteSettingsView_Controller|"
|
msgctxt "SiteSettingsView_Controller|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_statusbaricons_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_statusbaricons_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48524\n"
|
"X-Crowdin-File-ID: 51322\n"
|
||||||
|
|
||||||
#: sbi_imagesicon.cpp:34
|
#: sbi_imagesicon.cpp:34
|
||||||
msgctxt "SBI_ImagesIcon|"
|
msgctxt "SBI_ImagesIcon|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_tabmanager_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_tabmanager_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48528\n"
|
"X-Crowdin-File-ID: 52152\n"
|
||||||
|
|
||||||
#: tabmanagersettings.ui:14
|
#: tabmanagersettings.ui:14
|
||||||
msgctxt "TabManagerSettings|"
|
msgctxt "TabManagerSettings|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_testplugin_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_testplugin_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48520\n"
|
"X-Crowdin-File-ID: 52126\n"
|
||||||
|
|
||||||
#: testplugin.cpp:98
|
#: testplugin.cpp:98
|
||||||
msgctxt "TestPlugin|"
|
msgctxt "TestPlugin|"
|
||||||
|
@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"X-Crowdin-Project: kdeorg\n"
|
"X-Crowdin-Project: kdeorg\n"
|
||||||
"X-Crowdin-Project-ID: 269464\n"
|
"X-Crowdin-Project-ID: 269464\n"
|
||||||
"X-Crowdin-Language: zh-CN\n"
|
"X-Crowdin-Language: zh-CN\n"
|
||||||
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_verticaltabs_qt.pot\n"
|
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_verticaltabs_qt.pot\n"
|
||||||
"X-Crowdin-File-ID: 48522\n"
|
"X-Crowdin-File-ID: 52850\n"
|
||||||
|
|
||||||
#: tablistview.cpp:197
|
#: tablistview.cpp:197
|
||||||
msgctxt "TabListView|"
|
msgctxt "TabListView|"
|
||||||
|
@ -1,456 +0,0 @@
|
|||||||
/*
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
All Association
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
; Date: 2012-Nov-18, S. Razi Alavizadeh, v0.1 ;
|
|
||||||
; Some Codes are based on code taken from: ;
|
|
||||||
; http://nsis.sourceforge.net/File_Association ;
|
|
||||||
; Ability to register protocol and extension associations. ;
|
|
||||||
; It supports old association method and new method by using ;
|
|
||||||
; IApplicationAssociationRegistration APIs. ;
|
|
||||||
; that needed 'AppAssocReg' plugins, downloadable from: ;
|
|
||||||
; http://nsis.sourceforge.net/SetVistaDefaultApp_plug-in ;
|
|
||||||
; and also add support for set as default backuped association when ;
|
|
||||||
; uninstalling. This needed 'Registery' plugins. ;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
Requirment:
|
|
||||||
1. 'AppAssocReg' plugins.
|
|
||||||
2. 'Registery' plugins.
|
|
||||||
|
|
||||||
Usage in script:
|
|
||||||
1. !include "AllAssociation.nsh"
|
|
||||||
2. [Section|Function]
|
|
||||||
${AllAssociationFunction} "Param1" "Param2" "..." $var
|
|
||||||
[SectionEnd|FunctionEnd]
|
|
||||||
|
|
||||||
AllAssociationFunction=[RegisterAssociation|UnRegisterAssociation|CreateProgId|UpdateSystemIcons|SetAsDefaultNoAppName]
|
|
||||||
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
${RegisterAssociation} "[assoc_name]" "[executable]" "[prog_id]" "[description]" "[icon]" "[type]"
|
|
||||||
|
|
||||||
"[assoc_name]" ; assoc_name, which is file format's extension if type is "file" and is protocol's name if type is "protocol".
|
|
||||||
;
|
|
||||||
"[executable]" ; executable which opens the file format or is protocol handler.
|
|
||||||
;
|
|
||||||
"[prog_id]" ; registery internal id for assoc_name, on Vista+ if type is "protocol" this is our registered ProgId for assoc_name and is used for comparison.
|
|
||||||
;
|
|
||||||
"[description]" ; description for the assoc_name. This will be display in Windows Explorer.
|
|
||||||
;
|
|
||||||
"[icon]" ; icon path for this association.
|
|
||||||
;
|
|
||||||
"[type]" ; type of association. "file" for extension and "protocol" for protocol handler.
|
|
||||||
;
|
|
||||||
|
|
||||||
${UnRegisterAssociation} "[assoc_name]" "[prog_id]" "[executable]" "[type]"
|
|
||||||
|
|
||||||
"[assoc_name]" ; assoc_name, which is file format's extension if type is "file" and is protocol's name if type is "protocol".
|
|
||||||
;
|
|
||||||
"[prog_id]" ; registery internal id for assoc_name
|
|
||||||
;
|
|
||||||
"[executable]" ; executable which opens the file format or is protocol handler.
|
|
||||||
;
|
|
||||||
"[type]" ; type of association. "file" for extension and "protocol" for protocol handler.
|
|
||||||
;
|
|
||||||
|
|
||||||
${CreateProgId} "[prog_id]" "[executable]" "[description]" "[icon]"
|
|
||||||
|
|
||||||
"[prog_id]" ; registery internal id for assoc_name
|
|
||||||
;
|
|
||||||
"[executable]" ; executable which opens the file format or is protocol handler.
|
|
||||||
;
|
|
||||||
"[description]" ; description for the assoc_name. This will be display in Windows Explorer.
|
|
||||||
;
|
|
||||||
"[icon]" ; icon path for this prog_id.
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
${SetAsDefaultNoAppName} "[prog_id]" "[assoc_name]" "[type]"
|
|
||||||
|
|
||||||
"[prog_id]" ; registery internal id for assoc_name
|
|
||||||
;
|
|
||||||
"[assoc_name]" ; assoc_name, which is file format's extension if type is "file" and is protocol's name if type is "protocol".
|
|
||||||
;
|
|
||||||
"[type]" ; type of association. "file" for extension and "protocol" for protocol handler.
|
|
||||||
;
|
|
||||||
|
|
||||||
${UpdateSystemIcons} ; it has not arguments and just notifies OS for updating icons for new associations.
|
|
||||||
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
Macros
|
|
||||||
_____________________________________________________________________________
|
|
||||||
|
|
||||||
Change log window verbosity (default: 3=no script)
|
|
||||||
|
|
||||||
Example:
|
|
||||||
!include "AllAssociation.nsh"
|
|
||||||
!insertmacro RegisterAssociation
|
|
||||||
${AllAssociation_VERBOSE} 4 # all verbosity
|
|
||||||
!insertmacro UnRegisterAssociation
|
|
||||||
${AllAssociation_VERBOSE} 3 # no script
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
!ifndef AllAssociation_INCLUDED
|
|
||||||
!define AllAssociation_INCLUDED
|
|
||||||
|
|
||||||
!include Util.nsh
|
|
||||||
|
|
||||||
!verbose push
|
|
||||||
!verbose 3
|
|
||||||
!ifndef _AllAssociation_VERBOSE
|
|
||||||
!define _AllAssociation_VERBOSE 3
|
|
||||||
!endif
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
!define AllAssociation_VERBOSE `!insertmacro AllAssociation_VERBOSE`
|
|
||||||
!verbose pop
|
|
||||||
|
|
||||||
!macro AllAssociation_VERBOSE _VERBOSE
|
|
||||||
!verbose push
|
|
||||||
!verbose 3
|
|
||||||
!undef _AllAssociation_VERBOSE
|
|
||||||
!define _AllAssociation_VERBOSE ${_VERBOSE}
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
|
|
||||||
; define some registery macros
|
|
||||||
!define RegistryRead `!insertmacro RegistryRead`
|
|
||||||
|
|
||||||
!macro RegistryRead _PATH _VALUE _STRING _TYPE
|
|
||||||
registry::_Read /NOUNLOAD `${_PATH}` `${_VALUE}`
|
|
||||||
Pop ${_STRING}
|
|
||||||
Pop ${_TYPE}
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
|
|
||||||
!define RegistryWrite `!insertmacro RegistryWrite`
|
|
||||||
|
|
||||||
!macro RegistryWrite _PATH _VALUE _STRING _TYPE _ERR
|
|
||||||
registry::_Write /NOUNLOAD `${_PATH}` `${_VALUE}` `${_STRING}` `${_TYPE}`
|
|
||||||
Pop ${_ERR}
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define RegistryFind `!insertmacro RegistryFind`
|
|
||||||
|
|
||||||
!macro RegistryFind _HANDLE _PATH _VALUEORKEY _STRING _TYPE
|
|
||||||
registry::_Find /NOUNLOAD `${_HANDLE}`
|
|
||||||
Pop ${_PATH}
|
|
||||||
Pop ${_VALUEORKEY}
|
|
||||||
Pop ${_STRING}
|
|
||||||
Pop ${_TYPE}
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define RegistryOpen `!insertmacro RegistryOpen`
|
|
||||||
|
|
||||||
!macro RegistryOpen _PATH _OPTIONS _HANDLE
|
|
||||||
registry::_Open /NOUNLOAD `${_PATH}` `${_OPTIONS}`
|
|
||||||
Pop ${_HANDLE}
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro RegisterAssociationCall _EXTENSION _EXECUTABLE _PROG_ID _DESCRIPTION _ICON _TYPE
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Push `${_EXECUTABLE}`
|
|
||||||
Push `${_PROG_ID}`
|
|
||||||
Push `${_DESCRIPTION}`
|
|
||||||
Push `${_ICON}`
|
|
||||||
|
|
||||||
${CallArtificialFunction} CreateProgId_
|
|
||||||
|
|
||||||
|
|
||||||
Push `${_PROG_ID}`
|
|
||||||
Push `${_EXECUTABLE}`
|
|
||||||
Push `${_EXTENSION}`
|
|
||||||
Push `${_TYPE}`
|
|
||||||
|
|
||||||
${CallArtificialFunction} RegisterAssociation_
|
|
||||||
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro UnRegisterAssociationCall _EXTENSION _PROG_ID _EXECUTABLE _TYPE
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
Push `${_EXTENSION}`
|
|
||||||
Push `${_EXECUTABLE}`
|
|
||||||
Push `${_PROG_ID}`
|
|
||||||
Push `${_TYPE}`
|
|
||||||
|
|
||||||
${CallArtificialFunction} UnRegisterAssociation_
|
|
||||||
|
|
||||||
; backuped ProgId was pushed from UnRegisterAssociation_
|
|
||||||
Push `${_EXTENSION}`
|
|
||||||
Push `${_TYPE}` ; type of association
|
|
||||||
${CallArtificialFunction} SetAsDefaultNoAppName_
|
|
||||||
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro CreateProgIdCall _PROG_ID _EXECUTABLE _DESCRIPTION _ICON
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
Push `${_EXECUTABLE}`
|
|
||||||
Push `${_PROG_ID}`
|
|
||||||
Push `${_DESCRIPTION}`
|
|
||||||
Push `${_ICON}`
|
|
||||||
|
|
||||||
${CallArtificialFunction} CreateProgId_
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro SetAsDefaultNoAppNameCall _PROG_ID _EXTENSION _TYPE
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
Push `${_PROG_ID}`
|
|
||||||
Push `${_EXTENSION}`
|
|
||||||
Push `${_TYPE}`
|
|
||||||
|
|
||||||
${CallArtificialFunction} SetAsDefaultNoAppName_
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define SetAsDefaultNoAppName `!insertmacro SetAsDefaultNoAppNameCall`
|
|
||||||
!define un.SetAsDefaultNoAppName `!insertmacro SetAsDefaultNoAppNameCall`
|
|
||||||
|
|
||||||
!macro SetAsDefaultNoAppName
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.SetAsDefaultNoAppName
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro SetAsDefaultNoAppName_
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Pop $R0 ; TYPE
|
|
||||||
Pop $R1 ; EXTENSION
|
|
||||||
Pop $R2 ; PROG_ID
|
|
||||||
|
|
||||||
StrCmp $R2 "No ProgId Pushed" NoBackupedProgId 0
|
|
||||||
StrCmp $R2 "" NoBackupedProgId 0
|
|
||||||
StrCmp $R1 "" NoBackupedProgId 0
|
|
||||||
${RegistryOpen} "HKLM\SOFTWARE\RegisteredApplications" "/K=0 /V=1 /S=0 /B=1" $R8 ; R8 = first registery handle
|
|
||||||
StrCmp $R8 0 close 0
|
|
||||||
loop1:
|
|
||||||
${RegistryFind} "$R8" $1 $R3 $3 $4 ; $R3 = AppRegisteredName
|
|
||||||
StrCmp $1 "" close 0
|
|
||||||
|
|
||||||
${RegistryOpen} "HKLM\$3" "/K=0 /V=1 /S=0 /B=1 /N='$R1'" $R9 ; R9 = second registery handle
|
|
||||||
StrCmp $R9 0 loop1 0
|
|
||||||
loop2:
|
|
||||||
${RegistryFind} "$R9" $1 $2 $R4 $4 ; $R4 = ProgId registered for EXTENSION
|
|
||||||
StrCmp $1 "" loop1 0
|
|
||||||
StrCmp $R4 "$R2" 0 loop2
|
|
||||||
|
|
||||||
AppAssocReg::SetAppAsDefault "$R3" "$R1" "$R0"
|
|
||||||
|
|
||||||
close:
|
|
||||||
registry::_Close /NOUNLOAD "$R9"
|
|
||||||
registry::_Close /NOUNLOAD "$R8"
|
|
||||||
registry::_Unload
|
|
||||||
|
|
||||||
NoBackupedProgId:
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define CreateProgId `!insertmacro CreateProgIdCall`
|
|
||||||
!define un.CreateProgId `!insertmacro CreateProgIdCall`
|
|
||||||
|
|
||||||
!macro CreateProgId
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.CreateProgId
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro CreateProgId_
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Pop $R0 ;ICON
|
|
||||||
Pop $R1 ;DESCRIPTION
|
|
||||||
Pop $R2 ;PROG_ID
|
|
||||||
Pop $R3 ;EXECUTABLE
|
|
||||||
|
|
||||||
ReadRegStr $0 HKCR $R2 ""
|
|
||||||
; StrCmp $0 "" 0 JustSkip ; if icon and description are present then just skip
|
|
||||||
WriteRegStr HKCR "$R2" "" "$R1"
|
|
||||||
WriteRegStr HKCR "$R2\shell" "" "open"
|
|
||||||
WriteRegStr HKCR "$R2\DefaultIcon" "" "$R0"
|
|
||||||
;JustSkip:
|
|
||||||
WriteRegStr HKCR "$R2\shell\open\command" "" '"$R3" "%1"'
|
|
||||||
WriteRegStr HKCR "$R2\shell\edit" "" "Edit $R1"
|
|
||||||
WriteRegStr HKCR "$R2\shell\edit\command" "" '"$R3" "%1"'
|
|
||||||
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define RegisterAssociation `!insertmacro RegisterAssociationCall`
|
|
||||||
!define un.RegisterAssociation `!insertmacro RegisterAssociationCall`
|
|
||||||
|
|
||||||
!macro RegisterAssociation
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.RegisterAssociation
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro RegisterAssociation_
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Pop $R0 ;type = file or protocol
|
|
||||||
Pop $R1 ;association name = ext or protocol
|
|
||||||
Pop $R2 ;exe
|
|
||||||
Pop $R3 ;prog_id
|
|
||||||
|
|
||||||
|
|
||||||
StrCmp "$R0" "file" 0 NoFile
|
|
||||||
; file
|
|
||||||
ReadRegStr $1 HKCR $R1 "" ; read current file association
|
|
||||||
StrCmp "$1" "" NoFileExtBackup ; is it empty
|
|
||||||
StrCmp "$1" "$R3" NoFileExtBackup ; it is our own
|
|
||||||
WriteRegStr HKCR $R1 "backup_val" "$1" ; backup current value
|
|
||||||
NoFileExtBackup:
|
|
||||||
WriteRegStr HKCR $R1 "" "$R3" ; set our file association
|
|
||||||
Goto VistaPlus
|
|
||||||
|
|
||||||
NoFile:
|
|
||||||
; Protocol
|
|
||||||
StrCmp "$R0" "protocol" 0 NotSupported
|
|
||||||
; write protocol flag
|
|
||||||
WriteRegStr HKCR $R1 "URL Protocol" ""
|
|
||||||
;get prog_id of current default
|
|
||||||
|
|
||||||
AppAssocReg::QueryCurrentDefault $R1 "protocol" "user"
|
|
||||||
Pop $1
|
|
||||||
StrCmp "$1" "method failed" NoProgID 0
|
|
||||||
StrCmp "$1" "method not available" NoProgID 0
|
|
||||||
StrCmp "$1" "$R3" NoProgID 0 ; it is our own
|
|
||||||
WriteRegStr HKCR "$R1\shell\open\command" "backup_progid" "$1" ; backup current progid
|
|
||||||
NoProgID:
|
|
||||||
; ReadRegStr $1 HKCR "$R1\shell\open\command" "" ; read current protocol association
|
|
||||||
; some applications write this as REG_EXPAND_SZ and don't work with REG_SZ (e.g.: some version of Opera)
|
|
||||||
${RegistryRead} "HKCR\$R1\shell\open\command" "" '$1' '$0' ; read current protocol association and its registery type
|
|
||||||
StrCmp "$1" "" NoProtocolBackup ; is it empty
|
|
||||||
StrCmp "$1" '"$R2" "%1"' NoProtocolBackup ; it is our own
|
|
||||||
;WriteRegStr HKCR "$R1\shell\open\command" "backup_val" "$1" ; backup current value
|
|
||||||
${RegistryWrite} "HKCR\$R1\shell\open\command" "backup_val" '$1' '$0' '$2'; backup current value and its registery type
|
|
||||||
NoProtocolBackup:
|
|
||||||
WriteRegStr HKCR "$R1\shell\open\command" "" '"$R2" "%1"' ; set our file association
|
|
||||||
;Goto VistaPlus
|
|
||||||
|
|
||||||
; TODO: type = startMenu or type = mime
|
|
||||||
|
|
||||||
VistaPlus:
|
|
||||||
;Vista and newer need some more works
|
|
||||||
AppAssocReg::SetAppAsDefault "${PRODUCT_NAME}" "$R1" "$R0"
|
|
||||||
|
|
||||||
NotSupported:
|
|
||||||
registry::_Unload
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define UnRegisterAssociation `!insertmacro UnRegisterAssociationCall`
|
|
||||||
!define un.UnRegisterAssociation `!insertmacro UnRegisterAssociationCall`
|
|
||||||
|
|
||||||
!macro UnRegisterAssociation
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.UnRegisterAssociation
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro UnRegisterAssociation_
|
|
||||||
!verbose push
|
|
||||||
!verbose ${_AllAssociation_VERBOSE}
|
|
||||||
|
|
||||||
Pop $R3 ;type = file or protocol
|
|
||||||
Pop $R2 ;prog_id
|
|
||||||
Pop $R1 ;exe
|
|
||||||
Pop $R0 ;association name = ext or protocol
|
|
||||||
|
|
||||||
StrCmp "$R3" "file" 0 NoFile
|
|
||||||
; file
|
|
||||||
ReadRegStr $1 HKCR $R0 ""
|
|
||||||
StrCmp $1 $R2 0 NoOwn ; only do this if we own it
|
|
||||||
ReadRegStr $1 HKCR $R0 "backup_val"
|
|
||||||
StrCmp $1 "" 0 RestoreFile ; if backup="" then delete the whole key
|
|
||||||
Push `"No ProgId Pushed"`
|
|
||||||
DeleteRegKey HKCR $R0
|
|
||||||
Goto NoOwn
|
|
||||||
|
|
||||||
RestoreFile:
|
|
||||||
Push `$1`
|
|
||||||
WriteRegStr HKCR $R0 "" $1
|
|
||||||
DeleteRegValue HKCR $R0 "backup_val"
|
|
||||||
DeleteRegKey HKCR $R2 ;Delete key with association name settings
|
|
||||||
Goto NoOwn
|
|
||||||
|
|
||||||
NoFile:
|
|
||||||
; Protocol
|
|
||||||
StrCmp "$R3" "protocol" 0 NoOwn
|
|
||||||
ReadRegStr $1 HKCR "$R0\shell\open\command" ""
|
|
||||||
StrCmp $1 '"$R1" "%1"' 0 NoOwn ; only do this if we own it
|
|
||||||
; ReadRegStr $1 HKCR "$R0\shell\open\command" "backup_val"
|
|
||||||
${RegistryRead} "HKEY_CLASSES_ROOT\$R0\shell\open\command" "backup_val" '$1' '$0' ; read current protocol association and its registery type
|
|
||||||
StrCmp $1 "" 0 RestoreProtocol ; if backup="" then delete the whole key
|
|
||||||
Push `"No ProgId Pushed"`
|
|
||||||
DeleteRegKey HKCR "$R0\shell\open\command"
|
|
||||||
Goto NoOwn
|
|
||||||
|
|
||||||
RestoreProtocol:
|
|
||||||
ReadRegStr $2 HKCR "$R0\shell\open\command" "backup_progid"
|
|
||||||
StrCmp $2 "" 0 HasProgId
|
|
||||||
Push `"No ProgId Pushed"`
|
|
||||||
Goto NoProgID
|
|
||||||
HasProgId:
|
|
||||||
Push `$2`
|
|
||||||
NoProgID:
|
|
||||||
;WriteRegStr HKCR "$R0\shell\open\command" "" $1
|
|
||||||
${RegistryWrite} "HKEY_CLASSES_ROOT\$R0\shell\open\command" "" '$1' '$0' '$2'
|
|
||||||
DeleteRegValue HKCR "$R0\shell\open\command" "backup_val"
|
|
||||||
DeleteRegValue HKCR "$R0\shell\open\command" "backup_progid"
|
|
||||||
StrCmp $R2 "" NoOwn 0 ;Delete protocol association if it's present
|
|
||||||
DeleteRegKey HKCR $R2 ;Delete key with association name settings
|
|
||||||
;Goto NoOwn
|
|
||||||
|
|
||||||
; TODO: type = startMenu or type = mime
|
|
||||||
|
|
||||||
NoOwn:
|
|
||||||
registry::_Unload
|
|
||||||
!verbose pop
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!define UpdateSystemIcons `!insertmacro UpdateSystemIcons_`
|
|
||||||
!define un.UpdateSystemIcons `!insertmacro UpdateSystemIcons_`
|
|
||||||
|
|
||||||
!macro UpdateSystemIcons
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro un.UpdateSystemIcons
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
; !defines for use with SHChangeNotify
|
|
||||||
!ifdef SHCNE_ASSOCCHANGED
|
|
||||||
!undef SHCNE_ASSOCCHANGED
|
|
||||||
!endif
|
|
||||||
!define SHCNE_ASSOCCHANGED 0x08000000
|
|
||||||
|
|
||||||
!ifdef SHCNF_FLUSHNOWAIT
|
|
||||||
!undef SHCNF_FLUSHNOWAIT
|
|
||||||
!endif
|
|
||||||
!define SHCNF_FLUSHNOWAIT 0x3000
|
|
||||||
|
|
||||||
!macro UpdateSystemIcons_
|
|
||||||
; Using the system.dll plugin to call the SHChangeNotify Win32 API function so we
|
|
||||||
; can update the shell.
|
|
||||||
System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSHNOWAIT}, 0, 0)"
|
|
||||||
!macroend
|
|
||||||
!endif # !AllAssociation_INCLUDED
|
|
@ -1,508 +0,0 @@
|
|||||||
; Falkon Windows Installer NSIS Script
|
|
||||||
; Copyright (C) 2010-2017 David Rosca <nowrep@gmail.com>
|
|
||||||
; 2012-2017 S. Razi Alavizadeh <s.r.alavizadeh@gmail.com>
|
|
||||||
;
|
|
||||||
; For compiling this script you need following plugins:
|
|
||||||
; FindProcDLL_plug-in, KillProcDLL_plug-in and 'AllAssociation.nsh' needs
|
|
||||||
; Registry_plug-in, Application_Association_Registration_plug-in
|
|
||||||
; Unicode version of them can be downloaded from:
|
|
||||||
; http://sourceforge.net/projects/findkillprocuni/files/bin/
|
|
||||||
; http://nsis.sourceforge.net/Application_Association_Registration_plug-in
|
|
||||||
; http://nsis.sourceforge.net/Registry_plug-in
|
|
||||||
|
|
||||||
!ifndef CUSTOM
|
|
||||||
!define VERSION 3.0.0
|
|
||||||
!define ARCH x86
|
|
||||||
!define MSVC_VER 140
|
|
||||||
!define OPENSSL_BIN_DIR .
|
|
||||||
!define MSVC_REDIST_DIR .
|
|
||||||
!define FALKON_SRC_DIR ..\..\
|
|
||||||
!define FALKON_BIN_DIR .
|
|
||||||
!define ICU_BIN_DIR .
|
|
||||||
!define QT_DIR .
|
|
||||||
!define QT_BIN_DIR .
|
|
||||||
!define QT_PLUGINS_DIR .
|
|
||||||
!define QTWEBENGINE_DICTIONARIES_DIR qtwebengine_dictionaries
|
|
||||||
!undef PORTABLE
|
|
||||||
!endif
|
|
||||||
|
|
||||||
; WinVer.nsh was added in the same release that RequestExecutionLevel so check
|
|
||||||
; if ___WINVER__NSH___ is defined to determine if RequestExecutionLevel is
|
|
||||||
; available.
|
|
||||||
!include /NONFATAL WinVer.nsh
|
|
||||||
!include x64.nsh
|
|
||||||
|
|
||||||
Var installAsPortable
|
|
||||||
RequestExecutionLevel admin
|
|
||||||
|
|
||||||
!addplugindir "wininstall\"
|
|
||||||
|
|
||||||
!include "StdUtils.nsh"
|
|
||||||
!include "FileFunc.nsh"
|
|
||||||
!include "wininstall\AllAssociation.nsh"
|
|
||||||
SetCompressor /SOLID /FINAL lzma
|
|
||||||
|
|
||||||
!define PRODUCT_NAME "Falkon"
|
|
||||||
!define /date PRODUCT_VERSION "${VERSION}"
|
|
||||||
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\falkon.exe"
|
|
||||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
|
||||||
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
|
||||||
!define PRODUCT_CAPABILITIES_KEY "Software\${PRODUCT_NAME}\Capabilities"
|
|
||||||
|
|
||||||
!include "MUI.nsh"
|
|
||||||
!define MUI_ABORTWARNING
|
|
||||||
!define MUI_ICON "wininstall\install.ico"
|
|
||||||
!define MUI_UNICON "wininstall\uninstall.ico"
|
|
||||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "wininstall\welcome.bmp"
|
|
||||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "wininstall\welcome.bmp"
|
|
||||||
|
|
||||||
!insertmacro MUI_PAGE_WELCOME
|
|
||||||
!insertmacro MUI_PAGE_LICENSE ${FALKON_BIN_DIR}\COPYRIGHT.txt
|
|
||||||
;;;
|
|
||||||
Page custom InstallationModePage InstallationModeLeave
|
|
||||||
;;;
|
|
||||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE "SkipComponentsIfPortableInstalltion"
|
|
||||||
!insertmacro MUI_PAGE_COMPONENTS
|
|
||||||
!insertmacro MUI_PAGE_DIRECTORY
|
|
||||||
;;;
|
|
||||||
Page custom installationInfoPage installationInfoLeave
|
|
||||||
;;;
|
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
|
||||||
|
|
||||||
!define MUI_FINISHPAGE_RUN
|
|
||||||
!define MUI_FINISHPAGE_RUN_FUNCTION "RunFalkonAsUser"
|
|
||||||
!insertmacro MUI_PAGE_FINISH
|
|
||||||
|
|
||||||
!insertmacro MUI_UNPAGE_WELCOME
|
|
||||||
!insertmacro MUI_UNPAGE_CONFIRM
|
|
||||||
!insertmacro MUI_UNPAGE_INSTFILES
|
|
||||||
!insertmacro MUI_UNPAGE_FINISH
|
|
||||||
|
|
||||||
!insertmacro MUI_LANGUAGE "English"
|
|
||||||
|
|
||||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
|
||||||
OutFile "${PRODUCT_NAME} Installer ${PRODUCT_VERSION}.exe"
|
|
||||||
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}\"
|
|
||||||
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
|
||||||
ShowInstDetails show
|
|
||||||
ShowUnInstDetails show
|
|
||||||
|
|
||||||
!include "wininstall\strings.nsh"
|
|
||||||
|
|
||||||
Section "${TITLE_SecMain}" SecMain
|
|
||||||
SectionIn RO
|
|
||||||
FindProcDLL::FindProc "falkon.exe"
|
|
||||||
IntCmp $R0 1 0 notRunning
|
|
||||||
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "${MSG_RunningInstance}" /SD IDOK IDCANCEL AbortInstallation
|
|
||||||
KillProcDLL::KillProc "falkon.exe"
|
|
||||||
Sleep 100
|
|
||||||
Goto notRunning
|
|
||||||
AbortInstallation:
|
|
||||||
Abort "${MSG_InstallationCanceled}"
|
|
||||||
|
|
||||||
notRunning:
|
|
||||||
SetOverwrite on
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
File "${FALKON_BIN_DIR}\COPYRIGHT.txt"
|
|
||||||
File "${FALKON_BIN_DIR}\falkon.exe"
|
|
||||||
File "${FALKON_BIN_DIR}\falkonprivate.dll"
|
|
||||||
File "${FALKON_BIN_DIR}\qt.conf"
|
|
||||||
File "${OPENSSL_BIN_DIR}\libeay32.dll"
|
|
||||||
File "${OPENSSL_BIN_DIR}\ssleay32.dll"
|
|
||||||
File /nonfatal "${OPENSSL_BIN_DIR}\msvcr*.dll"
|
|
||||||
File "${MSVC_REDIST_DIR}\*"
|
|
||||||
File "${ICU_BIN_DIR}\icudt54.dll"
|
|
||||||
File "${ICU_BIN_DIR}\icuin54.dll"
|
|
||||||
File "${ICU_BIN_DIR}\icuuc54.dll"
|
|
||||||
File "${QT_BIN_DIR}\libEGL.dll"
|
|
||||||
File "${QT_BIN_DIR}\libGLESv2.dll"
|
|
||||||
File "${QT_BIN_DIR}\opengl32sw.dll"
|
|
||||||
File "${QT_BIN_DIR}\D3Dcompiler_47.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Core.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Gui.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Network.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Positioning.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5PrintSupport.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Qml.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Quick.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5QuickWidgets.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Sql.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Svg.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5WinExtras.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5WebEngine.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5WebEngineCore.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5WebEngineWidgets.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5WebChannel.dll"
|
|
||||||
File "${QT_BIN_DIR}\Qt5Widgets.dll"
|
|
||||||
File "${QT_BIN_DIR}\QtWebEngineProcess.exe"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\iconengines"
|
|
||||||
File "${QT_PLUGINS_DIR}\iconengines\qsvgicon.dll"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\imageformats"
|
|
||||||
File "${QT_PLUGINS_DIR}\imageformats\*.dll"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\platforms"
|
|
||||||
File "${QT_PLUGINS_DIR}\platforms\qwindows.dll"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\printsupport"
|
|
||||||
File "${QT_PLUGINS_DIR}\printsupport\windowsprintersupport.dll"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\qml\QtQuick.2"
|
|
||||||
File "${QT_DIR}\qml\QtQuick.2\*"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\qml\QtWebEngine"
|
|
||||||
File "${QT_DIR}\qml\QtWebEngine\*"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\resources"
|
|
||||||
File "${QT_DIR}\resources\*"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\sqldrivers"
|
|
||||||
File "${QT_PLUGINS_DIR}\sqldrivers\qsqlite.dll"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\styles"
|
|
||||||
File "${QT_PLUGINS_DIR}\styles\*.dll"
|
|
||||||
|
|
||||||
call RegisterCapabilities
|
|
||||||
|
|
||||||
StrCmp $installAsPortable "YES" 0 skipPortableMode
|
|
||||||
FileOpen $0 $INSTDIR\falkon.conf w
|
|
||||||
FileWrite $0 "[Config]$\r$\n"
|
|
||||||
FileWrite $0 "Portable=true$\r$\n"
|
|
||||||
|
|
||||||
StrCmp $0 "" 0 closeHandle
|
|
||||||
MessageBox MB_OK|MB_ICONEXCLAMATION "${MSG_PortableWriteError}"
|
|
||||||
goto skipPortableMode
|
|
||||||
|
|
||||||
closeHandle:
|
|
||||||
FileClose $0
|
|
||||||
|
|
||||||
skipPortableMode:
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
SectionGroup "${TITLE_SecThemes}" SecThemes
|
|
||||||
|
|
||||||
Section Default SecDefault
|
|
||||||
SectionIn RO
|
|
||||||
SetOutPath "$INSTDIR\themes\windows"
|
|
||||||
File "${FALKON_SRC_DIR}\themes\windows\*"
|
|
||||||
SetOutPath "$INSTDIR\themes\windows\images"
|
|
||||||
File "${FALKON_SRC_DIR}\themes\windows\images\*"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section Chrome SecChrome
|
|
||||||
SetOutPath "$INSTDIR\themes\chrome"
|
|
||||||
File "${FALKON_SRC_DIR}\themes\chrome\*"
|
|
||||||
SetOutPath "$INSTDIR\themes\chrome\images"
|
|
||||||
File "${FALKON_SRC_DIR}\themes\chrome\images\*"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section Mac SecMac
|
|
||||||
SetOutPath "$INSTDIR\themes\mac"
|
|
||||||
File "${FALKON_SRC_DIR}\themes\mac\*"
|
|
||||||
SetOutPath "$INSTDIR\themes\mac\images"
|
|
||||||
File "${FALKON_SRC_DIR}\themes\mac\images\*"
|
|
||||||
SectionEnd
|
|
||||||
SectionGroupEnd
|
|
||||||
|
|
||||||
Section "${TITLE_SecTranslations}" SecTranslations
|
|
||||||
SetOutPath "$INSTDIR\locale"
|
|
||||||
File /r "${FALKON_BIN_DIR}\locale\*"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\translations\qtwebengine_locales"
|
|
||||||
File "${QT_DIR}\translations\qtwebengine_locales\*"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\qtwebengine_dictionaries\doc"
|
|
||||||
; In some packages underline '_' is used and in some other packages dash '-' is used so we use wildcard
|
|
||||||
File "${QTWEBENGINE_DICTIONARIES_DIR}\doc\README*en*US.txt"
|
|
||||||
|
|
||||||
SetOutPath "$INSTDIR\qtwebengine_dictionaries"
|
|
||||||
; in some packages *.bdic files use dash '-' instead of underline '_' followed by a version number. e.g. en-US-3-0.bdic
|
|
||||||
File "${QTWEBENGINE_DICTIONARIES_DIR}\en*US*.bdic"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section "${TITLE_SecPlugins}" SecPlugins
|
|
||||||
SetOutPath "$INSTDIR\plugins"
|
|
||||||
File "${FALKON_BIN_DIR}\plugins\*.dll"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
|
|
||||||
SectionGroup "${TITLE_SecSetASDefault}" SecSetASDefault
|
|
||||||
Section "${TITLE_SecExtensions}" SecExtensions
|
|
||||||
StrCmp $installAsPortable "NO" 0 skipSetExtentions
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
${RegisterAssociation} ".htm" "$INSTDIR\falkon.exe" "FalkonHTML" "Falkon HTML Document" "$INSTDIR\falkon.exe,1" "file"
|
|
||||||
${RegisterAssociation} ".html" "$INSTDIR\falkon.exe" "FalkonHTML" "Falkon HTML Document" "$INSTDIR\falkon.exe,1" "file"
|
|
||||||
${UpdateSystemIcons}
|
|
||||||
skipSetExtentions:
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section "${TITLE_SecProtocols}" SecProtocols
|
|
||||||
StrCmp $installAsPortable "NO" 0 skipSecProtocols
|
|
||||||
${RegisterAssociation} "http" "$INSTDIR\falkon.exe" "FalkonURL" "Falkon URL" "$INSTDIR\falkon.exe,0" "protocol"
|
|
||||||
${RegisterAssociation} "https" "$INSTDIR\falkon.exe" "FalkonURL" "Falkon URL" "$INSTDIR\falkon.exe,0" "protocol"
|
|
||||||
${UpdateSystemIcons}
|
|
||||||
skipSecProtocols:
|
|
||||||
SectionEnd
|
|
||||||
SectionGroupEnd
|
|
||||||
|
|
||||||
Section -StartMenu
|
|
||||||
StrCmp $installAsPortable "NO" 0 skipStartMenu
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
SetShellVarContext all
|
|
||||||
CreateDirectory "$SMPROGRAMS\Falkon"
|
|
||||||
CreateShortCut "$SMPROGRAMS\Falkon\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\Falkon\Falkon.lnk" "$INSTDIR\falkon.exe"
|
|
||||||
CreateShortCut "$SMPROGRAMS\Falkon\License.lnk" "$INSTDIR\COPYRIGHT.txt"
|
|
||||||
skipStartMenu:
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section "${TITLE_SecDesktop}" SecDesktop
|
|
||||||
StrCmp $installAsPortable "NO" 0 skipDesktopIcon
|
|
||||||
SetOutPath "$INSTDIR"
|
|
||||||
CreateShortCut "$DESKTOP\Falkon.lnk" "$INSTDIR\falkon.exe" ""
|
|
||||||
skipDesktopIcon:
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "${DESC_SecMain}"
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecTranslations} "${DESC_SecTranslations}"
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} "${DESC_SecPlugins}"
|
|
||||||
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "${DESC_SecDesktop}"
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecExtensions} "${DESC_SecExtensions}"
|
|
||||||
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecThemes} "${DESC_SecThemes}"
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecSetASDefault} "${DESC_SecSetASDefault}"
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SecProtocols} "${DESC_SecProtocols}"
|
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
||||||
|
|
||||||
Section -Uninstaller
|
|
||||||
StrCmp $installAsPortable "NO" 0 skipUninstaller
|
|
||||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\falkon.exe"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\falkon.exe"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "Falkon Team"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "HelpLink" "https://userbase.kde.org/Falkon"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstallLocation" "$INSTDIR"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstallSource" "$EXEDIR"
|
|
||||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "https://falkon.org"
|
|
||||||
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
|
|
||||||
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0"
|
|
||||||
skipUninstaller:
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section Uninstall
|
|
||||||
FindProcDLL::FindProc "falkon.exe"
|
|
||||||
IntCmp $R0 1 0 notRunning
|
|
||||||
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "${MSG_RunningInstance}" /SD IDOK IDCANCEL AbortInstallation
|
|
||||||
KillProcDLL::KillProc "falkon.exe"
|
|
||||||
Sleep 100
|
|
||||||
Goto notRunning
|
|
||||||
AbortInstallation:
|
|
||||||
Abort "${MSG_InstallationCanceled}"
|
|
||||||
|
|
||||||
notRunning:
|
|
||||||
SetShellVarContext all
|
|
||||||
Delete "$DESKTOP\Falkon.lnk"
|
|
||||||
|
|
||||||
Delete "$INSTDIR\falkon.exe"
|
|
||||||
Delete "$INSTDIR\falkonprivate.dll"
|
|
||||||
Delete "$INSTDIR\uninstall.exe"
|
|
||||||
Delete "$INSTDIR\COPYRIGHT.txt"
|
|
||||||
Delete "$INSTDIR\qt.conf"
|
|
||||||
Delete "$INSTDIR\libeay32.dll"
|
|
||||||
Delete "$INSTDIR\ssleay32.dll"
|
|
||||||
Delete "$INSTDIR\libEGL.dll"
|
|
||||||
Delete "$INSTDIR\libGLESv2.dll"
|
|
||||||
Delete "$INSTDIR\opengl32sw.dll"
|
|
||||||
Delete "$INSTDIR\D3Dcompiler_47.dll"
|
|
||||||
Delete "$INSTDIR\QtWebEngineProcess.exe"
|
|
||||||
|
|
||||||
; Wildcard delete to compact script of uninstall section
|
|
||||||
Delete "$INSTDIR\icu*.dll"
|
|
||||||
Delete "$INSTDIR\Qt5*.dll"
|
|
||||||
Delete "$INSTDIR\msvc*.dll"
|
|
||||||
Delete "$INSTDIR\vc*.dll"
|
|
||||||
Delete "$INSTDIR\concrt*.dll"
|
|
||||||
|
|
||||||
; Recursively delete folders in root of $INSTDIR
|
|
||||||
RMDir /r "$INSTDIR\iconengines"
|
|
||||||
RMDir /r "$INSTDIR\imageformats"
|
|
||||||
RMDir /r "$INSTDIR\platforms"
|
|
||||||
RMDir /r "$INSTDIR\printsupport"
|
|
||||||
RMDir /r "$INSTDIR\qml"
|
|
||||||
RMDir /r "$INSTDIR\resources"
|
|
||||||
RMDir /r "$INSTDIR\translations"
|
|
||||||
RMDir /r "$INSTDIR\sqldrivers"
|
|
||||||
RMDir /r "$INSTDIR\styles"
|
|
||||||
RMDir /r "$INSTDIR\qtwebengine_dictionaries"
|
|
||||||
RMDir /r "$INSTDIR\themes"
|
|
||||||
RMDir /r "$INSTDIR\locale"
|
|
||||||
RMDir /r "$INSTDIR\plugins"
|
|
||||||
|
|
||||||
; Remove $INSTDIR if it is empty
|
|
||||||
RMDir "$INSTDIR"
|
|
||||||
|
|
||||||
; Remove start menu programs folder
|
|
||||||
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
|
|
||||||
|
|
||||||
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
|
||||||
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
|
|
||||||
|
|
||||||
DeleteRegKey HKLM "Software\${PRODUCT_NAME}"
|
|
||||||
DeleteRegValue HKLM "SOFTWARE\RegisteredApplications" "${PRODUCT_NAME}"
|
|
||||||
|
|
||||||
${UnRegisterAssociation} ".htm" "FalkonHTML" "$INSTDIR\falkon.exe" "file"
|
|
||||||
${UnRegisterAssociation} ".html" "FalkonHTML" "$INSTDIR\falkon.exe" "file"
|
|
||||||
${UnRegisterAssociation} "http" "FalkonURL" "$INSTDIR\falkon.exe" "protocol"
|
|
||||||
${UnRegisterAssociation} "https" "FalkonURL" "$INSTDIR\falkon.exe" "protocol"
|
|
||||||
${UpdateSystemIcons}
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
BrandingText "${PRODUCT_NAME} ${PRODUCT_VERSION} Installer"
|
|
||||||
|
|
||||||
Function .onInit
|
|
||||||
;Prevent running installer of 64-bit Falkon on 32-bit Windows
|
|
||||||
${If} ${RunningX64}
|
|
||||||
${If} ${ARCH} == "x64"
|
|
||||||
StrCpy $InstDir "$PROGRAMFILES64\${PRODUCT_NAME}\"
|
|
||||||
${Else}
|
|
||||||
StrCpy $InstDir "$PROGRAMFILES32\${PRODUCT_NAME}\"
|
|
||||||
${Endif}
|
|
||||||
${Else}
|
|
||||||
${If} ${ARCH} == "x64"
|
|
||||||
MessageBox MB_OK|MB_ICONEXCLAMATION "This installation requiers Windows x64!"
|
|
||||||
Quit
|
|
||||||
${Else}
|
|
||||||
StrCpy $InstDir "$PROGRAMFILES\${PRODUCT_NAME}\"
|
|
||||||
${Endif}
|
|
||||||
${EndIf}
|
|
||||||
|
|
||||||
;Extract InstallOptions files
|
|
||||||
;$PLUGINSDIR will automatically be removed when the installer closes
|
|
||||||
InitPluginsDir
|
|
||||||
File /oname=$PLUGINSDIR\portable-mode.ini "portable-mode.ini"
|
|
||||||
File /oname=$PLUGINSDIR\portable-info.ini "portable-info.ini"
|
|
||||||
|
|
||||||
|
|
||||||
;Prevent Multiple Instances
|
|
||||||
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "FalkonInstaller-4ECB4694-2C39-4f93-9122-A986344C4E7B") i .r1 ?e'
|
|
||||||
Pop $R0
|
|
||||||
StrCmp $R0 0 skip
|
|
||||||
;Return when running silent instalation
|
|
||||||
IfSilent doAbort 0
|
|
||||||
MessageBox MB_OK|MB_ICONEXCLAMATION "Falkon installer is already running!" /SD IDOK
|
|
||||||
doAbort:
|
|
||||||
Abort
|
|
||||||
skip:
|
|
||||||
call notifyUserIfHotfixNeeded
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function RegisterCapabilities
|
|
||||||
StrCmp $installAsPortable "NO" 0 skipRegisterCapabilities
|
|
||||||
!ifdef ___WINVER__NSH___
|
|
||||||
${If} ${AtLeastWinVista}
|
|
||||||
; even if we don't associate Falkon as default for ".htm" and ".html"
|
|
||||||
; we need to write these ProgIds for future use!
|
|
||||||
;(e.g.: user uses "Default Programs" on Win7 or Vista to set Falkon as default.)
|
|
||||||
${CreateProgId} "FalkonHTML" "$INSTDIR\falkon.exe" "Falkon HTML Document" "$INSTDIR\falkon.exe,1"
|
|
||||||
${CreateProgId} "FalkonURL" "$INSTDIR\falkon.exe" "Falkon URL" "$INSTDIR\falkon.exe,0"
|
|
||||||
|
|
||||||
; note: these lines just introduce capabilities of Falkon to OS and don't change defaults!
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}" "ApplicationDescription" "${PRODUCT_DESC}"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}" "ApplicationIcon" "$INSTDIR\falkon.exe,0"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}" "ApplicationName" "${PRODUCT_NAME}"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\FileAssociations" ".htm" "FalkonHTML"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\FileAssociations" ".html" "FalkonHTML"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\URLAssociations" "http" "FalkonURL"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\URLAssociations" "https" "FalkonURL"
|
|
||||||
WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\Startmenu" "StartMenuInternet" "$INSTDIR\falkon.exe"
|
|
||||||
WriteRegStr HKLM "SOFTWARE\RegisteredApplications" "${PRODUCT_NAME}" "${PRODUCT_CAPABILITIES_KEY}"
|
|
||||||
${EndIf}
|
|
||||||
!endif
|
|
||||||
skipRegisterCapabilities:
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function RunFalkonAsUser
|
|
||||||
${StdUtils.ExecShellAsUser} $0 "$INSTDIR\falkon.exe" "open" ""
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function un.onInit
|
|
||||||
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstallLocation"
|
|
||||||
IfErrors +2 0
|
|
||||||
StrCpy $INSTDIR "$R0"
|
|
||||||
|
|
||||||
IfFileExists "$INSTDIR\falkon.exe" found
|
|
||||||
MessageBox MB_OK|MB_ICONSTOP "${MSG_InvalidInstallPath}"
|
|
||||||
Abort
|
|
||||||
found:
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function InstallationModePage
|
|
||||||
!insertmacro MUI_HEADER_TEXT "${TITLE_InstallationMode}" "${DESC_InstallationMode}"
|
|
||||||
|
|
||||||
WriteINIStr "$PLUGINSDIR\portable-mode.ini" "Field 1" "Text" "${TITLE_StandardInstallation}"
|
|
||||||
WriteINIStr "$PLUGINSDIR\portable-mode.ini" "Field 2" "Text" "${TITLE_PortableInstallation}"
|
|
||||||
|
|
||||||
InstallOptions::dialog $PLUGINSDIR\portable-mode.ini
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function InstallationModeLeave
|
|
||||||
ReadINIStr $0 "$PLUGINSDIR\portable-mode.ini" "Field 2" "State"
|
|
||||||
|
|
||||||
StrCmp $0 1 0 notchecked
|
|
||||||
StrCpy $installAsPortable "YES"
|
|
||||||
StrCpy $InstDir "$DESKTOP\${PRODUCT_NAME} Portable\"
|
|
||||||
|
|
||||||
goto skip
|
|
||||||
|
|
||||||
notchecked:
|
|
||||||
StrCpy $installAsPortable "NO"
|
|
||||||
|
|
||||||
skip:
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function installationInfoPage
|
|
||||||
!insertmacro MUI_HEADER_TEXT "${TITLE_InstallInfo}" "${DESC_InstallInfo}"
|
|
||||||
|
|
||||||
StrCmp $installAsPortable "NO" 0 infoPortable
|
|
||||||
WriteINIStr "$PLUGINSDIR\portable-info.ini" "Field 1" "Text" "${DESC_StandardInstallation}"
|
|
||||||
|
|
||||||
Goto showInfo
|
|
||||||
|
|
||||||
infoPortable:
|
|
||||||
WriteINIStr "$PLUGINSDIR\portable-info.ini" "Field 1" "Text" "${DESC_PortableInstallation}"
|
|
||||||
|
|
||||||
showInfo:
|
|
||||||
InstallOptions::dialog $PLUGINSDIR\portable-info.ini
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function installationInfoLeave
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function SkipComponentsIfPortableInstalltion
|
|
||||||
StrCmp $installAsPortable "YES" 0 +2
|
|
||||||
Abort
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function notifyUserIfHotfixNeeded
|
|
||||||
; check if Windows 10 family. Taken from: http://nsis.sourceforge.net/Get_Windows_version
|
|
||||||
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentMajorVersionNumber
|
|
||||||
StrCmp $R0 '' 0 skiphotfixwarn
|
|
||||||
|
|
||||||
ClearErrors
|
|
||||||
nsExec::ExecToStack 'cmd /Q /C "%SYSTEMROOT%\System32\wbem\wmic.exe qfe get hotfixid | %SYSTEMROOT%\System32\findstr.exe "^KB2999226""'
|
|
||||||
Pop $0 ; return value (it always 0 even if an error occured)
|
|
||||||
Pop $1 ; command output KB2999226
|
|
||||||
|
|
||||||
StrCmp $1 "" 0 skiphotfixwarn
|
|
||||||
MessageBox MB_YESNO|MB_ICONQUESTION "${MSG_HotfixNeeded}" IDNO +2
|
|
||||||
ExecShell open "https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows"
|
|
||||||
|
|
||||||
skiphotfixwarn:
|
|
||||||
FunctionEnd
|
|
Binary file not shown.
Binary file not shown.
@ -1,41 +0,0 @@
|
|||||||
;;;;English
|
|
||||||
!define PRODUCT_DESC "Falkon is a new and very fast Qt web browser. Falkon is licensed under GPL version 3 or (at your option) any later version. It is based on QtWebEngine and Qt Framework."
|
|
||||||
|
|
||||||
!define TITLE_SecMain "Main Components"
|
|
||||||
!define TITLE_SecTranslations "Translations"
|
|
||||||
!define TITLE_SecPlugins "Plugins"
|
|
||||||
!define TITLE_SecDesktop "Desktop Icon"
|
|
||||||
!define TITLE_SecExtensions "File Associations"
|
|
||||||
!define TITLE_SecThemes "Themes"
|
|
||||||
!define TITLE_SecSetASDefault "Default Browser"
|
|
||||||
!define TITLE_SecProtocols "Protocol Associations"
|
|
||||||
|
|
||||||
!define TITLE_InstallationMode "Installation Mode"
|
|
||||||
!define TITLE_StandardInstallation "Standard installation"
|
|
||||||
!define TITLE_PortableInstallation "Portable installation"
|
|
||||||
!define TITLE_InstallInfo "Ready to install"
|
|
||||||
|
|
||||||
!define FILE_Htm "HTM File"
|
|
||||||
!define FILE_Html "HTML File"
|
|
||||||
|
|
||||||
!define DESC_SecMain "Main components of application."
|
|
||||||
!define DESC_SecTranslations "Other translations available to install. Default is English."
|
|
||||||
!define DESC_SecPlugins "Other plugins available to install."
|
|
||||||
!define DESC_SecDesktop "Add launcher to desktop."
|
|
||||||
!define DESC_SecExtensions "Associate Falkon with .htm(l) files"
|
|
||||||
!define DESC_SecThemes "Additional themes for Falkon"
|
|
||||||
!define DESC_SecSetASDefault "Set Falkon as default internet browser"
|
|
||||||
!define DESC_SecProtocols "Associate Falkon with http(s) protocols"
|
|
||||||
|
|
||||||
!define DESC_InstallationMode "Select installation mode"
|
|
||||||
!define DESC_PortableInstallation "Falkon will be installed as a 'Portable Application' to the selected location."
|
|
||||||
!define DESC_StandardInstallation "Falkon will be installed on your computer."
|
|
||||||
!define DESC_InstallInfo "To start installation click 'install'."
|
|
||||||
|
|
||||||
!define MSG_RunningInstance "Falkon is already running! Do you want the installer try to terminate it?"
|
|
||||||
!define MSG_InstallationCanceled "Process cancelled by user."
|
|
||||||
!define MSG_InvalidInstallPath "Install path invalid!"
|
|
||||||
|
|
||||||
!define MSG_PortableWriteError "Error occurred when creating 'falkon.conf' in installation folder. Create it manually."
|
|
||||||
|
|
||||||
!define MSG_HotfixNeeded "To run Falkon you have to install hotfix 'KB2999226'. Proceed to Windows update website?"
|
|
Binary file not shown.
Before Width: | Height: | Size: 151 KiB |
Loading…
Reference in New Issue
Block a user