diff --git a/CMakeLists.txt b/CMakeLists.txt index 01d330e46..bc6d96fe4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -83,8 +83,13 @@ if (WIN32) add_definitions(-D_WIN32_WINNT=${ver}) endif() -# Mandatory: KF5I18n (only for ki18n_install) -find_package(KF5I18n REQUIRED) +# Mandatory: OpenSSL +find_package(OpenSSL REQUIRED) + +# KF5I18n: Mandatory with downloaded translations (only for ki18n_install) +if (EXISTS "${CMAKE_SOURCE_DIR}/po") + find_package(KF5I18n REQUIRED) +endif() # Optional: GnomeKeyring find_package(PkgConfig) diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index 3378153d5..0d86e9ebf 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -31,6 +31,7 @@ falkon_tests( ) set(falkon_autotests_SRCS passwordbackendtest.cpp) +include_directories(${OPENSSL_INCLUDE_DIR}) falkon_tests( databasepasswordbackendtest databaseencryptedpasswordbackendtest diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index b7dcde969..81cc5c8ad 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -38,6 +38,8 @@ include_directories( webtab ) +include_directories(${OPENSSL_INCLUDE_DIR}) + set(SRCS ${SRCS} 3rdparty/fancytabwidget.cpp 3rdparty/lineedit.cpp @@ -291,13 +293,21 @@ qt5_add_resources(SRCS add_library(FalkonPrivate SHARED ${SRCS}) -target_link_libraries(FalkonPrivate Qt5::Widgets Qt5::WebEngineWidgets Qt5::Network Qt5::Sql Qt5::PrintSupport Qt5::QuickWidgets Qt5::WebChannel) +target_link_libraries(FalkonPrivate + Qt5::Widgets + Qt5::WebEngineWidgets + Qt5::Network + Qt5::Sql + Qt5::PrintSupport + Qt5::QuickWidgets + Qt5::WebChannel + ${OPENSSL_CRYPTO_LIBRARY} +) if (UNIX AND NOT APPLE) if (NOT NO_X11) target_link_libraries(FalkonPrivate XCB::XCB Qt5::X11Extras) endif() - target_link_libraries(FalkonPrivate crypto) set_target_properties(FalkonPrivate PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION "3") install(TARGETS FalkonPrivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) @@ -305,16 +315,10 @@ endif() if (WIN32) target_link_libraries(FalkonPrivate Qt5::WinExtras) - target_link_libraries(FalkonPrivate libeay32) endif() if (APPLE) - # homebrew openssl - execute_process(COMMAND "readlink `brew --prefix openssl` | sed 's/..//'" - OUTPUT_VARIABLE READLINK_OUTPUT) - set(BREW_OPENSSL "/usr/local${READLINK_OUTPUT}") - include_directories(${BREW_OPENSSL}/include) - target_link_libraries(FalkonPrivate ${BREW_OPENSSL}/lib/libcrypto.so "-framework CoreServices -framework AppKit") + target_link_libraries(FalkonPrivate "-framework CoreServices -framework AppKit") endif() if (NOT DISABLE_DBUS) diff --git a/src/lib/app/mainapplication.cpp b/src/lib/app/mainapplication.cpp index 44d61d007..d6f9c311c 100644 --- a/src/lib/app/mainapplication.cpp +++ b/src/lib/app/mainapplication.cpp @@ -1175,14 +1175,15 @@ void MainApplication::initPulseSupport() RegisterQAppAssociation* MainApplication::associationManager() { if (!m_registerQAppAssociation) { - QString desc = tr("Falkon is a new, fast and secure open-source WWW browser. Falkon is licensed under GPL version 3 or (at your option) any later version. It is based on WebKit core and Qt Framework."); + QString desc = tr("Falkon is a new, fast and secure open-source WWW browser. Falkon is licensed under GPL version 3 or (at your option) any later version. It is based on QtWebEngine and Qt Framework."); QString fileIconPath = QApplication::applicationFilePath() + ",1"; QString appIconPath = QApplication::applicationFilePath() + ",0"; m_registerQAppAssociation = new RegisterQAppAssociation("Falkon", QApplication::applicationFilePath(), appIconPath, desc, this); - m_registerQAppAssociation->addCapability(".html", "Falkon.HTML", "HTML File", fileIconPath, RegisterQAppAssociation::FileAssociation); - m_registerQAppAssociation->addCapability(".htm", "Falkon.HTM", "HTM File", fileIconPath, RegisterQAppAssociation::FileAssociation); - m_registerQAppAssociation->addCapability("http", "Falkon.HTTP", "URL:HyperText Transfer Protocol", appIconPath, RegisterQAppAssociation::UrlAssociation); - m_registerQAppAssociation->addCapability("https", "Falkon.HTTPS", "URL:HyperText Transfer Protocol with Privacy", appIconPath, RegisterQAppAssociation::UrlAssociation); + m_registerQAppAssociation->addCapability(".html", "FalkonHTML", "Falkon HTML Document", fileIconPath, RegisterQAppAssociation::FileAssociation); + m_registerQAppAssociation->addCapability(".htm", "FalkonHTML", "Falkon HTML Document", fileIconPath, RegisterQAppAssociation::FileAssociation); + m_registerQAppAssociation->addCapability("http", "FalkonURL", "Falkon URL", appIconPath, RegisterQAppAssociation::UrlAssociation); + m_registerQAppAssociation->addCapability("https", "FalkonURL", "Falkon URL", appIconPath, RegisterQAppAssociation::UrlAssociation); + m_registerQAppAssociation->addCapability("ftp", "FalkonURL", "Falkon URL", appIconPath, RegisterQAppAssociation::UrlAssociation); } return m_registerQAppAssociation; } diff --git a/src/lib/data/icons/exeicons/page.ico b/src/lib/data/icons/exeicons/page.ico index 0571beae3..54becc581 100644 Binary files a/src/lib/data/icons/exeicons/page.ico and b/src/lib/data/icons/exeicons/page.ico differ diff --git a/src/lib/data/icons/exeicons/page16.png b/src/lib/data/icons/exeicons/page16.png index 9956b9ebf..d5aee01ba 100644 Binary files a/src/lib/data/icons/exeicons/page16.png and b/src/lib/data/icons/exeicons/page16.png differ diff --git a/src/lib/data/icons/exeicons/page256.png b/src/lib/data/icons/exeicons/page256.png new file mode 100644 index 000000000..a7c30e4f1 Binary files /dev/null and b/src/lib/data/icons/exeicons/page256.png differ diff --git a/src/lib/data/icons/exeicons/page32.png b/src/lib/data/icons/exeicons/page32.png index eb8fab3c7..71795357a 100644 Binary files a/src/lib/data/icons/exeicons/page32.png and b/src/lib/data/icons/exeicons/page32.png differ diff --git a/src/lib/data/icons/exeicons/page48.png b/src/lib/data/icons/exeicons/page48.png index 5599a0ee1..09d4f8a82 100644 Binary files a/src/lib/data/icons/exeicons/page48.png and b/src/lib/data/icons/exeicons/page48.png differ diff --git a/src/lib/preferences/preferences.cpp b/src/lib/preferences/preferences.cpp index 9823bb405..cefeed99b 100644 --- a/src/lib/preferences/preferences.cpp +++ b/src/lib/preferences/preferences.cpp @@ -212,8 +212,8 @@ Preferences::Preferences(BrowserWindow* window) ui->showStatusbar->setChecked(settings.value("showStatusBar", false).toBool()); // NOTE: instantBookmarksToolbar and showBookmarksToolbar cannot be both enabled at the same time ui->instantBookmarksToolbar->setChecked(settings.value("instantBookmarksToolbar", false).toBool()); - ui->showBookmarksToolbar->setChecked(settings.value("showBookmarksToolbar", true).toBool()); - ui->instantBookmarksToolbar->setDisabled(settings.value("showBookmarksToolbar", true).toBool()); + ui->showBookmarksToolbar->setChecked(settings.value("showBookmarksToolbar", false).toBool()); + ui->instantBookmarksToolbar->setDisabled(settings.value("showBookmarksToolbar", false).toBool()); ui->showBookmarksToolbar->setDisabled(settings.value("instantBookmarksToolbar").toBool()); connect(ui->instantBookmarksToolbar, SIGNAL(toggled(bool)), ui->showBookmarksToolbar, SLOT(setDisabled(bool))); connect(ui->showBookmarksToolbar, SIGNAL(toggled(bool)), ui->instantBookmarksToolbar, SLOT(setDisabled(bool))); diff --git a/src/lib/webtab/webtab.h b/src/lib/webtab/webtab.h index e01bb0dfb..82576b2f6 100644 --- a/src/lib/webtab/webtab.h +++ b/src/lib/webtab/webtab.h @@ -40,7 +40,7 @@ class FALKON_EXPORT WebTab : public QWidget { Q_OBJECT public: - struct SavedTab { + struct FALKON_EXPORT SavedTab { QString title; QUrl url; QIcon icon; diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index e31cbc933..b887e8cf9 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -7,10 +7,8 @@ include_directories( ) set(SRCS main.cpp) if (WIN32) - set(SRCS ${SRCS} appicon.rc) -endif() -if (${CMAKE_SYSTEM} MATCHES "OS2") - set(SRCS ${SRCS} appicon_os2.rc) + set(SRCS ${SRCS} version.rc) + configure_file(falkonversion.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/falkonversion.h) endif() ecm_create_qm_loader(SRCS falkon_qt) add_executable(falkon ${SRCS}) @@ -34,7 +32,9 @@ endif() if (UNIX AND NOT APPLE) install(TARGETS falkon ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(DIRECTORY ${CMAKE_SOURCE_DIR}/themes DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/falkon) - ki18n_install(${CMAKE_SOURCE_DIR}/po) + if (KF5I18n_FOUND) + ki18n_install(${CMAKE_SOURCE_DIR}/po) + endif() ecm_install_po_files_as_qm(${CMAKE_SOURCE_DIR}/poqm) install(PROGRAMS ../../linux/applications/org.kde.falkon.desktop DESTINATION ${KDE_INSTALL_APPDIR}) diff --git a/src/main/falkonversion.h.cmake b/src/main/falkonversion.h.cmake new file mode 100644 index 000000000..ddab42048 --- /dev/null +++ b/src/main/falkonversion.h.cmake @@ -0,0 +1,6 @@ +/* falkonversion.h. Generated by cmake from falkonversion.h.cmake */ + +#define FALKON_VERSION_STRING "${PROJECT_VERSION}" +#define FALKON_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} +#define FALKON_VERSION_MINOR ${PROJECT_VERSION_MINOR} +#define FALKON_VERSION_PATCH ${PROJECT_VERSION_PATCH} diff --git a/src/main/appicon.rc b/src/main/version.rc similarity index 57% rename from src/main/appicon.rc rename to src/main/version.rc index 6080721d9..c7767d367 100644 --- a/src/main/appicon.rc +++ b/src/main/version.rc @@ -1,11 +1,12 @@ #include "winver.h" +#include "falkonversion.h" IDI_ICON1 ICON DISCARDABLE "..\lib\data\icons\exeicons\falkon.ico" IDI_ICON2 ICON DISCARDABLE "..\lib\data\icons\exeicons\page.ico" VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,1,2,0 - PRODUCTVERSION 2,1,2,0 + FILEVERSION FALKON_VERSION_MAJOR,FALKON_VERSION_MINOR,FALKON_VERSION_PATCH,0 + PRODUCTVERSION FALKON_VERSION_MAJOR,FALKON_VERSION_MINOR,FALKON_VERSION_PATCH,0 FILEFLAGS 0x0L FILEFLAGSMASK 0x3fL FILEOS 0x00040004L @@ -16,14 +17,14 @@ BEGIN BEGIN BLOCK "000004b0" BEGIN - VALUE "CompanyName", "Falkon Team" - VALUE "FileDescription", "Falkon Web Browser" - VALUE "FileVersion", "2.1.2" - VALUE "LegalCopyright", "Copyright (C) 2010-2017 David Rosca" + VALUE "CompanyName", "KDE" + VALUE "FileDescription", "Falkon" + VALUE "FileVersion", FALKON_VERSION_STRING + VALUE "LegalCopyright", "Copyright (C) 2010-2018 David Rosca" VALUE "InternalName", "falkon" VALUE "OriginalFilename", "falkon.exe" VALUE "ProductName", "Falkon" - VALUE "ProductVersion", "2.1.2" + VALUE "ProductVersion", FALKON_VERSION_STRING END END BLOCK "VarFileInfo" diff --git a/windows/install.ico b/windows/install.ico deleted file mode 100644 index 72b97c291..000000000 Binary files a/windows/install.ico and /dev/null differ diff --git a/windows/installer.nsi b/windows/installer.nsi index 8bba6e47e..baadfc801 100644 --- a/windows/installer.nsi +++ b/windows/installer.nsi @@ -11,12 +11,13 @@ ; http://nsis.sourceforge.net/Registry_plug-in !ifndef CUSTOM - !define VERSION 2.1.2 + !define VERSION 3.0.0 !define ARCH x86 !define MSVC_VER 140 !define OPENSSL_BIN_DIR . !define MSVC_REDIST_DIR . - !define QZ_BIN_DIR . + !define FALKON_SRC_DIR ..\..\ + !define FALKON_BIN_DIR . !define ICU_BIN_DIR . !define QT_DIR . !define QT_BIN_DIR . @@ -59,7 +60,7 @@ SetCompressor /SOLID /FINAL lzma !define MUI_UNWELCOMEFINISHPAGE_BITMAP "wininstall\welcome.bmp" !insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE ${QZ_BIN_DIR}\COPYRIGHT.txt +!insertmacro MUI_PAGE_LICENSE ${FALKON_BIN_DIR}\COPYRIGHT.txt !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES @@ -104,7 +105,7 @@ SetCompressor /SOLID /FINAL lzma !insertmacro MUI_RESERVEFILE_LANGDLL Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION} Installer.exe" +OutFile "${PRODUCT_NAME} Installer ${PRODUCT_VERSION}.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}\" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show @@ -127,10 +128,10 @@ notRunning: SetOverwrite on SetOutPath "$INSTDIR" - File "${QZ_BIN_DIR}\COPYRIGHT.txt" - File "${QZ_BIN_DIR}\falkon.exe" - File "${QZ_BIN_DIR}\falkon.dll" - File "${QZ_BIN_DIR}\qt.conf" + 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 "${MSVC_REDIST_DIR}\*" @@ -183,6 +184,9 @@ notRunning: SetOutPath "$INSTDIR\sqldrivers" File "${QT_PLUGINS_DIR}\sqldrivers\qsqlite.dll" + SetOutPath "$INSTDIR\styles" + File "${QT_PLUGINS_DIR}\styles\*.dll" + SetOutPath "$INSTDIR\translations\qtwebengine_locales" File "${QT_DIR}\translations\qtwebengine_locales\*" @@ -204,38 +208,38 @@ SectionGroup $(TITLE_SecThemes) SecThemes Section Default SecDefault SectionIn RO SetOutPath "$INSTDIR\themes\windows" - File "${QZ_BIN_DIR}\themes\windows\*" + File "${FALKON_SRC_DIR}\themes\windows\*" SetOutPath "$INSTDIR\themes\windows\images" - File "${QZ_BIN_DIR}\themes\windows\images\*" + File "${FALKON_SRC_DIR}\themes\windows\images\*" SectionEnd Section Chrome SecChrome SetOutPath "$INSTDIR\themes\chrome" - File "${QZ_BIN_DIR}\themes\chrome\*" + File "${FALKON_SRC_DIR}\themes\chrome\*" SetOutPath "$INSTDIR\themes\chrome\images" - File "${QZ_BIN_DIR}\themes\chrome\images\*" + File "${FALKON_SRC_DIR}\themes\chrome\images\*" SectionEnd Section Mac SecMac SetOutPath "$INSTDIR\themes\mac" - File "${QZ_BIN_DIR}\themes\mac\*" + File "${FALKON_SRC_DIR}\themes\mac\*" SetOutPath "$INSTDIR\themes\mac\images" - File "${QZ_BIN_DIR}\themes\mac\images\*" + File "${FALKON_SRC_DIR}\themes\mac\images\*" SectionEnd SectionGroupEnd Section $(TITLE_SecTranslations) SecTranslations - SetOutPath "$INSTDIR\locale" - File "${QZ_BIN_DIR}\locale\*.qm" - SetOutPath "$INSTDIR\qtwebengine_dictionaries\doc" - File "${QTWEBENGINE_DICTIONARIES_DIR}\doc\*" - SetOutPath "$INSTDIR\qtwebengine_dictionaries" - File "${QTWEBENGINE_DICTIONARIES_DIR}\*.bdic" + #SetOutPath "$INSTDIR\locale" + #File "${FALKON_BIN_DIR}\locale\*.qm" + #SetOutPath "$INSTDIR\qtwebengine_dictionaries\doc" + #File "${QTWEBENGINE_DICTIONARIES_DIR}\doc\*" + #SetOutPath "$INSTDIR\qtwebengine_dictionaries" + #File "${QTWEBENGINE_DICTIONARIES_DIR}\*.bdic" SectionEnd Section $(TITLE_SecPlugins) SecPlugins SetOutPath "$INSTDIR\plugins" - File "${QZ_BIN_DIR}\plugins\*.dll" + File "${FALKON_BIN_DIR}\plugins\*.dll" SectionEnd @@ -260,14 +264,15 @@ SectionEnd SectionGroup $(TITLE_SecSetASDefault) SecSetASDefault Section $(TITLE_SecExtensions) SecExtensions SetOutPath "$INSTDIR" - ${RegisterAssociation} ".htm" "$INSTDIR\falkon.exe" "Falkon.HTM" $(FILE_Htm) "$INSTDIR\falkon.exe,1" "file" - ${RegisterAssociation} ".html" "$INSTDIR\falkon.exe" "Falkon.HTML" $(FILE_Html) "$INSTDIR\falkon.exe,1" "file" + ${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} SectionEnd Section $(TITLE_SecProtocols) SecProtocols - ${RegisterAssociation} "http" "$INSTDIR\falkon.exe" "Falkon.HTTP" "URL:HyperText Transfer Protocol" "$INSTDIR\falkon.exe,0" "protocol" - ${RegisterAssociation} "https" "$INSTDIR\falkon.exe" "Falkon.HTTPS" "URL:HyperText Transfer Protocol with Privacy" "$INSTDIR\falkon.exe,0" "protocol" + ${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" + ${RegisterAssociation} "ftp" "$INSTDIR\falkon.exe" "FalkonURL" "Falkon URL" "$INSTDIR\falkon.exe,0" "protocol" ${UpdateSystemIcons} SectionEnd SectionGroupEnd @@ -315,18 +320,59 @@ SectionEnd notRunning: SetShellVarContext all Delete "$DESKTOP\Falkon.lnk" - RMDir /r "$INSTDIR" - RMDir /r "$SMPROGRAMS\Falkon" + + 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" "Falkon.HTM" "$INSTDIR\falkon.exe" "file" - ${UnRegisterAssociation} ".html" "Falkon.HTML" "$INSTDIR\falkon.exe" "file" - ${UnRegisterAssociation} "http" "Falkon.HTTP" "$INSTDIR\falkon.exe" "protocol" - ${UnRegisterAssociation} "https" "Falkon.HTTPS" "$INSTDIR\falkon.exe" "protocol" + ${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" + ${UnRegisterAssociation} "ftp" "FalkonURL" "$INSTDIR\falkon.exe" "protocol" ${UpdateSystemIcons} SectionEnd !endif @@ -433,19 +479,18 @@ Function RegisterCapabilities ; 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} "Falkon.HTM" "$INSTDIR\falkon.exe" $(FILE_Htm) "$INSTDIR\falkon.exe,1" - ${CreateProgId} "Falkon.HTML" "$INSTDIR\falkon.exe" $(FILE_Html) "$INSTDIR\falkon.exe,1" - ${CreateProgId} "Falkon.HTTP" "$INSTDIR\falkon.exe" "URL:HyperText Transfer Protocol" "$INSTDIR\falkon.exe,0" - ${CreateProgId} "Falkon.HTTPS" "$INSTDIR\falkon.exe" "URL:HyperText Transfer Protocol with Privacy" "$INSTDIR\falkon.exe,0" + ${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" "Falkon.HTM" - WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\FileAssociations" ".html" "Falkon.HTML" - WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\URLAssociations" "http" "Falkon.HTTP" - WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\URLAssociations" "https" "Falkon.HTTPS" + 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}\URLAssociations" "ftp" "FalkonURL" WriteRegStr HKLM "${PRODUCT_CAPABILITIES_KEY}\Startmenu" "StartMenuInternet" "$INSTDIR\falkon.exe" WriteRegStr HKLM "SOFTWARE\RegisteredApplications" "${PRODUCT_NAME}" "${PRODUCT_CAPABILITIES_KEY}" ${EndIf} @@ -455,3 +500,14 @@ 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 diff --git a/windows/languages.nsh b/windows/languages.nsh index 44676f8ff..e7c33b058 100644 --- a/windows/languages.nsh +++ b/windows/languages.nsh @@ -24,6 +24,7 @@ LangString DESC_SecProtocols ${LANG_ENGLISH} "Associate Falkon with http(s) and ; LangString MSG_RunningInstance ${LANG_ENGLISH} "Falkon is already running! Do you want the installer try to terminate it?" LangString MSG_InstallationCanceled ${LANG_ENGLISH} "Process cancelled by user." +LangString MSG_InvalidInstallPath ${LANG_ENGLISH} "Install path invalid!" ;;;;Arabic LangString PRODUCT_DESC ${LANG_ARABIC} "كَبزيلّا متصفّح للوب جديد سريع وآمن ومفتوح المصدر. يُرخَّص استخدامه وفق الإصدار الثالث من رخصة جنو العمومية (GPL) أو أي إصدار أحدث من ذلك (اختر كما تشاء). يُبنى كَبزيلّا على محرّك العرض WebKitوإطار العمل Qt." diff --git a/windows/uninstall.ico b/windows/uninstall.ico deleted file mode 100644 index 73b351deb..000000000 Binary files a/windows/uninstall.ico and /dev/null differ diff --git a/windows/welcome.bmp b/windows/welcome.bmp index 67ce0b30e..e1f8e32c9 100644 Binary files a/windows/welcome.bmp and b/windows/welcome.bmp differ