1
mirror of https://invent.kde.org/network/falkon.git synced 2025-09-10 16:47:54 +02:00

Compare commits

...

8 Commits

Author SHA1 Message Date
l10n daemon script
8440891e10 GIT_SILENT Sync po/docbooks with svn 2025-07-10 03:16:02 +00:00
Thomas Friedrichsmeier
f9e060cfdc
Enable Windows craft build
Cherry-Picked from: 64fcf4743b
2025-07-09 05:59:45 +02:00
Thomas Friedrichsmeier
9857d759f9
Remove obsolete Windows packaging
Cherry-Picked from: 0f8116d7c6
2025-07-09 05:58:54 +02:00
l10n daemon script
3372d73b07 GIT_SILENT Sync po/docbooks with svn 2025-07-09 03:22:07 +00:00
l10n daemon script
4c63d24d1f GIT_SILENT Sync po/docbooks with svn 2025-07-08 03:23:25 +00:00
l10n daemon script
2545554067 GIT_SILENT Sync po/docbooks with svn 2025-07-07 03:13:35 +00:00
l10n daemon script
5aaaa3049f GIT_SILENT Sync po/docbooks with svn 2025-07-06 03:21:15 +00:00
Albert Astals Cid
c6a7274c87 GIT_SILENT Upgrade release service version to 25.07.80. 2025-07-05 11:28:08 +02:00
27 changed files with 48 additions and 1059 deletions

View File

@ -9,6 +9,7 @@ include:
- /gitlab-templates/freebsd-qt6.yml
- /gitlab-templates/flatpak.yml
- /gitlab-templates/windows-qt6.yml
- /gitlab-templates/craft-windows-x86-64-qt6.yml
# Blocked - copied from tokodon
# - /gitlab-templates/reuse-lint.yml

View File

@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.18)
# KDE Gear Version, managed by release script
set(RELEASE_SERVICE_VERSION_MAJOR "25")
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}")
# Project name and version

View File

@ -14,8 +14,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_hellopython.pot\n"
"X-Crowdin-File-ID: 48542\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_hellopython.pot\n"
"X-Crowdin-File-ID: 51078\n"
#: hellopython.py:69
msgid "My first plugin action"

View File

@ -14,8 +14,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_helloqml.pot\n"
"X-Crowdin-File-ID: 48516\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_helloqml.pot\n"
"X-Crowdin-File-ID: 50894\n"
#: main.qml:23
msgid "\"Hello QML\" plugin loaded"

View File

@ -14,8 +14,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_middleclickloader.pot\n"
"X-Crowdin-File-ID: 48536\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_middleclickloader.pot\n"
"X-Crowdin-File-ID: 50680\n"
#: mcl_settings.py:43
msgid "MiddleClickLoader Setting"

View File

@ -14,8 +14,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_runaction.pot\n"
"X-Crowdin-File-ID: 48510\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_runaction.pot\n"
"X-Crowdin-File-ID: 52474\n"
#: button.py:30
msgid "Run Action"

View File

@ -12,7 +12,7 @@ msgstr ""
"Project-Id-Version: falkon_qt\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\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"
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
"Language: es\n"
@ -4020,7 +4020,7 @@ msgstr "Claro"
#: lib/preferences/preferences.cpp:331
msgctxt "Preferences|"
msgid "Dark"
msgstr "Orcuro"
msgstr "Oscuro"
#: lib/preferences/preferences.cpp:341
#, qt-format

View File

@ -3,7 +3,7 @@
msgid ""
msgstr ""
"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"
"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
"Language: ia\n"
@ -2235,18 +2235,14 @@ msgid "SSL Certificate Error!"
msgstr "Error de certificato SSL!"
#: lib/network/networkmanager.cpp:92
#, fuzzy, qt-format
#| msgctxt "NetworkManager|"
#| msgid ""
#| "The page you are trying to access has the following errors in the SSL "
#| "certificate:"
#, qt-format
msgctxt "NetworkManager|"
msgid ""
"The page <strong>%1</strong> you are trying to access has the following "
"errors in the SSL certificate:"
msgstr ""
"Le pagina que tu es essayante a acceder ha le sequente error in le "
"certificato SSL:"
"Le pagina <strong>%1</strong> que tu es essayante a acceder ha le sequente "
"error in le certificato SSL:"
#: lib/network/networkmanager.cpp:93
msgctxt "NetworkManager|"
@ -2800,12 +2796,9 @@ msgid "SSL Certificate Error!"
msgstr "Error de certificato SSL!"
#: lib/network/sslerrordialog.ui:90
#, fuzzy
#| msgctxt "NetworkManager|"
#| msgid "The certificate contains errors."
msgctxt "SslErrorDialog|"
msgid "Toggle Certificate Details"
msgstr "Le certificato contine errores."
msgstr "Commuta Detalios de certificato"
#: lib/notifications/desktopnotificationsfactory.cpp:119
msgctxt "DesktopNotificationsFactory|"
@ -4312,11 +4305,13 @@ msgid ""
"<html><head/><body><p><span style=\" font-weight:700;\">Web Page Background "
"Colors</span></p></body></html>"
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
msgctxt "Preferences|"
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:1044 lib/preferences/preferences.ui:1398
@ -4329,7 +4324,7 @@ msgstr "..."
#: lib/preferences/preferences.ui:598
msgctxt "Preferences|"
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:1051
@ -5889,9 +5884,6 @@ msgid "Deny"
msgstr "Nega"
#: lib/tools/mactoolbutton.cpp:94
#, fuzzy
#| msgctxt "Preferences|"
#| msgid "Select Color"
msgctxt "MacToolButton|"
msgid "Select Color"
msgstr "Selectiona Color"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_autoscroll_qt.pot\n"
"X-Crowdin-File-ID: 48512\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_autoscroll_qt.pot\n"
"X-Crowdin-File-ID: 51824\n"
#: autoscrollsettings.ui:14
msgctxt "AutoScrollSettings|"

View File

@ -12,8 +12,9 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_flashcookiemanager_qt.pot\n"
"X-Crowdin-File-ID: 48526\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_flashcookiemanager_qt."
"pot\n"
"X-Crowdin-File-ID: 50610\n"
#: fcm_dialog.cpp:76
msgctxt "FCM_Dialog|"

View File

@ -12,9 +12,9 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\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"
"X-Crowdin-File-ID: 48548\n"
"X-Crowdin-File-ID: 52098\n"
#: gnomekeyringpasswordbackend.cpp:120
msgctxt "GnomeKeyringPlugin|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_greasemonkey_qt.pot\n"
"X-Crowdin-File-ID: 48508\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_greasemonkey_qt.pot\n"
"X-Crowdin-File-ID: 53020\n"
#: gm_addscriptdialog.cpp:50
#, qt-format

View File

@ -12,9 +12,9 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\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"
"X-Crowdin-File-ID: 48538\n"
"X-Crowdin-File-ID: 52814\n"
#: downloadkjob.cpp:34
msgctxt "DownloadKJob|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_mousegestures_qt.pot\n"
"X-Crowdin-File-ID: 48518\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_mousegestures_qt.pot\n"
"X-Crowdin-File-ID: 52676\n"
#: mousegesturessettingsdialog.ui:14
msgctxt "MouseGesturesSettingsDialog|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_pim_qt.pot\n"
"X-Crowdin-File-ID: 48530\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_pim_qt.pot\n"
"X-Crowdin-File-ID: 52034\n"
#: PIM_handler.cpp:59
msgctxt "PIM_Handler|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_qt.pot\n"
"X-Crowdin-File-ID: 48514\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_qt.pot\n"
"X-Crowdin-File-ID: 53140\n"
#: lib/3rdparty/lineedit.cpp:102
msgctxt "LineEdit|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_sitesettingsview_qt.pot\n"
"X-Crowdin-File-ID: 54386\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_sitesettingsview_qt.pot\n"
"X-Crowdin-File-ID: 54964\n"
#: sitesettingsview_controller.cpp:40
msgctxt "SiteSettingsView_Controller|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_statusbaricons_qt.pot\n"
"X-Crowdin-File-ID: 48524\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_statusbaricons_qt.pot\n"
"X-Crowdin-File-ID: 51322\n"
#: sbi_imagesicon.cpp:34
msgctxt "SBI_ImagesIcon|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_tabmanager_qt.pot\n"
"X-Crowdin-File-ID: 48528\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_tabmanager_qt.pot\n"
"X-Crowdin-File-ID: 52152\n"
#: tabmanagersettings.ui:14
msgctxt "TabManagerSettings|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_testplugin_qt.pot\n"
"X-Crowdin-File-ID: 48520\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_testplugin_qt.pot\n"
"X-Crowdin-File-ID: 52126\n"
#: testplugin.cpp:98
msgctxt "TestPlugin|"

View File

@ -12,8 +12,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/falkon/falkon_verticaltabs_qt.pot\n"
"X-Crowdin-File-ID: 48522\n"
"X-Crowdin-File: /kf6-stable/messages/falkon/falkon_verticaltabs_qt.pot\n"
"X-Crowdin-File-ID: 52850\n"
#: tablistview.cpp:197
msgctxt "TabListView|"

View File

@ -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

View File

@ -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.

View File

@ -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