diff -Nru quassel-0.11.0/ChangeLog quassel-0.12~beta1/ChangeLog --- quassel-0.11.0/ChangeLog 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/ChangeLog 2015-02-18 21:09:54.000000000 +0000 @@ -13,6 +13,18 @@ Without further ado, let's start: +Version 0.12.0 (TBA) +==================== + +* Full support for KDE Frameworks +* Remote password change +* Core connection improvements +* Build system improvements +* PostgreSQL connection improvements +* Improve Qt5 support +* Qt 4.8+ or Qt 5.2+ now required +* Several tweaks and fixes + Version 0.11.0 (2014-09-23) =========================== diff -Nru quassel-0.11.0/cmake/FindQCA2-QT5.cmake quassel-0.12~beta1/cmake/FindQCA2-QT5.cmake --- quassel-0.11.0/cmake/FindQCA2-QT5.cmake 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/cmake/FindQCA2-QT5.cmake 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,48 @@ +# - Try to find QCA2 (Qt Cryptography Architecture 2) for QT5 +# Once done this will define +# +# QCA2-QT5_FOUND - system has QCA2-QT5 +# QCA2-QT5_INCLUDE_DIR - the QCA2-QT5 include directory +# QCA2-QT5_LIBRARIES - the libraries needed to use QCA2-QT5 +# QCA2-QT5_DEFINITIONS - Compiler switches required for using QCA2-QT5 +# +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls + +# Copyright (c) 2006, Michael Larouche, +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +include(FindLibraryWithDebug) + +if (QCA2-QT5_INCLUDE_DIR AND QCA2-QT5_LIBRARIES) + + # in cache already + set(QCA2-QT5_FOUND TRUE) + +else (QCA2-QT5_INCLUDE_DIR AND QCA2-QT5_LIBRARIES) + + + if (NOT WIN32) + find_package(PkgConfig) + pkg_check_modules(PC_QCA2-QT5 QUIET qca2-qt5) + set(QCA2-QT5_DEFINITIONS ${PC_QCA2-QT5_CFLAGS_OTHER}) + endif (NOT WIN32) + + find_library_with_debug(QCA2-QT5_LIBRARIES + WIN32_DEBUG_POSTFIX d + NAMES qca-qt5 + HINTS ${PC_QCA2-QT5_LIBDIR} ${PC_QCA2-QT5_LIBRARY_DIRS} + ) + + find_path(QCA2-QT5_INCLUDE_DIR QtCrypto + HINTS ${PC_QCA2-QT5_INCLUDEDIR} ${PC_QCA2-QT5_INCLUDE_DIRS} + PATH_SUFFIXES QtCrypto) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(QCA2-QT5 DEFAULT_MSG QCA2-QT5_LIBRARIES QCA2-QT5_INCLUDE_DIR) + + mark_as_advanced(QCA2-QT5_INCLUDE_DIR QCA2-QT5_LIBRARIES) + +endif (QCA2-QT5_INCLUDE_DIR AND QCA2-QT5_LIBRARIES) diff -Nru quassel-0.11.0/cmake/QuasselInstallDirs.cmake quassel-0.12~beta1/cmake/QuasselInstallDirs.cmake --- quassel-0.11.0/cmake/QuasselInstallDirs.cmake 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/cmake/QuasselInstallDirs.cmake 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,65 @@ +# This file sets up install locations for Quassel +# +# (C) 2015 by the Quassel Project +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +# Setup install locations +##################################################################### + +# We support the CMake standard variables (CMAKE_INSTALL__DIR), +# which can be overridden on the command line. If KDE integration is enabled, +# we make use of its settings. + +if (NOT WITH_KDE) + if (WIN32) + # On Windows, we have to guess good paths + # We must check if the variables are already defined on the command line + if (NOT DEFINED CMAKE_INSTALL_BINDIR) + set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Install path for binaries") + endif() + if (NOT DEFINED CMAKE_INSTALL_DATADIR) + set(CMAKE_INSTALL_DATADIR "$ENV{APPDATA}/quassel-irc.org/share/apps" CACHE PATH "Install path for data files") + endif() + if (NOT DEFINED CMAKE_INSTALL_ICONDIR) + set(CMAKE_INSTALL_ICONDIR "$ENV{APPDATA}/quassel-irc.org/share/icons" CACHE PATH "Install path for icons") + endif() + if (NOT DEFINED CMAKE_INSTALL_APPDIR) + set(CMAKE_INSTALL_APPDIR "$ENV{APPDATA}/quassel-irc.org/share/applications" CACHE PATH "Install path for .desktop files") + endif() + else() + # This sets the standard variables; however it doesn't know about icons and apps + include(GNUInstallDirs) + + # Special treatment for paths relative to DATAROOTDIR, as found in GNUInstallDirs + if (NOT CMAKE_INSTALL_ICONDIR) + set(CMAKE_INSTALL_ICONDIR "" CACHE PATH "Install path for icons") + set(CMAKE_INSTALL_ICONDIR "${CMAKE_INSTALL_DATAROOTDIR}/icons") + endif() + if (NOT CMAKE_INSTALL_APPDIR) + set(CMAKE_INSTALL_APPDIR "" CACHE PATH "Install path for .desktop files") + set(CMAKE_INSTALL_APPDIR "${CMAKE_INSTALL_DATAROOTDIR}/applications") + endif() + endif() +else() + if (WITH_KDE4) + # FindKDE4Internal.cmake sets its own set of variables, however with deprecated names + if (NOT DEFINED CMAKE_INSTALL_BINDIR) + set(CMAKE_INSTALL_BINDIR "${BIN_INSTALL_DIR}" CACHE PATH "Install path for binaries") + endif() + if (NOT DEFINED CMAKE_INSTALL_DATADIR) + set(CMAKE_INSTALL_DATADIR "${DATA_INSTALL_DIR}" CACHE PATH "Install path for data files") + endif() + if (NOT DEFINED CMAKE_INSTALL_ICONDIR) + set(CMAKE_INSTALL_ICONDIR "${ICON_INSTALL_DIR}" CACHE PATH "Install path for icons") + endif() + if (NOT DEFINED CMAKE_INSTALL_APPDIR) + set(CMAKE_INSTALL_APPDIR "${XDG_APPS_INSTALL_DIR}" CACHE PATH "Install path for .desktop files") + endif() + endif() + + # KF5 does the correct thing, so we don't need to do anything + # We have already included KDEInstallDirs at this point. +endif() diff -Nru quassel-0.11.0/CMakeLists.txt quassel-0.12~beta1/CMakeLists.txt --- quassel-0.11.0/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -6,14 +6,13 @@ # General setup ##################################################################### -cmake_minimum_required(VERSION 2.8.9) project(QuasselIRC) # Versions set(QUASSEL_MAJOR 0) -set(QUASSEL_MINOR 11) +set(QUASSEL_MINOR 12) set(QUASSEL_PATCH 0) -set(QUASSEL_VERSION_STRING "0.11.0") +set(QUASSEL_VERSION_STRING "0.12-beta1") # Tell CMake about or own modules set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) @@ -34,11 +33,6 @@ include(QuasselCompileSettings) include(QuasselMacros) -# Setting COMPILE_DEFINITIONS_ is deprecated since CMake 3.0 in favor of generator expressions. -# These have existed since CMake 2.8.10; until we depend on that, we have to explicitly enable the old policy. -if (CMAKE_MAJOR_VERSION GREATER 2) - cmake_policy(SET CMP0043 OLD) -endif() # Options and variables that can be set on the command line ##################################################################### @@ -61,9 +55,17 @@ add_feature_info(WANT_QTCLIENT WANT_QTCLIENT "Build the client-only binary (requires a core to connect to)") add_feature_info(WANT_MONO WANT_MONO "Build the monolithic (all-in-one) binary") -# Whether to enable KDE integration (pulls in kdelibs and friends as a dependency); requires Qt4 for now -cmake_dependent_option(WITH_KDE "KDE4 integration" OFF "USE_QT4" OFF) -add_feature_info(WITH_KDE WITH_KDE "Enable KDE4 integration") +# Whether to enable KDE integration (work in progress for Qt5 / KDE Frameworks) +# Note that when building with Qt5, WITH_KDE enables integration with higher-tier KDE frameworks that +# require runtime support. We still optionally make use of certain Tier 1 frameworks even if WITH_KDE +# is disabled. +if (USE_QT4) + option(WITH_KDE "KDE4 integration" OFF) + add_feature_info(WITH_KDE WITH_KDE "Enable KDE4 integration") +else() + option(WITH_KDE "Integration with the KDE Frameworks runtime environment") + add_feature_info(WITH_KDE WITH_KDE "Integrate with the KDE Frameworks runtime environment") +endif() cmake_dependent_option(WITH_OXYGEN "Install Oxygen icon set (usually shipped with KDE)" ON "NOT WITH_KDE" OFF) if (NOT WITH_KDE) @@ -111,6 +113,22 @@ endif() +# Setup CMake +##################################################################### + +if (USE_QT5 AND WITH_KDE) + cmake_minimum_required(VERSION 2.8.12) +else() + cmake_minimum_required(VERSION 2.8.9) +endif() + +# Setting COMPILE_DEFINITIONS_ is deprecated since CMake 3.0 in favor of generator expressions. +# These have existed since CMake 2.8.10; until we depend on that, we have to explicitly enable the old policy. +if (CMAKE_MAJOR_VERSION GREATER 2) + cmake_policy(SET CMP0043 OLD) +endif() + + # Simplify later checks ##################################################################### @@ -131,11 +149,7 @@ add_definitions(-DHAVE_QT5) else() message(STATUS "Building for Qt4...") - if (BUILD_GUI) - set(QT_MIN_VERSION "4.6.0") - else() - set(QT_MIN_VERSION "4.4.0") - endif() + set(QT_MIN_VERSION "4.8.0") # Select a Qt installation here, if you don't want to use system Qt if(QT_PATH) @@ -144,6 +158,7 @@ endif() endif() + # Find package dependencies # # Note that you can forcefully disable optional packages @@ -224,7 +239,40 @@ endif() add_feature_info("WITH_WEBKIT, QtWebKit and QtWebKitWidgets modules" Qt5WebKitWidgets_FOUND "Support showing previews for URLs in chat") + # KDE Frameworks + ################ + + if (WITH_KDE) + set(ecm_find_type "REQUIRED") + else() + # Even with KDE integration disabled, we optionally use tier1 frameworks if we find them + set(ecm_find_type "RECOMMENDED") + endif() + + # extra-cmake-modules + find_package(ECM NO_MODULE QUIET) + set_package_properties(ECM PROPERTIES TYPE ${ecm_find_type} + URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules" + DESCRIPTION "extra modules for CMake, maintained by the KDE project" + PURPOSE "Required to find KDE Frameworks components" + ) + + if (ECM_FOUND) + list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) + endif() + + if (WITH_KDE) + find_package(KF5 COMPONENTS ConfigWidgets CoreAddons Notifications NotifyConfig TextWidgets XmlGui QUIET) + set_package_properties(KF5 PROPERTIES TYPE REQUIRED + URL "http://www.kde.org" + DESCRIPTION "KDE Frameworks" + PURPOSE "Required for integration into the Plasma desktop" + ) + + endif() + endif(BUILD_GUI) + if (BUILD_CORE) find_package(Qt5Script QUIET) set_package_properties(Qt5Script PROPERTIES TYPE REQUIRED @@ -235,14 +283,12 @@ DESCRIPTION "the database support module for Qt5" ) - # While QCA2 seems to support Qt5, it is not actually co-installable or distinguishable from the Qt4 version... - # In order to avoid linking against the Qt4 version (which is probably the one installed), disable this for now - #find_package(QCA2 QUIET) - #set_package_properties(QCA2 PROPERTIES TYPE RECOMMENDED - # URL "https://projects.kde.org/projects/kdesupport/qca" - # DESCRIPTION "Qt Cryptographic Architecture" - # PURPOSE "Required for encryption support" - #) + find_package(QCA2-QT5) + set_package_properties(QCA2-QT5 PROPERTIES TYPE RECOMMENDED + URL "https://projects.kde.org/projects/kdesupport/qca" + DESCRIPTION "Qt Cryptographic Architecture" + PURPOSE "Required for encryption support" + ) endif(BUILD_CORE) @@ -251,6 +297,7 @@ DESCRIPTION "contains tools for handling translation files" PURPOSE "Required for having translations" ) + # Some Qt5 versions do not define a target for lconvert, so we need to find it ourselves if (Qt5LinguistTools_FOUND) if (NOT TARGET Qt5::lconvert AND TARGET Qt5::lrelease) @@ -324,6 +371,7 @@ ) endif(BUILD_GUI) + if (BUILD_CORE) find_package(QCA2 QUIET) @@ -366,31 +414,72 @@ endif() -# Various checks +# Additional compile settings ##################################################################### -if (NOT ZLIB_FOUND) - message(STATUS "zlib NOT found, using bundled miniz for compression") - if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) - message(STATUS "WARNING: This may be slow on 32 bit systems!") - endif() +# This sets -fPIC and friends if required by the installed Qt5 library +if (USE_QT5 AND Qt5_POSITION_INDEPENDENT_CODE) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +endif() + +# Needed to compile with mingw without kde +if (MINGW AND NOT KDE4_FOUND) + add_definitions(-D_WIN32_WINNT=0x0500) + message(STATUS "Added _WIN32_WINNT=0x0500 definition for MinGW") + # workaround for bug in mingw gcc 4.0 + add_definitions(-U__STRICT_ANSI__) endif() +# Sanitize compiler flags - old versions of KDE set -ansi, which breaks -std=c++11 +if (CMAKE_COMPILER_IS_GNUCXX) + string(REPLACE "-ansi" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +endif() + + +# Setup KDE / KDE Frameworks +##################################################################### + +# We want to do this up here, so we have the necessary variables and defines set before +# compiling anything + if (KDE4_FOUND) - # We always use external icons for KDE4 support, since we use its iconloader rather than our own + # We always use external icons for KDE4 support, since we use its iconloader rather than Qt's set(EMBED_DATA OFF) # Better have the compile flags global, even for the core, to avoid problems with linking the mono client - add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) + add_definitions(-DHAVE_KDE -DHAVE_KDE4 ${KDE4_DEFINITIONS}) + set(WITH_KDE4 TRUE) +endif() + +if (USE_QT5 AND WITH_KDE) + # If KDE Frameworks are present, they're most probably providing Qt5 integration including icon loading + set(EMBED_DATA OFF) + + include(KDEInstallDirs) + include(KDECompilerSettings) + include(KDECMakeSettings) + + add_definitions(-DHAVE_KDE -DHAVE_KF5) + set(WITH_KF5 TRUE) +endif() + +# This needs to come after setting up KDE integration, so we can use KDE-specific paths +include(QuasselInstallDirs) + +# Various config-dependent checks and settings +##################################################################### + +if (NOT ZLIB_FOUND) + message(STATUS "zlib NOT found, using bundled miniz for compression") + if (${CMAKE_SIZEOF_VOID_P} EQUAL 4) + message(STATUS "WARNING: This may be slow on 32 bit systems!") + endif() endif() # Check for SSL support in Qt # As there's no easy way to get Qt's configuration in particular for Qt5, let's just compile # a small test program checking the defines. This works for both Qt4 and Qt5. cmake_push_check_state(RESET) -if (Qt5_POSITION_INDEPENDENT_CODE) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) -endif() set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES} ${Qt5Core_INCLUDE_DIRS}) check_cxx_source_compiles(" #include \"qglobal.h\" @@ -414,96 +503,88 @@ add_feature_info("Qt Linguist Tools" QT_LCONVERT_EXECUTABLE "Translation support for Quassel") -# Various settings -################## +if (EMBED_DATA) + message(STATUS "Embedding data files into the binary") +else() + message(STATUS "Installing data files separately") +endif() -# needed to compile with mingw without kde -if (MINGW AND NOT KDE4_FOUND) - add_definitions(-D_WIN32_WINNT=0x0500) - message(STATUS "Added _WIN32_WINNT=0x0500 definition for MinGW") -# workaround for bug in mingw gcc 4.0 - add_definitions(-U__STRICT_ANSI__) +if (INDICATEQT_FOUND) + add_definitions(-DXDG_APPS_INSTALL_DIR=${CMAKE_INSTALL_APPDIR}) +endif() + +if (NOT WIN32) + check_function_exists(umask HAVE_UMASK) + if(HAVE_UMASK) + add_definitions(-DHAVE_UMASK) + endif(HAVE_UMASK) +endif() + + +# Windows-specific stuff +##################################################################### + +if (WIN32) + link_libraries(imm32 winmm dbghelp Secur32) # missing by default :/ + if (MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DNOMINMAX") + set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBUGINFO "/debug /INCREMENTAL:YES /NODEFAULTLIB:libcmt /DEFAULTLIB:msvcrt") + set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:YES /NODEFAULTLIB:libcmt") + set(CMAKE_EXE_LINKER_FLAGS_DEBUGFULL "${CMAKE_EXE_LINKER_FLAGS_DEBUG}") + link_libraries(Version dwmapi shlwapi) + if (USE_QT5) + set(QT_QTMAIN_LIBRARY Qt5::WinMain) + endif() + endif() + if(HAVE_SSL AND STATIC) + find_package(OpenSSL REQUIRED) + link_libraries(${OPENSSL_LIBRARIES} ${OPENSSL_EAY_LIBRARIES}) + endif() endif() -# Now set up install locations; those are set by KDE if integration is enabled -if(NOT KDE4_FOUND) - if(WIN32) - set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX} CACHE FILEPATH "Install path for binaries") - set(DATA_INSTALL_DIR $ENV{APPDATA}/quassel-irc.org/share/apps CACHE FILEPATH "Install path for data files") - set(ICON_INSTALL_DIR $ENV{APPDATA}/quassel-irc.org/share/icons CACHE FILEPATH "Global icon install path") - set(XDG_APPS_INSTALL_DIR $ENV{APPDATA}/quassel-irc.org/share/applications CACHE FILEPATH "Install path for .desktop files") - else(WIN32) - set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin CACHE FILEPATH "Install path for binaries") - set(DATA_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/apps CACHE FILEPATH "Install path for data files") - set(ICON_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/icons CACHE FILEPATH "Global icon install path") - set(XDG_APPS_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/applications CACHE FILEPATH "Install path for .desktop files") - endif(WIN32) -endif() - -if(EMBED_DATA) - message(STATUS "Embedding data files into the binary") -else(EMBED_DATA) - message(STATUS "Installing data files separately") -endif(EMBED_DATA) - -# RPATH needs to be set correctly -# Do this down here, since otherwise KDE wants to handle it itself, and fails -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1) -set(CMAKE_BUILD_WITH_INSTALL_RPATH 1) - -# Set global buildflags -# This is very much non-portable, so don't use -DSTATIC until you know what -# you do. + +# Static builds (very much non-portable, so don't use -DSTATIC +# unless you know what you do!) +##################################################################### + if(STATIC AND CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "-static-libgcc ${CMAKE_CXX_FLAGS}") - link_directories(${CMAKE_BINARY_DIR}/staticlibs) # override dynamic libs - if(HAVE_SSL) - set(QUASSEL_SSL_LIBRARIES ssl crypto) # these miss in static builds - endif(HAVE_SSL) -endif(STATIC AND CMAKE_COMPILER_IS_GNUCXX) - -if(WIN32) - link_libraries(imm32 winmm dbghelp Secur32) # missing by default :/ - if(MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DNOMINMAX") - set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBUGINFO "/debug /INCREMENTAL:YES /NODEFAULTLIB:libcmt /DEFAULTLIB:msvcrt") - set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:YES /NODEFAULTLIB:libcmt") - set(CMAKE_EXE_LINKER_FLAGS_DEBUGFULL "${CMAKE_EXE_LINKER_FLAGS_DEBUG}") - link_libraries(Version dwmapi shlwapi) - if(USE_QT5) - set(QT_QTMAIN_LIBRARY Qt5::WinMain) - endif(USE_QT5) - endif(MSVC) - if(HAVE_SSL AND STATIC) - find_package(OpenSSL REQUIRED) - link_libraries(${OPENSSL_LIBRARIES} ${OPENSSL_EAY_LIBRARIES}) - endif(HAVE_SSL AND STATIC) -endif(WIN32) - -if(INDICATEQT_FOUND) - add_definitions(-DXDG_APPS_INSTALL_DIR=${XDG_APPS_INSTALL_DIR}) -endif() - -if(NOT WIN32) - check_function_exists(umask HAVE_UMASK) - if(HAVE_UMASK) - add_definitions(-DHAVE_UMASK) - endif(HAVE_UMASK) -endif(NOT WIN32) + set(CMAKE_CXX_FLAGS "-static-libgcc ${CMAKE_CXX_FLAGS}") + link_directories(${CMAKE_BINARY_DIR}/staticlibs) # override dynamic libs + if (HAVE_SSL) + set(QUASSEL_SSL_LIBRARIES ssl crypto) # these miss in static builds + endif() +endif() + # Generate version information from Git +##################################################################### + include(GetGitRevisionDescription) get_git_head_revision(GIT_REFSPEC GIT_HEAD) git_describe(GIT_DESCRIBE --long) +# If not in a Git repo try to read GIT_HEAD and GIT_DESCRIBE from +# enviroment +if (NOT GIT_HEAD OR NOT GIT_DESCRIBE) + if (DEFINED ENV{GIT_HEAD}) + set(GIT_HEAD ${GIT_HEAD}) + endif () + if (DEFINED ENV{GIT_DESCRIBE}) + set(GIT_DESCRIBE ${GIT_DESCRIBE}) + endif() +endif() + # Sanitize things if we're not in a Git repo -if(NOT GIT_HEAD OR NOT GIT_DESCRIBE) +if (NOT GIT_HEAD OR NOT GIT_DESCRIBE) set(GIT_HEAD "") set(GIT_DESCRIBE "") endif() configure_file(version.h.in ${CMAKE_BINARY_DIR}/version.h @ONLY) +# Prepare the build +##################################################################### + # These variables will be added to the main targets (CORE, QTCLIENT, MONO) set(COMMON_DEPS ${RC_WIN32}) set(CORE_DEPS ) @@ -515,6 +596,7 @@ add_subdirectory(pics) add_subdirectory(po) + # Set up and display feature summary ##################################################################### @@ -525,7 +607,7 @@ # Finally, compile the sources # We want this after displaying the feature summary to avoid ugly -# CMake backtraces in case a required Qt5 modules misses +# CMake backtraces in case a required Qt5 module is missing ##################################################################### add_subdirectory(src) diff -Nru quassel-0.11.0/data/CMakeLists.txt quassel-0.12~beta1/data/CMakeLists.txt --- quassel-0.11.0/data/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/data/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -1,26 +1,30 @@ if (BUILD_GUI) if (KDE4_FOUND OR (UNIX AND NOT APPLE)) if (WANT_QTCLIENT) - install(FILES quasselclient.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) + install(FILES quasselclient.desktop DESTINATION ${CMAKE_INSTALL_APPDIR}) endif() if (WANT_MONO) - install(FILES quassel.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) + install(FILES quassel.desktop DESTINATION ${CMAKE_INSTALL_APPDIR}) endif() - if (KDE4_FOUND) - install(FILES quassel.notifyrc DESTINATION ${DATA_INSTALL_DIR}/quassel) + if (WITH_KDE4) + install(FILES quassel.notifyrc DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel) + endif() + + if (WITH_KF5) + install(FILES quassel.notifyrc DESTINATION ${CMAKE_INSTALL_KNOTIFY5RCDIR}) endif() endif() if (EMBED_DATA) set(CLIENT_RCS ${CLIENT_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/data.qrc PARENT_SCOPE) else() - install(FILES networks.ini DESTINATION ${DATA_INSTALL_DIR}/quassel) - install(DIRECTORY stylesheets DESTINATION ${DATA_INSTALL_DIR}/quassel) + install(FILES networks.ini DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel) + install(DIRECTORY stylesheets DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel) endif() if (NOT WIN32) - install(DIRECTORY scripts DESTINATION ${DATA_INSTALL_DIR}/quassel USE_SOURCE_PERMISSIONS) + install(DIRECTORY scripts DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel USE_SOURCE_PERMISSIONS) endif() endif() diff -Nru quassel-0.11.0/data/quasselclient.desktop quassel-0.12~beta1/data/quasselclient.desktop --- quassel-0.11.0/data/quasselclient.desktop 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/data/quasselclient.desktop 2015-02-18 21:09:54.000000000 +0000 @@ -72,3 +72,4 @@ TryExec=quasselclient Exec=quasselclient Categories=Qt;Network;Chat;IRCClient; +X-DBUS-ServiceName=org.quassel-irc.quasselclient diff -Nru quassel-0.11.0/data/quassel.desktop quassel-0.12~beta1/data/quassel.desktop --- quassel-0.11.0/data/quassel.desktop 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/data/quassel.desktop 2015-02-18 21:09:54.000000000 +0000 @@ -73,3 +73,4 @@ TryExec=quassel Exec=quassel Categories=Qt;Network;Chat;IRCClient; +X-DBUS-ServiceName=org.quassel-irc.quassel diff -Nru quassel-0.11.0/debian/changelog quassel-0.12~beta1/debian/changelog --- quassel-0.11.0/debian/changelog 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/changelog 2015-02-19 12:58:52.000000000 +0000 @@ -1,3 +1,15 @@ +quassel (0.12~beta1-0ubuntu1) vivid; urgency=medium + + [ Michael Marley ] + * New upstream kf5 based beta release + - Drop patches debian/patches/CVE-2014-8483.patch, + upstream_qca-qt5-cmake.patch and upstream_qca-qt5-code.patch + - Add kf5 build-deps + - Adjust install paths + * Fix upstart job to avoid race conditions on restart + + -- Scott Kitterman Thu, 19 Feb 2015 07:42:04 -0500 + quassel (0.11.0-0ubuntu2) vivid; urgency=medium * Build against Qt 5 diff -Nru quassel-0.11.0/debian/control quassel-0.12~beta1/debian/control --- quassel-0.11.0/debian/control 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/control 2015-02-19 12:41:36.000000000 +0000 @@ -20,7 +20,14 @@ libphonon4qt5experimental-dev, libdbusmenu-qt5-dev, libqt5webkit5-dev, - dh-systemd + dh-systemd, + extra-cmake-modules, + libkf5textwidgets-dev, + libkf5coreaddons-dev, + libkf5xmlgui-dev, + libkf5notifications-dev, + libkf5notifyconfig-dev, + libkf5widgetsaddons-dev Standards-Version: 3.9.6 Homepage: http://www.quassel-irc.org/ Vcs-Bzr: lp:~ubuntu-dev/quassel/ubuntu diff -Nru quassel-0.11.0/debian/patches/CVE-2014-8483.patch quassel-0.12~beta1/debian/patches/CVE-2014-8483.patch --- quassel-0.11.0/debian/patches/CVE-2014-8483.patch 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/patches/CVE-2014-8483.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -From 6b2d80b85a521392b3a34c902ab8ef85899f9cb6 Mon Sep 17 00:00:00 2001 -From: Manuel Nickschas -Date: Tue, 21 Oct 2014 21:20:07 +0200 -Subject: [PATCH] Check for invalid input in encrypted buffers - -The ECB Blowfish decryption function assumed that encrypted input would -always come in blocks of 12 characters, as specified. However, buggy -clients or annoying people may not adhere to that assumption, causing -the core to crash while trying to process the invalid base64 input. - -With this commit we make sure that we're not overstepping the bounds of -the input string while decoding it; instead we bail out early and display -the original input. Fixes #1314. - -Thanks to Tucos for finding that one! ---- - src/core/cipher.cpp | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/src/core/cipher.cpp b/src/core/cipher.cpp -index 7cc75d0..7d1fe46 100644 ---- a/src/core/cipher.cpp -+++ b/src/core/cipher.cpp -@@ -364,6 +364,10 @@ QByteArray Cipher::blowfishECB(QByteArray cipherText, bool direction) - } - else - { -+ // ECB Blowfish encodes in blocks of 12 chars, so anything else is malformed input -+ if ((temp.length() % 12) != 0) -+ return cipherText; -+ - temp = b64ToByte(temp); - while ((temp.length() % 8) != 0) temp.append('\0'); - } -@@ -376,8 +380,13 @@ QByteArray Cipher::blowfishECB(QByteArray cipherText, bool direction) - if (!cipher.ok()) - return cipherText; - -- if (direction) -+ if (direction) { -+ // Sanity check -+ if ((temp2.length() % 8) != 0) -+ return cipherText; -+ - temp2 = byteToB64(temp2); -+ } - - return temp2; - } diff -Nru quassel-0.11.0/debian/patches/series quassel-0.12~beta1/debian/patches/series --- quassel-0.11.0/debian/patches/series 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/patches/series 2015-02-19 12:41:36.000000000 +0000 @@ -1,5 +1,2 @@ kubuntu_01_default_network_channel.patch kubuntu_02_enable_message_indicator.diff -CVE-2014-8483.patch -upstream_qca-qt5-code.patch -upstream_qca-qt5-cmake.patch diff -Nru quassel-0.11.0/debian/patches/upstream_qca-qt5-cmake.patch quassel-0.12~beta1/debian/patches/upstream_qca-qt5-cmake.patch --- quassel-0.11.0/debian/patches/upstream_qca-qt5-cmake.patch 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/patches/upstream_qca-qt5-cmake.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,125 +0,0 @@ -From bc544f569faedea50c7715844a2261872796c683 Mon Sep 17 00:00:00 2001 -From: Michael Marley -Date: Wed, 26 Nov 2014 12:41:43 -0500 -Subject: [PATCH] Add support for compiling with QCA on Qt5 - -The maintainer for QCA insists on adding a suffix to the QCA -libname, forcing us to make a few changes to support it. ---- - CMakeLists.txt | 14 ++++++-------- - cmake/FindQCA2-QT5.cmake | 48 +++++++++++++++++++++++++++++++++++++++++++++++ - src/common/CMakeLists.txt | 2 +- - src/core/CMakeLists.txt | 7 +++++++ - 4 files changed, 62 insertions(+), 9 deletions(-) - create mode 100644 cmake/FindQCA2-QT5.cmake - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fc22665..a4953ee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -235,14 +235,12 @@ if (USE_QT5) - DESCRIPTION "the database support module for Qt5" - ) - -- # While QCA2 seems to support Qt5, it is not actually co-installable or distinguishable from the Qt4 version... -- # In order to avoid linking against the Qt4 version (which is probably the one installed), disable this for now -- #find_package(QCA2 QUIET) -- #set_package_properties(QCA2 PROPERTIES TYPE RECOMMENDED -- # URL "https://projects.kde.org/projects/kdesupport/qca" -- # DESCRIPTION "Qt Cryptographic Architecture" -- # PURPOSE "Required for encryption support" -- #) -+ find_package(QCA2-QT5) -+ set_package_properties(QCA2-QT5 PROPERTIES TYPE RECOMMENDED -+ URL "https://projects.kde.org/projects/kdesupport/qca" -+ DESCRIPTION "Qt Cryptographic Architecture" -+ PURPOSE "Required for encryption support" -+ ) - - endif(BUILD_CORE) - -diff --git a/cmake/FindQCA2-QT5.cmake b/cmake/FindQCA2-QT5.cmake -new file mode 100644 -index 0000000..0d28590 ---- /dev/null -+++ b/cmake/FindQCA2-QT5.cmake -@@ -0,0 +1,48 @@ -+# - Try to find QCA2 (Qt Cryptography Architecture 2) for QT5 -+# Once done this will define -+# -+# QCA2-QT5_FOUND - system has QCA2-QT5 -+# QCA2-QT5_INCLUDE_DIR - the QCA2-QT5 include directory -+# QCA2-QT5_LIBRARIES - the libraries needed to use QCA2-QT5 -+# QCA2-QT5_DEFINITIONS - Compiler switches required for using QCA2-QT5 -+# -+# use pkg-config to get the directories and then use these values -+# in the FIND_PATH() and FIND_LIBRARY() calls -+ -+# Copyright (c) 2006, Michael Larouche, -+# -+# Redistribution and use is allowed according to the terms of the BSD license. -+# For details see the accompanying COPYING-CMAKE-SCRIPTS file. -+ -+include(FindLibraryWithDebug) -+ -+if (QCA2-QT5_INCLUDE_DIR AND QCA2-QT5_LIBRARIES) -+ -+ # in cache already -+ set(QCA2-QT5_FOUND TRUE) -+ -+else (QCA2-QT5_INCLUDE_DIR AND QCA2-QT5_LIBRARIES) -+ -+ -+ if (NOT WIN32) -+ find_package(PkgConfig) -+ pkg_check_modules(PC_QCA2-QT5 QUIET qca2-qt5) -+ set(QCA2-QT5_DEFINITIONS ${PC_QCA2-QT5_CFLAGS_OTHER}) -+ endif (NOT WIN32) -+ -+ find_library_with_debug(QCA2-QT5_LIBRARIES -+ WIN32_DEBUG_POSTFIX d -+ NAMES qca-qt5 -+ HINTS ${PC_QCA2-QT5_LIBDIR} ${PC_QCA2-QT5_LIBRARY_DIRS} -+ ) -+ -+ find_path(QCA2-QT5_INCLUDE_DIR QtCrypto -+ HINTS ${PC_QCA2-QT5_INCLUDEDIR} ${PC_QCA2-QT5_INCLUDE_DIRS} -+ PATH_SUFFIXES QtCrypto) -+ -+ include(FindPackageHandleStandardArgs) -+ find_package_handle_standard_args(QCA2-QT5 DEFAULT_MSG QCA2-QT5_LIBRARIES QCA2-QT5_INCLUDE_DIR) -+ -+ mark_as_advanced(QCA2-QT5_INCLUDE_DIR QCA2-QT5_LIBRARIES) -+ -+endif (QCA2-QT5_INCLUDE_DIR AND QCA2-QT5_LIBRARIES) -diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt -index 23e5601..52560a1 100644 ---- a/src/common/CMakeLists.txt -+++ b/src/common/CMakeLists.txt -@@ -47,7 +47,7 @@ set(SOURCES - ) - - --if (QCA2_FOUND) -+if (QCA2_FOUND OR QCA2-QT5_FOUND) - set(SOURCES ${SOURCES} keyevent.cpp) - endif() - -diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt -index 6a0611a..d6f467f 100644 ---- a/src/core/CMakeLists.txt -+++ b/src/core/CMakeLists.txt -@@ -54,6 +54,13 @@ if (QCA2_FOUND) - list(APPEND LIBS ${QCA2_LIBRARIES}) - endif() - -+if (QCA2-QT5_FOUND) -+ add_definitions(-DHAVE_QCA2) -+ include_directories(${QCA2-QT5_INCLUDE_DIR}) -+ list(APPEND SOURCES cipher.cpp) -+ list(APPEND LIBS ${QCA2-QT5_LIBRARIES}) -+endif() -+ - include_directories(${CMAKE_SOURCE_DIR}/src/common) - - set(CORE_RCS ${CORE_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/sql.qrc) diff -Nru quassel-0.11.0/debian/patches/upstream_qca-qt5-code.patch quassel-0.12~beta1/debian/patches/upstream_qca-qt5-code.patch --- quassel-0.11.0/debian/patches/upstream_qca-qt5-code.patch 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/patches/upstream_qca-qt5-code.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -From 310dc3ae20541ec5364a9e70a17f3322adb5723f Mon Sep 17 00:00:00 2001 -From: Patrick von Reth -Date: Thu, 2 Oct 2014 15:32:11 +0200 -Subject: [PATCH] make quassel compile with qca enabled on qt5 - ---- - src/core/cipher.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: quassel-0.11.0/src/core/cipher.cpp -=================================================================== ---- quassel-0.11.0.orig/src/core/cipher.cpp -+++ quassel-0.11.0/src/core/cipher.cpp -@@ -429,13 +429,13 @@ QByteArray Cipher::byteToB64(QByteArray - right += v; - - for (int i = 0; i < 6; i++) { -- encoded.append(base64.at(right & 0x3F).toAscii()); -+ encoded.append(base64.at(right & 0x3F).toLatin1()); - right = right >> 6; - } - -- //TODO make sure the .toascii doesn't break anything -+ //TODO make sure the .toLatin1 doesn't break anything - for (int i = 0; i < 6; i++) { -- encoded.append(base64.at(left & 0x3F).toAscii()); -+ encoded.append(base64.at(left & 0x3F).toLatin1()); - left = left >> 6; - } - } diff -Nru quassel-0.11.0/debian/quassel-core.quasselcore.upstart quassel-0.12~beta1/debian/quassel-core.quasselcore.upstart --- quassel-0.11.0/debian/quassel-core.quasselcore.upstart 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/quassel-core.quasselcore.upstart 2015-02-19 12:41:36.000000000 +0000 @@ -19,6 +19,7 @@ env HOME=/var/lib/quassel respawn +respawn limit 10 0 script DATADIR="/var/lib/quassel" @@ -30,3 +31,4 @@ exec quasselcore --configdir=$DATADIR --logfile=$LOGFILE --loglevel=$LOGLEVEL --port=$PORT end script +post-stop exec sleep 5 diff -Nru quassel-0.11.0/debian/quassel-data.install quassel-0.12~beta1/debian/quassel-data.install --- quassel-0.11.0/debian/quassel-data.install 2014-11-28 17:13:31.000000000 +0000 +++ quassel-0.12~beta1/debian/quassel-data.install 2015-02-19 12:41:36.000000000 +0000 @@ -1,11 +1,6 @@ -usr/share/apps/quassel/icons/oxygen/16x16 -usr/share/apps/quassel/icons/oxygen/48x48 -usr/share/apps/quassel/icons/oxygen/128x128 -usr/share/apps/quassel/icons/oxygen/22x22 -usr/share/apps/quassel/icons/oxygen/32x32 -usr/share/apps/quassel/icons/oxygen/64x64 -usr/share/apps/quassel/translations/ -usr/share/apps/quassel/networks.ini -usr/share/apps/quassel/scripts/ -usr/share/apps/quassel/stylesheets/ +usr/share/quassel/translations/ +usr/share/quassel/networks.ini +usr/share/quassel/scripts/ +usr/share/quassel/stylesheets/ usr/share/icons/hicolor/ +usr/share/pixmaps/ diff -Nru quassel-0.11.0/icons/CMakeLists.txt quassel-0.12~beta1/icons/CMakeLists.txt --- quassel-0.11.0/icons/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -1,56 +1,42 @@ # Install icons -# We put them in DATA_INSTALL_DIR rather than ICON_INSTALL_DIR, to avoid -# polluting the global namespace and to allow overriding +# +# We put the bundled oxygen icon theme in DATADIR rather than ICONDIR, +# in order to avoid conflicts. As we add this directory to XDG_DATA_DIRS at runtime, +# the bundled theme will be found by Qt only if there is no oxygen theme installed +# in system directories. +# +# The hicolor folder contains icons vital for the Quassel UI (such as in the channel and nick +# lists). It is installed into the system icon directory (in order to allow overriding) and +# additionally always embedded as a fallback resource. + +if (WANT_MONO OR WANT_QTCLIENT) + set(ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/hicolor.qrc) # always embed those + + if (EMBED_DATA) + if (WITH_OXYGEN) + message(STATUS "Embedding bundled Oxygen icons") + set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/oxygen.qrc) + endif() + else() + install(DIRECTORY hicolor DESTINATION ${CMAKE_INSTALL_ICONDIR}) + if (WITH_OXYGEN) + message(STATUS "Installing bundled Oxygen icons") + install(DIRECTORY oxygen DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/icons) + endif() + endif() + + if (NOT WITH_OXYGEN) + message(STATUS "Not installing bundled Oxygen icons") + endif() -if(WANT_MONO OR WANT_QTCLIENT) - - # Figure out if we want to install KDE's icons - # Starting with KDE 4.3, they shouldn't be needed anymore - set(INSTALL_OXY true) - string(TOUPPER ${WITH_OXYGEN} OXY_UPPER) - if(NOT OXY_UPPER) - set(INSTALL_OXY false) - elseif(OXY_UPPER MATCHES "AUTO") - if(HAVE_KDE) - if(KDE_VERSION VERSION_GREATER 4.2.99) - set(INSTALL_OXY false) - endif(KDE_VERSION VERSION_GREATER 4.2.99) - endif(HAVE_KDE) - endif(NOT OXY_UPPER) - - if(INSTALL_OXY) - message(STATUS "Installing Oxygen icons") - else(INSTALL_OXY) - message(STATUS "Not installing Oxygen icons") - endif(INSTALL_OXY) - - if(EMBED_DATA) - set(ICON_RCS ${CMAKE_CURRENT_SOURCE_DIR}/hicolor.qrc ${CMAKE_CURRENT_SOURCE_DIR}/oxygen.qrc) - if(INSTALL_OXY) - set(ICON_RCS ${ICON_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/oxygen_kde.qrc) - endif(INSTALL_OXY) set(CLIENT_RCS ${CLIENT_RCS} ${ICON_RCS} PARENT_SCOPE) - else(EMBED_DATA) - install(DIRECTORY hicolor DESTINATION ${ICON_INSTALL_DIR}) - install(DIRECTORY oxygen DESTINATION ${DATA_INSTALL_DIR}/quassel/icons) - if(INSTALL_OXY) - install(DIRECTORY oxygen_kde/ DESTINATION ${DATA_INSTALL_DIR}/quassel/icons/oxygen) - endif(INSTALL_OXY) - endif(EMBED_DATA) -endif(WANT_MONO OR WANT_QTCLIENT) +endif() # Application icon -# cmake-2.6.2 can't handle nested conditions -# if((UNIX AND NOT APPLE) OR HAVE_KDE) -if(HAVE_KDE OR UNIX) - if(HAVE_KDE OR NOT APPLE) - - install(FILES oxygen_kde/48x48/apps/quassel.png DESTINATION ${ICON_INSTALL_DIR}/hicolor/48x48/apps) - if(CMAKE_INSTALL_PREFIX STREQUAL "/usr") - install(FILES oxygen_kde/48x48/apps/quassel.png DESTINATION /usr/share/pixmaps) - endif(CMAKE_INSTALL_PREFIX STREQUAL "/usr") - -# endif((UNIX AND NOT APPLE) OR HAVE_KDE) - endif(HAVE_KDE OR NOT APPLE) -endif(HAVE_KDE OR UNIX) +if (HAVE_KDE OR (UNIX AND NOT APPLE)) + install(FILES hicolor/48x48/apps/quassel.png DESTINATION ${CMAKE_INSTALL_ICONDIR}/hicolor/48x48/apps) + if (CMAKE_INSTALL_PREFIX STREQUAL "/usr") + install(FILES hicolor/48x48/apps/quassel.png DESTINATION /usr/share/pixmaps) + endif() +endif() Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/16x16/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/16x16/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/16x16/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/16x16/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/16x16/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/16x16/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/16x16/status/irc-channel-joined.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/16x16/status/irc-channel-joined.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/16x16/status/irc-channel-parted.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/16x16/status/irc-channel-parted.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/scalable/status/irc-channel-joined.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/scalable/status/irc-channel-joined.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/hicolor/scalable/status/irc-channel-parted.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/hicolor/scalable/status/irc-channel-parted.svgz differ diff -Nru quassel-0.11.0/icons/hicolor.qrc quassel-0.12~beta1/icons/hicolor.qrc --- quassel-0.11.0/icons/hicolor.qrc 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/hicolor.qrc 2015-02-18 21:09:54.000000000 +0000 @@ -3,19 +3,24 @@ hicolor/16x16/apps/quassel.png hicolor/22x22/apps/quassel.png hicolor/32x32/apps/quassel.png - hicolor/48x48/apps/quassel.png - hicolor/64x64/apps/quassel.png - hicolor/128x128/apps/quassel.png + hicolor/48x48/apps/quassel.png + hicolor/64x64/apps/quassel.png + hicolor/128x128/apps/quassel.png hicolor/16x16/status/quassel-message.png hicolor/22x22/status/quassel-message.png hicolor/32x32/status/quassel-message.png - hicolor/48x48/status/quassel-message.png + hicolor/48x48/status/quassel-message.png hicolor/64x64/status/quassel-message.png hicolor/16x16/status/quassel-inactive.png hicolor/22x22/status/quassel-inactive.png hicolor/32x32/status/quassel-inactive.png - hicolor/48x48/status/quassel-inactive.png - hicolor/64x64/status/quassel-inactive.png - hicolor/128x128/status/quassel-inactive.png + hicolor/48x48/status/quassel-inactive.png + hicolor/64x64/status/quassel-inactive.png + hicolor/128x128/status/quassel-inactive.png + hicolor/16x16/status/irc-channel-joined.png + hicolor/16x16/status/irc-channel-parted.png + hicolor/16x16/actions/im-user.png + hicolor/16x16/actions/im-user-away.png + hicolor/16x16/actions/im-user-offline.png diff -Nru quassel-0.11.0/icons/import/blacklisted-icons quassel-0.12~beta1/icons/import/blacklisted-icons --- quassel-0.11.0/icons/import/blacklisted-icons 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/import/blacklisted-icons 2015-02-18 21:09:54.000000000 +0000 @@ -1,4 +1,4 @@ quassel-inactive quassel-message -irc-channel-active -irc-channel-inactive +irc-channel-joined +irc-channel-parted diff -Nru quassel-0.11.0/icons/import/extra-icons quassel-0.12~beta1/icons/import/extra-icons --- quassel-0.11.0/icons/import/extra-icons 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/import/extra-icons 2015-02-18 21:09:54.000000000 +0000 @@ -1 +1 @@ -quassel 16 22 32 48 64 128 +quassel diff -Nru quassel-0.11.0/icons/import/import_oxygen.pl quassel-0.12~beta1/icons/import/import_oxygen.pl --- quassel-0.11.0/icons/import/import_oxygen.pl 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/import/import_oxygen.pl 2015-02-18 21:09:54.000000000 +0000 @@ -20,56 +20,41 @@ my $oxygen = shift; my $source = "../src"; -my $quassel_icons = "oxygen"; -my $output = "oxygen_kde"; -my $qrcfile_quassel = "oxygen.qrc"; -my $qrcfile_kde = "oxygen_kde.qrc"; +my $output = "oxygen"; +my $qrcfile_kde = "oxygen.qrc"; my $extrafile = "import/extra-icons"; my $blacklistfile = "import/blacklisted-icons"; -my %sizes = ( - Desktop => 48, - Bar => 22, - MainBar => 22, - Small => 16, - Panel => 32, - Dialog => 22 -); - my %req_icons; +my %found_icons; my %blacklist; my %extra; # First, load the icon blacklist -# Format: icon-name 16 22 32 open BLACKLIST, "<$blacklistfile" or die "Could not open $blacklistfile\n"; while() { s/#.*//; - next unless my ($name, $sizes) = /([-\w]+)\s+(\d+(?:\s+\d+)*)?/; - $blacklist{$name} = $sizes; + next unless my ($name) = /([-\w]+)\s*/; + $blacklist{$name} = 1; } close BLACKLIST; # We now grep the source for things like SmallIcon("fubar") and generate size and name from that print "Grepping $source for requested icons...\n"; -my @results = `grep -r Icon\\(\\" $source`; +my @results = `grep -r QIcon::fromTheme\\(\\" $source`; foreach(@results) { - next unless my ($type, $name) = /\W+(\s|Desktop|Bar|MainBar|Small|Panel|Dialog)Icon\("([-\w]+)/; - $type = "Desktop" if $type =~ /\s+/; - my $size = $sizes{$type}; - $req_icons{$size}{$name} = 1 - unless exists $blacklist{$name} and ($blacklist{$name} == undef or $blacklist{$name} =~ /$size/); + next unless my ($name) = /\W+QIcon::fromTheme\(\"([-\w]+)/; + $req_icons{$name} = 1 + unless exists $blacklist{$name}; } # Add extra icons open EXTRA, "<$extrafile" or die "Could not open $extrafile\n"; while() { s/#.*//; - next unless my ($name, $sizes) = /([-\w]+)\s+(\d+(?:\s+\d+)*)/; - foreach(split /\s+/, $sizes) { - $req_icons{$_}{$name} = 1; - } + next unless my ($name) = /([-\w]+)\s*/; + $req_icons{$name} = 1; } close EXTRA; @@ -81,43 +66,48 @@ my %scalables; print "Copying icons from $oxygen...\n"; -foreach my $size (keys %req_icons) { - my $sizestr = $size.'x'.$size; - opendir (BASEDIR, "$oxygen/$sizestr") or die "Could not open dir for size $size\n"; - foreach my $cat (readdir BASEDIR) { +opendir (BASEDIR, "$oxygen") or die "Could not open oxygen basedir\n"; +foreach my $sizestr (readdir BASEDIR) { + next unless $sizestr =~ /\d+x\d+/; + opendir (SIZEDIR, "$oxygen/$sizestr") or die "Could not open dir $sizestr\n"; + foreach my $cat (readdir SIZEDIR) { next if $cat eq '.' or $cat eq '..'; - system "mkdir -p $output/$sizestr/$cat" and die "Could not create category dir\n"; - system "mkdir -p $output/scalable/$cat" and die "Could not create category dir\n"; opendir (CATDIR, "$oxygen/$sizestr/$cat") or die "Could not open category dir\n"; foreach my $icon (readdir CATDIR) { $icon =~ s/\.png$//; - next unless exists $req_icons{$size}{$icon}; - $scalables{"$cat/$icon"} = 1; + next unless exists $req_icons{$icon}; + $scalables{$cat}{$icon} = 1; + system "mkdir -p $output/$sizestr/$cat" and die "Could not create category dir\n"; system "cp -a $oxygen/$sizestr/$cat/$icon.png $output/$sizestr/$cat" and die "Error while copying file $sizestr/$cat/$icon.png\n"; - # print "Copy: $oxygen/$sizestr/$cat/$icon.png\n"; - delete $req_icons{$size}{$icon}; + #print "Copy: $oxygen/$sizestr/$cat/$icon.png\n"; + $found_icons{$icon} = 1; } closedir CATDIR; } - closedir BASEDIR; + closedir SIZEDIR; } +closedir BASEDIR; # Copy scalables -foreach my $scalable (keys %scalables) { - system "cp -a $oxygen/scalable/$scalable.svgz $output/scalable/$scalable.svgz"; +foreach my $cat (keys %scalables) { + system "mkdir -p $output/scalable/$cat" and die "Could not create category dir\n"; + foreach my $scalable (keys %scalables{$cat}) { + system "cp -a $oxygen/scalable/$cat/$scalable.svgz $output/scalable/$cat/$scalable.svgz"; + } } # Warn if we have still icons left -foreach my $size (keys %req_icons) { - foreach my $missing (keys %{ $req_icons{$size} }) { - print "Warning: Missing icon $missing (size $size)\n"; - } +foreach my $icon (keys %req_icons) { + next if defined $found_icons{$icon}; + print "Warning: Missing icon $icon\n"; } +# Copy license etc. +system "cp $oxygen/AUTHORS $oxygen/CONTRIBUTING $oxygen/COPYING $oxygen/index.theme $output/"; + # Generate .qrc my @file_list; -generate_qrc($quassel_icons, $qrcfile_quassel); generate_qrc($output, $qrcfile_kde); print "Done.\n"; @@ -143,9 +133,7 @@ } sub push_icon_path { - return unless /\.png$/; - my $alias = $File::Find::name; - $alias =~ s,^[^/]*(.*),$1,; + return unless /\.png$/ or /^index.theme$/; - push @file_list, " $File::Find::name"; + push @file_list, " $File::Find::name"; } Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/128x128/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/128x128/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/configure-shortcuts.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/configure-shortcuts.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/dialog-cancel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/dialog-cancel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/dialog-close.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/dialog-close.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/document-encrypt.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/document-encrypt.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/document-open.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/document-open.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/edit-clear-locationbar-ltr.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/edit-clear-locationbar-ltr.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/edit-clear-locationbar-rtl.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/edit-clear-locationbar-rtl.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/edit-copy.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/edit-copy.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/edit-delete.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/edit-delete.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/edit-rename.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/edit-rename.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/flag-blue.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/flag-blue.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/format-fill-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/format-fill-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/format-list-unordered.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/format-list-unordered.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/format-text-bold.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/format-text-bold.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/format-text-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/format-text-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/format-text-italic.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/format-text-italic.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/format-text-underline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/format-text-underline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/go-next-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/go-next-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/go-previous-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/go-previous-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/help-about.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/help-about.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/irc-close-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/irc-close-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/irc-join-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/irc-join-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/irc-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/irc-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/irc-remove-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/irc-remove-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/irc-unvoice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/irc-unvoice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/irc-voice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/irc-voice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/list-add.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/list-add.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/list-remove-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/list-remove-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/media-playback-start.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/media-playback-start.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/network-connect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/network-connect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/network-disconnect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/network-disconnect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/show-menu.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/show-menu.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/view-fullscreen.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/view-fullscreen.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/view-refresh.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/view-refresh.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/zoom-in.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/zoom-in.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/zoom-original.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/zoom-original.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/actions/zoom-out.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/actions/zoom-out.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/status/irc-channel-active.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/status/irc-channel-active.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/status/irc-channel-inactive.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/status/irc-channel-inactive.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/16x16/status/user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/16x16/status/user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/configure-shortcuts.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/configure-shortcuts.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/dialog-cancel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/dialog-cancel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/dialog-close.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/dialog-close.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/document-encrypt.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/document-encrypt.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/document-open.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/document-open.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/edit-clear-locationbar-ltr.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/edit-clear-locationbar-ltr.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/edit-clear-locationbar-rtl.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/edit-clear-locationbar-rtl.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/edit-copy.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/edit-copy.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/edit-delete.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/edit-delete.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/edit-rename.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/edit-rename.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/flag-blue.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/flag-blue.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/format-fill-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/format-fill-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/format-list-unordered.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/format-list-unordered.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/format-text-bold.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/format-text-bold.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/format-text-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/format-text-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/format-text-italic.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/format-text-italic.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/format-text-underline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/format-text-underline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/go-next-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/go-next-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/go-previous-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/go-previous-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/help-about.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/help-about.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/irc-close-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/irc-close-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/irc-join-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/irc-join-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/irc-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/irc-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/irc-remove-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/irc-remove-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/irc-unvoice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/irc-unvoice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/irc-voice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/irc-voice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/list-add.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/list-add.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/list-remove-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/list-remove-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/media-playback-start.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/media-playback-start.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/network-connect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/network-connect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/network-disconnect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/network-disconnect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/show-menu.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/show-menu.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/view-fullscreen.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/view-fullscreen.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/view-refresh.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/view-refresh.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/zoom-in.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/zoom-in.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/zoom-original.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/zoom-original.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/actions/zoom-out.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/actions/zoom-out.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/22x22/status/user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/22x22/status/user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/256x256/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/256x256/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/256x256/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/256x256/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/configure-shortcuts.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/configure-shortcuts.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/dialog-cancel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/dialog-cancel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/dialog-close.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/dialog-close.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/document-encrypt.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/document-encrypt.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/document-open.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/document-open.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/edit-clear-locationbar-ltr.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/edit-clear-locationbar-ltr.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/edit-clear-locationbar-rtl.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/edit-clear-locationbar-rtl.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/edit-copy.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/edit-copy.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/edit-delete.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/edit-delete.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/edit-rename.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/edit-rename.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/flag-blue.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/flag-blue.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/format-fill-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/format-fill-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/format-list-unordered.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/format-list-unordered.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/format-text-bold.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/format-text-bold.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/format-text-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/format-text-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/format-text-italic.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/format-text-italic.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/format-text-underline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/format-text-underline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/go-next-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/go-next-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/go-previous-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/go-previous-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/help-about.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/help-about.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/irc-close-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/irc-close-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/irc-join-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/irc-join-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/irc-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/irc-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/irc-remove-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/irc-remove-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/irc-unvoice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/irc-unvoice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/irc-voice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/irc-voice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/list-add.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/list-add.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/list-remove-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/list-remove-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/media-playback-start.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/media-playback-start.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/network-connect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/network-connect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/network-disconnect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/network-disconnect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/show-menu.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/show-menu.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/view-fullscreen.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/view-fullscreen.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/view-refresh.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/view-refresh.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/zoom-in.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/zoom-in.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/zoom-original.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/zoom-original.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/actions/zoom-out.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/actions/zoom-out.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/32x32/status/user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/32x32/status/user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/configure-shortcuts.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/configure-shortcuts.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/dialog-cancel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/dialog-cancel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/dialog-close.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/dialog-close.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/document-encrypt.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/document-encrypt.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/document-open.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/document-open.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/edit-clear-locationbar-ltr.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/edit-clear-locationbar-ltr.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/edit-clear-locationbar-rtl.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/edit-clear-locationbar-rtl.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/edit-copy.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/edit-copy.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/edit-delete.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/edit-delete.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/edit-rename.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/edit-rename.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/flag-blue.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/flag-blue.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/format-fill-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/format-fill-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/format-list-unordered.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/format-list-unordered.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/format-text-bold.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/format-text-bold.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/format-text-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/format-text-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/format-text-italic.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/format-text-italic.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/format-text-underline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/format-text-underline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/go-next-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/go-next-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/go-previous-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/go-previous-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/help-about.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/help-about.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/irc-close-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/irc-close-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/irc-join-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/irc-join-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/irc-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/irc-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/irc-remove-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/irc-remove-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/irc-unvoice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/irc-unvoice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/irc-voice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/irc-voice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/list-add.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/list-add.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/list-remove-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/list-remove-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/media-playback-start.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/media-playback-start.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/network-connect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/network-connect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/network-disconnect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/network-disconnect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/show-menu.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/show-menu.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/view-fullscreen.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/view-fullscreen.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/view-refresh.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/view-refresh.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/zoom-in.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/zoom-in.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/zoom-original.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/zoom-original.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/actions/zoom-out.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/actions/zoom-out.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/48x48/status/user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/48x48/status/user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/64x64/status/user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/64x64/status/user-away.png differ diff -Nru quassel-0.11.0/icons/oxygen/AUTHORS quassel-0.12~beta1/icons/oxygen/AUTHORS --- quassel-0.11.0/icons/oxygen/AUTHORS 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/oxygen/AUTHORS 2015-02-18 21:09:54.000000000 +0000 @@ -1,9 +1,8 @@ Oxygen Icon Theme has been developed by The Oxygen Team. Art Directors: -David Vignoni Nuno F. Pinheiro -David J. Miller +David Vignoni Naming Coordinator Jakob Petsovits @@ -15,9 +14,11 @@ Kenneth Wimer Nuno F. Pinheiro Riccardo Iaconelli +David J. Miller Thanks to: Lee Olson: Contributed drawing used in application-x-bittorent icon. Marco Aurélio "Coré": Improved audio-input-microphone icon. Matthias Kretz: Contributed "audio-input-line" device icon. Mauricio Piacentini : game icons mashup +Erlend Hamberg: "text-x-haskell" mimetype icon. diff -Nru quassel-0.11.0/icons/oxygen/CONTRIBUTING quassel-0.12~beta1/icons/oxygen/CONTRIBUTING --- quassel-0.11.0/icons/oxygen/CONTRIBUTING 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/oxygen/CONTRIBUTING 2015-02-18 21:09:54.000000000 +0000 @@ -1,6 +1,6 @@ -If you'd like to help us make Oxygen or contribute in any way please join the irc channel #kde-artists on freenode.net or send a mail to the kde-artists mailing list (artists@kde.org). One of the teeam is almost always online. We'd love to to discuss the possiblity with you :-) +If you'd like to help us make Oxygen or contribute in any way please join the irc channel #oxygen on freenode.net or send a mail to the kde-artists mailing list (all@oxygen -icons.org) or (nuno@oxygen-icons.org). One of the teeam is almost always online. We'd love to to discuss the possiblity with you :-) -In order to coordinate the addition of icons to the theme itself, all artists should put their work in a dir labelled Oxygen/ARTIST_NAME (so, mine for instance is Oxygen/Ken/) this allows us to control not only the licensing of the theme but the compatability with the guidelines for creating Oxygen icons. +In order to coordinate the addition of icons to the theme itself, all external artists should send their work for review to one of the refered emails, they will be reviewd for licensing of the theme and the compatability with the guidelines for creating Oxygen icons. NOTE: Contributors should realize that the Oxygen icon theme mantainers can (and probably will) modify, delete, reuse contributed artwork. diff -Nru quassel-0.11.0/icons/oxygen/COPYING quassel-0.12~beta1/icons/oxygen/COPYING --- quassel-0.11.0/icons/oxygen/COPYING 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/oxygen/COPYING 2015-02-18 21:09:54.000000000 +0000 @@ -1,24 +1,25 @@ The Oxygen Icon Theme + Copyright (C) 2007 Nuno Pinheiro Copyright (C) 2007 David Vignoni + Copyright (C) 2007 David Miller Copyright (C) 2007 Johann Ollivier Lapeyre Copyright (C) 2007 Kenneth Wimer - Copyright (C) 2007 Nuno Fernades Pinheiro Copyright (C) 2007 Riccardo Iaconelli - Copyright (C) 2007 David Miller + and others This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public + modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public + You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . Clarification: @@ -46,3 +47,170 @@ the use of elements of this art library in a GUI. kde-artists [at] kde.org + +----- + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff -Nru quassel-0.11.0/icons/oxygen/index.theme quassel-0.12~beta1/icons/oxygen/index.theme --- quassel-0.11.0/icons/oxygen/index.theme 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/icons/oxygen/index.theme 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,497 @@ +[Icon Theme] +Name=Oxygen +Name[bs]=Oxygen +Name[ca]=Oxygen +Name[ca@valencia]=Oxygen +Name[cs]=Oxygen +Name[da]=Oxygen +Name[de]=Oxygen +Name[el]=Oxygen +Name[en_GB]=Oxygen +Name[es]=Oxígeno +Name[et]=Oxygen +Name[eu]=Oxygen +Name[fa]=اکسیژن +Name[fi]=Oxygen +Name[fr]=Oxygen +Name[gl]=Oxygen +Name[hu]=Oxygen +Name[it]=Oxygen +Name[kk]=Oxygen +Name[ko]=Oxygen +Name[mr]=ऑक्सीजन +Name[nb]=Oxygen +Name[nds]=Oxygen +Name[nl]=Oxygen +Name[pl]=Tlen +Name[pt]=Oxygen +Name[pt_BR]=Oxygen +Name[ro]=Oxygen +Name[ru]=Oxygen +Name[sk]=Oxygen +Name[sl]=Kisik +Name[sr]=Кисеоник +Name[sr@ijekavian]=Кисеоник +Name[sr@ijekavianlatin]=Kiseonik +Name[sr@latin]=Kiseonik +Name[sv]=Oxygen +Name[tr]=Oxygen +Name[ug]=ئوكسېگىن +Name[uk]=Oxygen +Name[x-test]=xxOxygenxx +Name[zh_CN]=Oxygen(氧气) +Name[zh_TW]=Oxygen + +Comment=Oxygen Team +Comment[bs]=Oxygen tim +Comment[ca]=Equip de l'Oxygen +Comment[ca@valencia]=Equip de l'Oxygen +Comment[cs]=Tým Oxygen +Comment[da]=Oxygen-holdet +Comment[de]=Oxygen-Team +Comment[el]=Ομάδα Oxygen +Comment[en_GB]=Oxygen Team +Comment[es]=Equipo Oxígeno +Comment[et]=Oxygeni meeskond +Comment[eu]=Oxygen taldea +Comment[fa]=تیم اکسیژن +Comment[fi]=Oxygenin kehitysryhmä +Comment[fr]=Équipe Oxygen +Comment[gl]=Equipo de Oxygen +Comment[hu]=Oxygen csapat +Comment[it]=La squadra di Oxygen +Comment[kk]=Oxygen тобы +Comment[ko]=Oxygen 팀 +Comment[mr]=ऑक्सीजन टीम +Comment[nb]=Oxygen-laget +Comment[nds]=Oxygen-Koppel +Comment[nl]=Oxygen-team +Comment[pl]=Zespół Oxygen +Comment[pt]=Equipa do Oxygen +Comment[pt_BR]=Equipe do Oxygen +Comment[ro]=Echipa Oxygen +Comment[ru]=Команда Oxygen +Comment[sk]=Tím Oxygen +Comment[sl]=Ekipa Kisika +Comment[sr]=Тим Кисеоника +Comment[sr@ijekavian]=Тим Кисеоника +Comment[sr@ijekavianlatin]=Tim Kiseonika +Comment[sr@latin]=Tim Kiseonika +Comment[sv]=Oxygen-gruppen +Comment[tr]=Oxygen Takımı +Comment[ug]=ئوكسېگىن ئەترىتى +Comment[uk]=Команда Oxygen +Comment[x-test]=xxOxygen Teamxx +Comment[zh_CN]=Oxygen 团队 +Comment[zh_TW]=Oxygen 開發團隊 + +DisplayDepth=32 + +Inherits=hicolor + +Example=folder + +LinkOverlay=link +LockOverlay=lockoverlay +ShareOverlay=share +ZipOverlay=zip + +DesktopDefault=48 +DesktopSizes=16,22,32,48,64,128,256 +ToolbarDefault=22 +ToolbarSizes=16,22,32,48 +MainToolbarDefault=22 +MainToolbarSizes=16,22,32,48 +SmallDefault=16 +SmallSizes=16,22,32,48 +PanelDefault=32 +PanelSizes=16,22,32,48,64,128,256 +DialogDefault=32 +DialogSizes=16,22,32,48,64,128,256 + +Directories=8x8/emblems,16x16/actions,16x16/animations,16x16/apps,16x16/categories,16x16/devices,16x16/emblems,16x16/emotes,16x16/intl,16x16/mimetypes,16x16/places,16x16/status,16x16/special,22x22/actions,22x22/animations,22x22/apps,22x22/categories,22x22/devices,22x22/emblems,22x22/emotes,22x22/intl,22x22/mimetypes,22x22/places,22x22/status,22x22/special,32x32/actions,32x32/animations,32x32/apps,32x32/categories,32x32/devices,32x32/emblems,32x32/emotes,32x32/intl,32x32/mimetypes,32x32/places,32x32/status,48x48/actions,48x48/animations,48x48/apps,48x48/categories,48x48/devices,48x48/emblems,48x48/emotes,48x48/intl,48x48/mimetypes,48x48/places,48x48/status,64x64/actions,64x64/animations,64x64/apps,64x64/categories,64x64/devices,64x64/emblems,64x64/emotes,64x64/intl,64x64/mimetypes,64x64/places,64x64/status,128x128/actions,128x128/animations,128x128/apps,128x128/categories,128x128/devices,128x128/emblems,128x128/emotes,128x128/intl,128x128/mimetypes,128x128/places,128x128/status,256x256/actions,256x256/apps,256x256/categories,256x256/devices,256x256/mimetypes,256x256/places,256x256/status + +[8x8/emblems] +Size=8 +Context=Emblems +Type=Threshold + +[16x16/actions] +Size=16 +Context=Actions +Type=Threshold + +[16x16/animations] +Size=16 +Context=Animations +Type=Threshold + +[16x16/apps] +Size=16 +Context=Applications +Type=Threshold + +[16x16/categories] +Size=16 +Context=Categories +Type=Threshold + +[16x16/devices] +Size=16 +Context=Devices +Type=Threshold + +[16x16/emblems] +Size=16 +Context=Emblems +Type=Threshold + +[16x16/emotes] +Size=16 +Context=Emotes +Type=Threshold + +[16x16/intl] +Size=16 +Context=International +Type=Threshold + +[16x16/mimetypes] +Size=16 +Context=MimeTypes +Type=Threshold + +[16x16/places] +Size=16 +Context=Places +Type=Threshold + +[16x16/status] +Size=16 +Context=Status +Type=Threshold + +[16x16/special] +Size=16 +Context=Actions +Type=Threshold + +[22x22/actions] +Size=22 +Context=Actions +Type=Threshold + +[22x22/animations] +Size=22 +Context=Animations +Type=Threshold + +[22x22/apps] +Size=22 +Context=Applications +Type=Threshold + +[22x22/categories] +Size=22 +Context=Categories +Type=Threshold + +[22x22/devices] +Size=22 +Context=Devices +Type=Threshold + +[22x22/emblems] +Size=22 +Context=Emblems +Type=Threshold + +[22x22/emotes] +Size=22 +Context=Emotes +Type=Threshold + +[22x22/intl] +Size=22 +Context=International +Type=Threshold + +[22x22/mimetypes] +Size=22 +Context=MimeTypes +Type=Threshold + +[22x22/places] +Size=22 +Context=Places +Type=Threshold + +[22x22/status] +Size=22 +Context=Status +Type=Threshold + +[22x22/special] +Size=22 +Context=Actions +Type=Threshold + +[32x32/actions] +Size=32 +Context=Actions +Type=Threshold + +[32x32/animations] +Size=32 +Context=Animations +Type=Threshold + +[32x32/apps] +Size=32 +Context=Applications +Type=Threshold + +[32x32/categories] +Size=32 +Context=Categories +Type=Threshold + +[32x32/devices] +Size=32 +Context=Devices +Type=Threshold + +[32x32/emblems] +Size=32 +Context=Emblems +Type=Threshold + +[32x32/emotes] +Size=32 +Context=Emotes +Type=Threshold + +[32x32/intl] +Size=32 +Context=International +Type=Threshold + +[32x32/mimetypes] +Size=32 +Context=MimeTypes +Type=Threshold + +[32x32/places] +Size=32 +Context=Places +Type=Threshold + +[32x32/status] +Size=32 +Context=Status +Type=Threshold + +[48x48/actions] +Size=48 +Context=Actions +Type=Threshold + +[48x48/animations] +Size=48 +Context=Animations +Type=Threshold + +[48x48/apps] +Size=48 +Context=Applications +Type=Threshold + +[48x48/categories] +Size=48 +Context=Categories +Type=Threshold + +[48x48/devices] +Size=48 +Context=Devices +Type=Threshold + +[48x48/emblems] +Size=48 +Context=Emblems +Type=Threshold + +[48x48/emotes] +Size=48 +Context=Emotes +Type=Threshold + +[48x48/intl] +Size=48 +Context=International +Type=Threshold + +[48x48/mimetypes] +Size=48 +Context=MimeTypes +Type=Threshold + +[48x48/places] +Size=48 +Context=Places +Type=Threshold + +[48x48/status] +Size=48 +Context=Status +Type=Threshold + +[64x64/actions] +Size=64 +Context=Actions +Type=Threshold + +[64x64/animations] +Size=64 +Context=Animations +Type=Threshold + +[64x64/apps] +Size=64 +Context=Applications +Type=Threshold + +[64x64/categories] +Size=64 +Context=Categories +Type=Threshold + +[64x64/devices] +Size=64 +Context=Devices +Type=Threshold + +[64x64/emblems] +Size=64 +Context=Emblems +Type=Threshold + +[64x64/emotes] +Size=64 +Context=Emotes +Type=Threshold + +[64x64/intl] +Size=64 +Context=International +Type=Threshold + +[64x64/mimetypes] +Size=64 +Context=MimeTypes +Type=Threshold + +[64x64/places] +Size=64 +Context=Places +Type=Threshold + +[64x64/status] +Size=64 +Context=Status +Type=Threshold + +[128x128/actions] +Size=128 +Context=Actions +Type=Threshold + +[128x128/animations] +Size=128 +Context=Animations +Type=Threshold + +[128x128/apps] +Size=128 +Context=Applications +Type=Threshold + +[128x128/categories] +Size=128 +Context=Categories +Type=Threshold + +[128x128/devices] +Size=128 +Context=Devices +Type=Threshold + +[128x128/emblems] +Size=128 +Context=Emblems +Type=Threshold + +[128x128/emotes] +Size=128 +Context=Emotes +Type=Threshold + +[128x128/categories] +Size=128 +Context=Categories +Type=Threshold + +[128x128/intl] +Size=128 +Context=International +Type=Threshold + +[128x128/mimetypes] +Size=128 +Context=MimeTypes +Type=Threshold + +[128x128/places] +Size=128 +Context=Places +Type=Threshold + +[128x128/status] +Size=128 +Context=Status +Type=Threshold + +[256x256/actions] +Size=256 +Context=Actions +Type=Threshold + +[256x256/apps] +Size=256 +Context=Applications +Type=Threshold + +[256x256/categories] +Size=256 +Context=Categories +Type=Threshold + +[256x256/devices] +Size=256 +Context=Devices +Type=Threshold + +[256x256/mimetypes] +Size=256 +Context=MimeTypes +Type=Threshold + +[256x256/places] +Size=256 +Context=Places +Type=Threshold + +[256x256/status] +Size=256 +Context=Status +Type=Threshold Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/application-exit.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/application-exit.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/configure-shortcuts.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/configure-shortcuts.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/configure.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/configure.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/dialog-cancel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/dialog-cancel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/dialog-close.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/dialog-close.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/document-edit.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/document-edit.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/document-encrypt.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/document-encrypt.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/edit-clear-locationbar-ltr.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/edit-clear-locationbar-ltr.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/edit-clear-locationbar-rtl.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/edit-clear-locationbar-rtl.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/edit-copy.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/edit-copy.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/edit-delete.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/edit-delete.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/edit-find.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/edit-find.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/edit-rename.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/edit-rename.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/flag-blue.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/flag-blue.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/format-fill-color.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/format-fill-color.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/format-text-color.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/format-text-color.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/go-down.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/go-down.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/go-next.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/go-next.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/go-next-view.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/go-next-view.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/go-previous.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/go-previous.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/go-previous-view.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/go-previous-view.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/go-up.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/go-up.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/im-ban-kick-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/im-ban-kick-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/im-ban-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/im-ban-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/im-kick-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/im-kick-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/im-user-away.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/im-user-away.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/im-user-offline.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/im-user-offline.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/im-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/im-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/irc-close-channel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/irc-close-channel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/irc-join-channel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/irc-join-channel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/irc-operator.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/irc-operator.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/irc-remove-operator.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/irc-remove-operator.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/irc-unvoice.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/irc-unvoice.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/irc-voice.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/irc-voice.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/list-add.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/list-add.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/list-add-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/list-add-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/list-remove-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/list-remove-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/media-playback-start.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/media-playback-start.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/network-connect.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/network-connect.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/network-disconnect.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/network-disconnect.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/show-menu.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/show-menu.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/tools-report-bug.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/tools-report-bug.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/view-fullscreen.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/view-fullscreen.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/actions/view-refresh.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/actions/view-refresh.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/apps/quassel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/apps/quassel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/devices/network-wired.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/devices/network-wired.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/status/dialog-information.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/status/dialog-information.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/status/irc-channel-active.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/status/irc-channel-active.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/status/irc-channel-inactive.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/status/irc-channel-inactive.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/status/security-high.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/status/security-high.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/status/security-low.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/status/security-low.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen/scalable/status/user-away.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen/scalable/status/user-away.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/128x128/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/128x128/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/application-exit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/application-exit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/configure.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/configure.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/configure-shortcuts.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/configure-shortcuts.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/dialog-cancel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/dialog-cancel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/document-edit.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/document-edit.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/document-encrypt.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/document-encrypt.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/document-open.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/document-open.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/edit-clear-locationbar-ltr.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/edit-clear-locationbar-ltr.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/edit-clear-locationbar-rtl.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/edit-clear-locationbar-rtl.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/edit-copy.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/edit-copy.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/edit-delete.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/edit-delete.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/edit-find.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/edit-find.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/edit-rename.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/edit-rename.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/flag-blue.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/flag-blue.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/format-fill-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/format-fill-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/format-text-bold.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/format-text-bold.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/format-text-color.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/format-text-color.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/format-text-italic.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/format-text-italic.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/format-text-underline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/format-text-underline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/go-down.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/go-down.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/go-next.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/go-next.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/go-next-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/go-next-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/go-previous.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/go-previous.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/go-previous-view.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/go-previous-view.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/go-up.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/go-up.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/help-about.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/help-about.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/im-user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/im-user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/im-user-offline.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/im-user-offline.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/irc-close-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/irc-close-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/irc-join-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/irc-join-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/irc-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/irc-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/irc-remove-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/irc-remove-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/irc-unvoice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/irc-unvoice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/irc-voice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/irc-voice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/list-add.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/list-add.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/media-playback-start.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/media-playback-start.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/network-connect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/network-connect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/network-disconnect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/network-disconnect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/show-menu.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/show-menu.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/tools-report-bug.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/tools-report-bug.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/view-fullscreen.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/view-fullscreen.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/view-refresh.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/view-refresh.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/zoom-in.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/zoom-in.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/zoom-original.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/zoom-original.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/actions/zoom-out.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/actions/zoom-out.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/devices/network-wired.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/devices/network-wired.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/status/security-high.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/status/security-high.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/status/security-low.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/status/security-low.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/16x16/status/user-away.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/16x16/status/user-away.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/22x22/actions/dialog-close.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/22x22/actions/dialog-close.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/22x22/actions/edit-clear-locationbar-rtl.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/22x22/actions/edit-clear-locationbar-rtl.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/22x22/actions/edit-rename.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/22x22/actions/edit-rename.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/22x22/actions/list-add-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/22x22/actions/list-add-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/22x22/actions/list-remove-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/22x22/actions/list-remove-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/22x22/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/22x22/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/32x32/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/32x32/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/im-ban-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/im-ban-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/im-ban-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/im-ban-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/im-kick-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/im-kick-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/im-user.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/im-user.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/irc-close-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/irc-close-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/irc-join-channel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/irc-join-channel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/irc-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/irc-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/irc-remove-operator.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/irc-remove-operator.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/irc-unvoice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/irc-unvoice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/irc-voice.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/irc-voice.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/mail-message-new.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/mail-message-new.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/network-connect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/network-connect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/actions/network-disconnect.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/actions/network-disconnect.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/48x48/status/dialog-information.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/48x48/status/dialog-information.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/64x64/apps/quassel.png and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/64x64/apps/quassel.png differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/application-exit.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/application-exit.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/configure-shortcuts.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/configure-shortcuts.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/configure.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/configure.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/dialog-cancel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/dialog-cancel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/dialog-close.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/dialog-close.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/document-edit.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/document-edit.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/document-encrypt.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/document-encrypt.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/edit-clear-locationbar-ltr.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/edit-clear-locationbar-ltr.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/edit-clear-locationbar-rtl.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/edit-clear-locationbar-rtl.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/edit-copy.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/edit-copy.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/edit-delete.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/edit-delete.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/edit-find.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/edit-find.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/edit-rename.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/edit-rename.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/flag-blue.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/flag-blue.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/format-fill-color.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/format-fill-color.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/format-text-color.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/format-text-color.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/go-down.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/go-down.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/go-next.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/go-next.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/go-next-view.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/go-next-view.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/go-previous.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/go-previous.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/go-previous-view.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/go-previous-view.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/go-up.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/go-up.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/im-ban-kick-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/im-ban-kick-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/im-ban-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/im-ban-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/im-kick-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/im-kick-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/im-user-away.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/im-user-away.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/im-user-offline.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/im-user-offline.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/im-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/im-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/irc-close-channel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/irc-close-channel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/irc-join-channel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/irc-join-channel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/irc-operator.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/irc-operator.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/irc-remove-operator.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/irc-remove-operator.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/irc-unvoice.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/irc-unvoice.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/irc-voice.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/irc-voice.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/list-add.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/list-add.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/list-add-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/list-add-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/list-remove-user.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/list-remove-user.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/media-playback-start.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/media-playback-start.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/network-connect.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/network-connect.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/network-disconnect.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/network-disconnect.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/show-menu.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/show-menu.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/tools-report-bug.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/tools-report-bug.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/view-fullscreen.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/view-fullscreen.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/actions/view-refresh.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/actions/view-refresh.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/apps/quassel.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/apps/quassel.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/devices/network-wired.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/devices/network-wired.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/status/dialog-information.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/status/dialog-information.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/status/security-high.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/status/security-high.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/status/security-low.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/status/security-low.svgz differ Binary files /tmp/jyOYKe1NwV/quassel-0.11.0/icons/oxygen_kde/scalable/status/user-away.svgz and /tmp/mPjd5auPuJ/quassel-0.12~beta1/icons/oxygen_kde/scalable/status/user-away.svgz differ diff -Nru quassel-0.11.0/icons/oxygen_kde.qrc quassel-0.12~beta1/icons/oxygen_kde.qrc --- quassel-0.11.0/icons/oxygen_kde.qrc 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/oxygen_kde.qrc 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ - - - oxygen_kde/16x16/actions/im-kick-user.png - oxygen_kde/16x16/actions/im-ban-kick-user.png - oxygen_kde/16x16/actions/irc-operator.png - oxygen_kde/16x16/actions/edit-copy.png - oxygen_kde/16x16/actions/irc-voice.png - oxygen_kde/16x16/actions/im-ban-user.png - oxygen_kde/16x16/actions/edit-clear-locationbar-rtl.png - oxygen_kde/16x16/actions/format-fill-color.png - oxygen_kde/16x16/actions/dialog-cancel.png - oxygen_kde/16x16/actions/format-text-bold.png - oxygen_kde/16x16/actions/flag-blue.png - oxygen_kde/16x16/actions/im-user.png - oxygen_kde/16x16/actions/go-next-view.png - oxygen_kde/16x16/actions/edit-find.png - oxygen_kde/16x16/actions/media-playback-start.png - oxygen_kde/16x16/actions/configure-shortcuts.png - oxygen_kde/16x16/actions/tools-report-bug.png - oxygen_kde/16x16/actions/network-disconnect.png - oxygen_kde/16x16/actions/format-text-italic.png - oxygen_kde/16x16/actions/irc-remove-operator.png - oxygen_kde/16x16/actions/irc-close-channel.png - oxygen_kde/16x16/actions/irc-join-channel.png - oxygen_kde/16x16/actions/go-up.png - oxygen_kde/16x16/actions/help-about.png - oxygen_kde/16x16/actions/view-fullscreen.png - oxygen_kde/16x16/actions/format-text-color.png - oxygen_kde/16x16/actions/mail-message-new.png - oxygen_kde/16x16/actions/zoom-in.png - oxygen_kde/16x16/actions/im-user-offline.png - oxygen_kde/16x16/actions/edit-clear-locationbar-ltr.png - oxygen_kde/16x16/actions/edit-rename.png - oxygen_kde/16x16/actions/view-refresh.png - oxygen_kde/16x16/actions/configure.png - oxygen_kde/16x16/actions/zoom-out.png - oxygen_kde/16x16/actions/go-previous.png - oxygen_kde/16x16/actions/im-user-away.png - oxygen_kde/16x16/actions/document-edit.png - oxygen_kde/16x16/actions/format-text-underline.png - oxygen_kde/16x16/actions/zoom-original.png - oxygen_kde/16x16/actions/show-menu.png - oxygen_kde/16x16/actions/go-previous-view.png - oxygen_kde/16x16/actions/document-open.png - oxygen_kde/16x16/actions/network-connect.png - oxygen_kde/16x16/actions/document-encrypt.png - oxygen_kde/16x16/actions/go-down.png - oxygen_kde/16x16/actions/list-add.png - oxygen_kde/16x16/actions/go-next.png - oxygen_kde/16x16/actions/edit-delete.png - oxygen_kde/16x16/actions/irc-unvoice.png - oxygen_kde/16x16/actions/application-exit.png - oxygen_kde/16x16/status/user-away.png - oxygen_kde/16x16/status/security-high.png - oxygen_kde/16x16/status/dialog-information.png - oxygen_kde/16x16/status/security-low.png - oxygen_kde/16x16/apps/quassel.png - oxygen_kde/16x16/devices/network-wired.png - oxygen_kde/48x48/actions/im-kick-user.png - oxygen_kde/48x48/actions/im-ban-kick-user.png - oxygen_kde/48x48/actions/irc-operator.png - oxygen_kde/48x48/actions/irc-voice.png - oxygen_kde/48x48/actions/im-ban-user.png - oxygen_kde/48x48/actions/im-user.png - oxygen_kde/48x48/actions/network-disconnect.png - oxygen_kde/48x48/actions/irc-remove-operator.png - oxygen_kde/48x48/actions/irc-close-channel.png - oxygen_kde/48x48/actions/irc-join-channel.png - oxygen_kde/48x48/actions/mail-message-new.png - oxygen_kde/48x48/actions/network-connect.png - oxygen_kde/48x48/actions/irc-unvoice.png - oxygen_kde/48x48/status/dialog-information.png - oxygen_kde/48x48/apps/quassel.png - oxygen_kde/128x128/apps/quassel.png - oxygen_kde/22x22/actions/edit-clear-locationbar-rtl.png - oxygen_kde/22x22/actions/dialog-close.png - oxygen_kde/22x22/actions/edit-rename.png - oxygen_kde/22x22/actions/list-add-user.png - oxygen_kde/22x22/actions/list-remove-user.png - oxygen_kde/22x22/apps/quassel.png - oxygen_kde/32x32/apps/quassel.png - oxygen_kde/64x64/apps/quassel.png - - diff -Nru quassel-0.11.0/icons/oxygen.qrc quassel-0.12~beta1/icons/oxygen.qrc --- quassel-0.11.0/icons/oxygen.qrc 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/oxygen.qrc 2015-02-18 21:09:54.000000000 +0000 @@ -1,6 +1,291 @@ - oxygen/16x16/status/irc-channel-inactive.png - oxygen/16x16/status/irc-channel-active.png + oxygen/index.theme + oxygen/22x22/actions/irc-voice.png + oxygen/22x22/actions/go-next.png + oxygen/22x22/actions/im-user.png + oxygen/22x22/actions/im-ban-kick-user.png + oxygen/22x22/actions/application-exit.png + oxygen/22x22/actions/go-previous.png + oxygen/22x22/actions/list-remove-user.png + oxygen/22x22/actions/dialog-close.png + oxygen/22x22/actions/irc-close-channel.png + oxygen/22x22/actions/mail-message-new.png + oxygen/22x22/actions/media-playback-start.png + oxygen/22x22/actions/document-edit.png + oxygen/22x22/actions/show-menu.png + oxygen/22x22/actions/go-next-view.png + oxygen/22x22/actions/document-open.png + oxygen/22x22/actions/dialog-cancel.png + oxygen/22x22/actions/edit-delete.png + oxygen/22x22/actions/edit-clear-locationbar-ltr.png + oxygen/22x22/actions/edit-copy.png + oxygen/22x22/actions/list-add-user.png + oxygen/22x22/actions/network-disconnect.png + oxygen/22x22/actions/network-connect.png + oxygen/22x22/actions/irc-remove-operator.png + oxygen/22x22/actions/view-refresh.png + oxygen/22x22/actions/format-text-color.png + oxygen/22x22/actions/irc-unvoice.png + oxygen/22x22/actions/im-kick-user.png + oxygen/22x22/actions/irc-operator.png + oxygen/22x22/actions/configure-shortcuts.png + oxygen/22x22/actions/format-list-unordered.png + oxygen/22x22/actions/irc-join-channel.png + oxygen/22x22/actions/format-fill-color.png + oxygen/22x22/actions/help-about.png + oxygen/22x22/actions/list-add.png + oxygen/22x22/actions/format-text-italic.png + oxygen/22x22/actions/go-up.png + oxygen/22x22/actions/zoom-in.png + oxygen/22x22/actions/edit-clear-locationbar-rtl.png + oxygen/22x22/actions/tools-report-bug.png + oxygen/22x22/actions/im-user-offline.png + oxygen/22x22/actions/view-fullscreen.png + oxygen/22x22/actions/format-text-bold.png + oxygen/22x22/actions/zoom-out.png + oxygen/22x22/actions/flag-blue.png + oxygen/22x22/actions/document-encrypt.png + oxygen/22x22/actions/go-down.png + oxygen/22x22/actions/zoom-original.png + oxygen/22x22/actions/edit-rename.png + oxygen/22x22/actions/im-user-away.png + oxygen/22x22/actions/configure.png + oxygen/22x22/actions/format-text-underline.png + oxygen/22x22/actions/edit-find.png + oxygen/22x22/actions/im-ban-user.png + oxygen/22x22/actions/go-previous-view.png + oxygen/22x22/devices/network-wired.png + oxygen/22x22/apps/quassel.png + oxygen/22x22/status/dialog-information.png + oxygen/22x22/status/security-low.png + oxygen/22x22/status/user-away.png + oxygen/22x22/status/security-high.png + oxygen/32x32/actions/go-next-view.png + oxygen/32x32/actions/go-up.png + oxygen/32x32/actions/list-add.png + oxygen/32x32/actions/format-fill-color.png + oxygen/32x32/actions/go-next.png + oxygen/32x32/actions/im-user.png + oxygen/32x32/actions/go-previous-view.png + oxygen/32x32/actions/edit-copy.png + oxygen/32x32/actions/view-refresh.png + oxygen/32x32/actions/network-connect.png + oxygen/32x32/actions/zoom-out.png + oxygen/32x32/actions/im-ban-kick-user.png + oxygen/32x32/actions/application-exit.png + oxygen/32x32/actions/network-disconnect.png + oxygen/32x32/actions/list-remove-user.png + oxygen/32x32/actions/im-kick-user.png + oxygen/32x32/actions/irc-operator.png + oxygen/32x32/actions/edit-rename.png + oxygen/32x32/actions/edit-clear-locationbar-rtl.png + oxygen/32x32/actions/mail-message-new.png + oxygen/32x32/actions/document-edit.png + oxygen/32x32/actions/im-ban-user.png + oxygen/32x32/actions/document-open.png + oxygen/32x32/actions/format-list-unordered.png + oxygen/32x32/actions/dialog-cancel.png + oxygen/32x32/actions/format-text-italic.png + oxygen/32x32/actions/list-add-user.png + oxygen/32x32/actions/go-previous.png + oxygen/32x32/actions/flag-blue.png + oxygen/32x32/actions/irc-remove-operator.png + oxygen/32x32/actions/im-user-offline.png + oxygen/32x32/actions/view-fullscreen.png + oxygen/32x32/actions/configure.png + oxygen/32x32/actions/irc-close-channel.png + oxygen/32x32/actions/im-user-away.png + oxygen/32x32/actions/edit-find.png + oxygen/32x32/actions/media-playback-start.png + oxygen/32x32/actions/help-about.png + oxygen/32x32/actions/configure-shortcuts.png + oxygen/32x32/actions/irc-join-channel.png + oxygen/32x32/actions/zoom-in.png + oxygen/32x32/actions/edit-delete.png + oxygen/32x32/actions/irc-voice.png + oxygen/32x32/actions/format-text-underline.png + oxygen/32x32/actions/go-down.png + oxygen/32x32/actions/irc-unvoice.png + oxygen/32x32/actions/tools-report-bug.png + oxygen/32x32/actions/dialog-close.png + oxygen/32x32/actions/format-text-color.png + oxygen/32x32/actions/edit-clear-locationbar-ltr.png + oxygen/32x32/actions/zoom-original.png + oxygen/32x32/actions/format-text-bold.png + oxygen/32x32/actions/document-encrypt.png + oxygen/32x32/actions/show-menu.png + oxygen/32x32/devices/network-wired.png + oxygen/32x32/apps/quassel.png + oxygen/32x32/status/user-away.png + oxygen/32x32/status/dialog-information.png + oxygen/32x32/status/security-high.png + oxygen/32x32/status/security-low.png + oxygen/16x16/actions/edit-delete.png + oxygen/16x16/actions/im-user-offline.png + oxygen/16x16/actions/view-fullscreen.png + oxygen/16x16/actions/im-user.png + oxygen/16x16/actions/go-next.png + oxygen/16x16/actions/show-menu.png + oxygen/16x16/actions/list-add.png + oxygen/16x16/actions/edit-clear-locationbar-ltr.png + oxygen/16x16/actions/irc-unvoice.png + oxygen/16x16/actions/format-text-italic.png + oxygen/16x16/actions/dialog-close.png + oxygen/16x16/actions/edit-copy.png + oxygen/16x16/actions/irc-close-channel.png + oxygen/16x16/actions/zoom-out.png + oxygen/16x16/actions/irc-join-channel.png + oxygen/16x16/actions/format-list-unordered.png + oxygen/16x16/actions/zoom-original.png + oxygen/16x16/actions/go-next-view.png + oxygen/16x16/actions/irc-remove-operator.png + oxygen/16x16/actions/tools-report-bug.png + oxygen/16x16/actions/configure-shortcuts.png + oxygen/16x16/actions/edit-clear-locationbar-rtl.png + oxygen/16x16/actions/view-refresh.png + oxygen/16x16/actions/format-text-bold.png + oxygen/16x16/actions/media-playback-start.png + oxygen/16x16/actions/document-encrypt.png + oxygen/16x16/actions/format-text-color.png + oxygen/16x16/actions/edit-rename.png + oxygen/16x16/actions/im-kick-user.png + oxygen/16x16/actions/irc-operator.png + oxygen/16x16/actions/im-ban-user.png + oxygen/16x16/actions/go-previous-view.png + oxygen/16x16/actions/format-text-underline.png + oxygen/16x16/actions/flag-blue.png + oxygen/16x16/actions/network-connect.png + oxygen/16x16/actions/format-fill-color.png + oxygen/16x16/actions/document-edit.png + oxygen/16x16/actions/zoom-in.png + oxygen/16x16/actions/go-previous.png + oxygen/16x16/actions/configure.png + oxygen/16x16/actions/im-ban-kick-user.png + oxygen/16x16/actions/application-exit.png + oxygen/16x16/actions/document-open.png + oxygen/16x16/actions/list-remove-user.png + oxygen/16x16/actions/edit-find.png + oxygen/16x16/actions/dialog-cancel.png + oxygen/16x16/actions/go-down.png + oxygen/16x16/actions/list-add-user.png + oxygen/16x16/actions/mail-message-new.png + oxygen/16x16/actions/help-about.png + oxygen/16x16/actions/network-disconnect.png + oxygen/16x16/actions/irc-voice.png + oxygen/16x16/actions/go-up.png + oxygen/16x16/actions/im-user-away.png + oxygen/16x16/devices/network-wired.png + oxygen/16x16/apps/quassel.png + oxygen/16x16/status/security-low.png + oxygen/16x16/status/user-away.png + oxygen/16x16/status/security-high.png + oxygen/16x16/status/dialog-information.png + oxygen/64x64/actions/list-add-user.png + oxygen/64x64/actions/im-user-away.png + oxygen/64x64/actions/configure.png + oxygen/64x64/actions/im-user-offline.png + oxygen/64x64/actions/go-next.png + oxygen/64x64/actions/im-user.png + oxygen/64x64/actions/go-up.png + oxygen/64x64/actions/im-ban-kick-user.png + oxygen/64x64/actions/edit-find.png + oxygen/64x64/actions/application-exit.png + oxygen/64x64/actions/go-down.png + oxygen/64x64/actions/go-previous.png + oxygen/64x64/actions/im-ban-user.png + oxygen/64x64/actions/im-kick-user.png + oxygen/64x64/actions/document-edit.png + oxygen/64x64/actions/tools-report-bug.png + oxygen/64x64/devices/network-wired.png + oxygen/64x64/apps/quassel.png + oxygen/64x64/status/security-high.png + oxygen/64x64/status/security-low.png + oxygen/64x64/status/user-away.png + oxygen/64x64/status/dialog-information.png + oxygen/128x128/actions/mail-message-new.png + oxygen/128x128/actions/im-ban-kick-user.png + oxygen/128x128/actions/document-edit.png + oxygen/128x128/actions/im-user-offline.png + oxygen/128x128/actions/application-exit.png + oxygen/128x128/actions/im-user.png + oxygen/128x128/actions/go-next.png + oxygen/128x128/actions/im-kick-user.png + oxygen/128x128/actions/go-down.png + oxygen/128x128/actions/list-add-user.png + oxygen/128x128/actions/im-ban-user.png + oxygen/128x128/actions/go-previous.png + oxygen/128x128/actions/configure.png + oxygen/128x128/actions/tools-report-bug.png + oxygen/128x128/actions/im-user-away.png + oxygen/128x128/actions/go-up.png + oxygen/128x128/actions/edit-find.png + oxygen/128x128/devices/network-wired.png + oxygen/128x128/apps/quassel.png + oxygen/128x128/status/security-high.png + oxygen/128x128/status/security-low.png + oxygen/128x128/status/dialog-information.png + oxygen/48x48/actions/document-open.png + oxygen/48x48/actions/configure-shortcuts.png + oxygen/48x48/actions/go-next.png + oxygen/48x48/actions/im-user.png + oxygen/48x48/actions/flag-blue.png + oxygen/48x48/actions/dialog-cancel.png + oxygen/48x48/actions/list-add-user.png + oxygen/48x48/actions/configure.png + oxygen/48x48/actions/edit-find.png + oxygen/48x48/actions/irc-join-channel.png + oxygen/48x48/actions/edit-clear-locationbar-ltr.png + oxygen/48x48/actions/dialog-close.png + oxygen/48x48/actions/network-disconnect.png + oxygen/48x48/actions/list-add.png + oxygen/48x48/actions/irc-voice.png + oxygen/48x48/actions/format-list-unordered.png + oxygen/48x48/actions/media-playback-start.png + oxygen/48x48/actions/tools-report-bug.png + oxygen/48x48/actions/go-next-view.png + oxygen/48x48/actions/edit-rename.png + oxygen/48x48/actions/network-connect.png + oxygen/48x48/actions/irc-close-channel.png + oxygen/48x48/actions/go-up.png + oxygen/48x48/actions/format-text-bold.png + oxygen/48x48/actions/zoom-out.png + oxygen/48x48/actions/document-encrypt.png + oxygen/48x48/actions/im-ban-user.png + oxygen/48x48/actions/show-menu.png + oxygen/48x48/actions/help-about.png + oxygen/48x48/actions/view-refresh.png + oxygen/48x48/actions/format-text-italic.png + oxygen/48x48/actions/go-previous.png + oxygen/48x48/actions/zoom-original.png + oxygen/48x48/actions/go-previous-view.png + oxygen/48x48/actions/im-kick-user.png + oxygen/48x48/actions/edit-clear-locationbar-rtl.png + oxygen/48x48/actions/irc-operator.png + oxygen/48x48/actions/edit-copy.png + oxygen/48x48/actions/format-text-color.png + oxygen/48x48/actions/zoom-in.png + oxygen/48x48/actions/format-text-underline.png + oxygen/48x48/actions/im-ban-kick-user.png + oxygen/48x48/actions/application-exit.png + oxygen/48x48/actions/list-remove-user.png + oxygen/48x48/actions/im-user-offline.png + oxygen/48x48/actions/view-fullscreen.png + oxygen/48x48/actions/mail-message-new.png + oxygen/48x48/actions/go-down.png + oxygen/48x48/actions/edit-delete.png + oxygen/48x48/actions/format-fill-color.png + oxygen/48x48/actions/irc-remove-operator.png + oxygen/48x48/actions/irc-unvoice.png + oxygen/48x48/actions/document-edit.png + oxygen/48x48/actions/im-user-away.png + oxygen/48x48/devices/network-wired.png + oxygen/48x48/apps/quassel.png + oxygen/48x48/status/user-away.png + oxygen/48x48/status/dialog-information.png + oxygen/48x48/status/security-high.png + oxygen/48x48/status/security-low.png + oxygen/256x256/devices/network-wired.png + oxygen/256x256/apps/quassel.png diff -Nru quassel-0.11.0/icons/README.Oxygen quassel-0.12~beta1/icons/README.Oxygen --- quassel-0.11.0/icons/README.Oxygen 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/icons/README.Oxygen 2015-02-18 21:09:54.000000000 +0000 @@ -1,15 +1,15 @@ -The icons found in oxygen and oxygen_kde are a stripped version of the Oxygen +The icons found in the oxygen directory are a stripped version of the Oxygen icon theme, part of KDE4, as found in KDE's svn. We have removed the parts of the theme we don't use in order to conserve space in our own repository and to make downloads smaller. The icons found here have been imported from: -svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/runtime/pics/oxygen -Revision: 1017094 +svn://anonsvn.kde.org/home/kde/trunk/kdesupport/oxygen-icons +Revision: 1394510 We, the authors of Quassel IRC, do solely distribute this icon set (or parts thereof), we are not involved in creating/editing/maintaining it. Please see -the appropriate files, in particular AUTHORS and COPYING, in this directory. +the appropriate files, in particular AUTHORS and COPYING, in the oxygen directory. All icon files in this directory were copied verbatim and not modified by us. We would like to thank the Oxygen team for creating such terrific artwork, diff -Nru quassel-0.11.0/INSTALL quassel-0.12~beta1/INSTALL --- quassel-0.11.0/INSTALL 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/INSTALL 2015-02-18 21:09:54.000000000 +0000 @@ -27,14 +27,14 @@ fairly recent compiler: - gcc 4.7+ (available for most platforms), or -- Clang 3.2+ (available for most platforms, or +- Clang 3.2+ (available for most platforms), or - XCode 4.6+ (available for Max OS X and based on Clang), or -- Visual C++ 2013 (available for Windows™), or +- Visual C++ Nov 2013 CTP (available for Windows™), or - any other compiler with decent C++11 support -Furthermore, CMake 2.8.9 or later is required. +Furthermore, CMake 2.8.9 or later is required (2.8.12 for KDE Frameworks). -As Quassel is a Qt application, you need the Qt SDK, either Qt 4.6+ or Qt 5.2+. +As Quassel is a Qt application, you need the Qt SDK, either Qt 4.8+ or Qt 5.2+. There are several optional dependencies; we will talk about that later. @@ -58,7 +58,7 @@ in a separate build directory rather than in-source. That way, your source checkout remains pristine, and you can easily remove any build artifacts by just deleting the build directory. This directory can be located anywhere; in the -short example above, we just created a directory called "build" inside the +short example above, we've just created a directory called "build" inside the source checkout. From inside the build directory, you can then run the "cmake" command, followed @@ -80,7 +80,7 @@ things may happen. -DWITH_KDE=ON - Enable integration into KDE4; only available if -DUSE_QT5=OFF + Enable integration into KDE4 (with Qt4) or KDE Frameworks (with Qt5). -DWITH_OXYGEN=(ON|OFF) Install the parts of the Oxygen icon set Quassel uses. Oxygen is the default @@ -92,7 +92,8 @@ -DWITH_WEBKIT=OFF Use Webkit for showing previews of webpages linked in the chat. Requires the QtWebkit module to be available, and increases the client's RAM usage - by *a lot* if enabled at runtime. + by *a lot* if enabled at runtime. Note also that Webkit frequently crashes + especially on Windows. -DEMBED_DATA=(ON|OFF) Specifies whether Quassel's data files (icons, translations and so on) diff -Nru quassel-0.11.0/po/CMakeLists.txt quassel-0.12~beta1/po/CMakeLists.txt --- quassel-0.11.0/po/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/po/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -64,7 +64,7 @@ if(EMBED_DATA) set(COMMON_RCS ${COMMON_RCS} ${resfile} PARENT_SCOPE) else(EMBED_DATA) - install(FILES ${qm_files} DESTINATION ${DATA_INSTALL_DIR}/quassel/translations) + install(FILES ${qm_files} DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/translations) endif(EMBED_DATA) add_custom_target(po DEPENDS ${qm_files}) diff -Nru quassel-0.11.0/scripts/build/macosx_DeployApp.py quassel-0.12~beta1/scripts/build/macosx_DeployApp.py --- quassel-0.11.0/scripts/build/macosx_DeployApp.py 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/scripts/build/macosx_DeployApp.py 2015-02-18 21:09:54.000000000 +0000 @@ -15,22 +15,35 @@ # ============================== import sys import os +import os.path from subprocess import Popen, PIPE +# ============================== +# Constants +# ============================== +QT_CONFIG = """[Paths] + Plugins = plugins +""" + +QT_CONFIG_NOBUNDLE = """[Paths] + Prefix = ../ + Plugins = plugins +""" + + + + class InstallQt(object): - def __init__(self, appdir, bundle = True): + def __init__(self, appdir, bundle = True, requestedPlugins=[]): self.appDir = appdir self.bundle = bundle + self.frameworkDir = self.appDir + "/Frameworks" + self.pluginDir = self.appDir + "/plugins" self.executableDir = self.appDir if bundle: self.executableDir += "/MacOS" - if bundle: - self.frameworkDir = self.appDir + "/Frameworks" - else: - self.frameworkDir = self.executableDir + "/Frameworks" - self.installedFrameworks = set() self.findFrameworkPath() @@ -39,17 +52,103 @@ for executable in executables: self.resolveDependancies(executable) + + self.findPluginsPath() + self.installPlugins(requestedPlugins) + self.installQtConf() + + def qtProperty(self, qtProperty): + """ + Query persistent property of Qt via qmake + """ + VALID_PROPERTIES = ['QT_INSTALL_PREFIX', + 'QT_INSTALL_DATA', + 'QT_INSTALL_DOCS', + 'QT_INSTALL_HEADERS', + 'QT_INSTALL_LIBS', + 'QT_INSTALL_BINS', + 'QT_INSTALL_PLUGINS', + 'QT_INSTALL_IMPORTS', + 'QT_INSTALL_TRANSLATIONS', + 'QT_INSTALL_CONFIGURATION', + 'QT_INSTALL_EXAMPLES', + 'QT_INSTALL_DEMOS', + 'QMAKE_MKSPECS', + 'QMAKE_VERSION', + 'QT_VERSION' + ] + if qtProperty not in VALID_PROPERTIES: + return None + + qmakeProcess = Popen('qmake -query %s' % qtProperty, shell=True, stdout=PIPE, stderr=PIPE) + result = qmakeProcess.stdout.read().strip() + qmakeProcess.stdout.close() + qmakeProcess.wait() + return result + def findFrameworkPath(self): - qmakeProcess = Popen('qmake -query QT_INSTALL_LIBS', shell=True, stdout=PIPE, stderr=PIPE) - self.sourceFrameworkPath = qmakeProcess.stdout.read().strip() + self.sourceFrameworkPath = self.qtProperty('QT_INSTALL_LIBS') + + def findPluginsPath(self): + self.sourcePluginsPath = self.qtProperty('QT_INSTALL_PLUGINS') + + def findPlugin(self, pluginname): + qmakeProcess = Popen('find %s -name %s' % (self.sourcePluginsPath, pluginname), shell=True, stdout=PIPE, stderr=PIPE) + result = qmakeProcess.stdout.read().strip() qmakeProcess.stdout.close() qmakeProcess.wait() + if not result: + raise OSError + return result + + + def installPlugins(self, requestedPlugins): + try: + os.mkdir(self.pluginDir) + except: + pass + + for plugin in requestedPlugins: + if not plugin.isalnum(): + print "Skipping library '%s'..." % plugin + continue + + pluginName = "lib%s.dylib" % plugin + pluginSource = '' + try: + pluginSource = self.findPlugin(pluginName) + except OSError: + print "WARNING: Requested library does not exist: '%s'" % plugin + continue + + pluginSubDir = os.path.dirname(pluginSource) + pluginSubDir = pluginSubDir.replace(self.sourcePluginsPath, '').strip('/') + try: + os.mkdir("%s/%s" % (self.pluginDir, pluginSubDir)) + except OSError: + pass + + os.system('cp "%s" "%s/%s"' % (pluginSource, self.pluginDir, pluginSubDir)) + + self.resolveDependancies("%s/%s/%s" % (self.pluginDir, pluginSubDir, pluginName)) + + def installQtConf(self): + qtConfName = self.appDir + "/qt.conf" + qtConfContent = QT_CONFIG_NOBUNDLE + if self.bundle: + qtConfContent = QT_CONFIG + qtConfName = self.appDir + "/Resources/qt.conf" + + qtConf = open(qtConfName, 'w') + qtConf.write(qtConfContent) + qtConf.close() def resolveDependancies(self, obj): # obj must be either an application binary or a framework library + #print "resolving deps for:", obj for framework, lib in self.determineDependancies(obj): self.installFramework(framework) - self.changeDylPath(obj, lib) + self.changeDylPath(obj, framework, lib) def installFramework(self, framework): # skip if framework is already installed. @@ -106,33 +205,40 @@ or "phonon" in line) and not "@executable_path" in line] frameworks = [lib[:lib.find(".framework")+len(".framework")] for lib in libs] + frameworks = [framework[framework.rfind('/')+1:] for framework in frameworks] return zip(frameworks, libs) - def changeDylPath(self, obj, lib): + def changeDylPath(self, obj, framework, lib): + newlibname = framework + lib.split(framework)[1] if self.bundle: - newlibname = "@executable_path/../Frameworks/%s" % lib + newlibname = "@executable_path/../Frameworks/%s" % newlibname else: - newlibname = "@executable_path/Frameworks/%s" % lib + newlibname = "@executable_path/Frameworks/%s" % newlibname #print 'install_name_tool -change "%s" "%s" "%s"' % (lib, newlibname, obj) os.system('install_name_tool -change "%s" "%s" "%s"' % (lib, newlibname, obj)) if __name__ == "__main__": if len(sys.argv) < 2: - print "Wrong Argument Count (Syntax: %s [--nobundle] $TARGET_APP)" % sys.argv[0] + print "Wrong Argument Count (Syntax: %s [--nobundle] [--plugins=plugin1,plugin2,...] $TARGET_APP)" % sys.argv[0] sys.exit(1) else: bundle = True + plugins = [] offset = 1 - if sys.argv[1].startswith("--"): - offset = 2 - if sys.argv[1] == "--nobundle": + while offset < len(sys.argv) and sys.argv[offset].startswith("--"): + if sys.argv[offset] == "--nobundle": bundle = False + if sys.argv[offset].startswith("--plugins="): + plugins = sys.argv[offset].split('=')[1].split(',') + + offset += 1 + targetDir = sys.argv[offset] if bundle: targetDir += "/Contents" - InstallQt(targetDir, bundle) + InstallQt(targetDir, bundle, plugins) diff -Nru quassel-0.11.0/scripts/build/macosx_makePackage.sh quassel-0.12~beta1/scripts/build/macosx_makePackage.sh --- quassel-0.11.0/scripts/build/macosx_makePackage.sh 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/scripts/build/macosx_makePackage.sh 2015-02-18 21:09:54.000000000 +0000 @@ -13,7 +13,7 @@ # care to interpret leading and trailing ":" as meaning # the current directory; the same is true for "::" within # the PATH. - + # Replace leading : with . in PATH, store in p p=${PATH/#:/.:} # Replace trailing : with . @@ -57,15 +57,15 @@ case $BUILDTYPE in "Client") cp -r ${WORKINGDIR}Quassel\ Client.app ${PACKAGETMPDIR}/ - ${SCRIPTDIR}/macosx_DeployApp.py "${PACKAGETMPDIR}/Quassel Client.app" + ${SCRIPTDIR}/macosx_DeployApp.py --plugins=qcocoa "${PACKAGETMPDIR}/Quassel Client.app" ;; "Core") cp ${WORKINGDIR}quasselcore ${PACKAGETMPDIR}/ - ${SCRIPTDIR}/macosx_DeployApp.py --nobundle ${PACKAGETMPDIR} + ${SCRIPTDIR}/macosx_DeployApp.py --nobundle --plugins=qsqlite,qsqlpsql ${PACKAGETMPDIR} ;; "Mono") cp -r ${WORKINGDIR}Quassel.app ${PACKAGETMPDIR}/ - ${SCRIPTDIR}/macosx_DeployApp.py "${PACKAGETMPDIR}/Quassel.app" + ${SCRIPTDIR}/macosx_DeployApp.py --plugins=qsqlite,qsqlpsql,qcocoa "${PACKAGETMPDIR}/Quassel.app" ;; *) echo >&2 "Valid parameters are \"Client\", \"Core\", or \"Mono\"." diff -Nru quassel-0.11.0/src/client/abstractmessageprocessor.cpp quassel-0.12~beta1/src/client/abstractmessageprocessor.cpp --- quassel-0.11.0/src/client/abstractmessageprocessor.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/abstractmessageprocessor.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/abstractmessageprocessor.h quassel-0.12~beta1/src/client/abstractmessageprocessor.h --- quassel-0.11.0/src/client/abstractmessageprocessor.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/abstractmessageprocessor.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/abstractui.h quassel-0.12~beta1/src/client/abstractui.h --- quassel-0.11.0/src/client/abstractui.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/abstractui.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/backlogrequester.cpp quassel-0.12~beta1/src/client/backlogrequester.cpp --- quassel-0.11.0/src/client/backlogrequester.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/backlogrequester.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/backlogrequester.h quassel-0.12~beta1/src/client/backlogrequester.h --- quassel-0.11.0/src/client/backlogrequester.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/backlogrequester.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/backlogsettings.h quassel-0.12~beta1/src/client/backlogsettings.h --- quassel-0.11.0/src/client/backlogsettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/backlogsettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/buffermodel.cpp quassel-0.12~beta1/src/client/buffermodel.cpp --- quassel-0.11.0/src/client/buffermodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/buffermodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/buffermodel.h quassel-0.12~beta1/src/client/buffermodel.h --- quassel-0.11.0/src/client/buffermodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/buffermodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/buffersettings.cpp quassel-0.12~beta1/src/client/buffersettings.cpp --- quassel-0.11.0/src/client/buffersettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/buffersettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/buffersettings.h quassel-0.12~beta1/src/client/buffersettings.h --- quassel-0.11.0/src/client/buffersettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/buffersettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/bufferviewoverlay.cpp quassel-0.12~beta1/src/client/bufferviewoverlay.cpp --- quassel-0.11.0/src/client/bufferviewoverlay.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/bufferviewoverlay.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/bufferviewoverlay.h quassel-0.12~beta1/src/client/bufferviewoverlay.h --- quassel-0.11.0/src/client/bufferviewoverlay.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/bufferviewoverlay.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientaliasmanager.cpp quassel-0.12~beta1/src/client/clientaliasmanager.cpp --- quassel-0.11.0/src/client/clientaliasmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientaliasmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientaliasmanager.h quassel-0.12~beta1/src/client/clientaliasmanager.h --- quassel-0.11.0/src/client/clientaliasmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientaliasmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientauthhandler.cpp quassel-0.12~beta1/src/client/clientauthhandler.cpp --- quassel-0.11.0/src/client/clientauthhandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientauthhandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -169,6 +169,7 @@ _probing = true; QDataStream stream(socket()); // stream handles the endianness for us + stream.setVersion(QDataStream::Qt_4_2); quint32 magic = Protocol::magic; #ifdef HAVE_SSL diff -Nru quassel-0.11.0/src/client/clientauthhandler.h quassel-0.12~beta1/src/client/clientauthhandler.h --- quassel-0.11.0/src/client/clientauthhandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientauthhandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientbacklogmanager.cpp quassel-0.12~beta1/src/client/clientbacklogmanager.cpp --- quassel-0.11.0/src/client/clientbacklogmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientbacklogmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientbacklogmanager.h quassel-0.12~beta1/src/client/clientbacklogmanager.h --- quassel-0.11.0/src/client/clientbacklogmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientbacklogmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientbufferviewconfig.cpp quassel-0.12~beta1/src/client/clientbufferviewconfig.cpp --- quassel-0.11.0/src/client/clientbufferviewconfig.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientbufferviewconfig.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientbufferviewconfig.h quassel-0.12~beta1/src/client/clientbufferviewconfig.h --- quassel-0.11.0/src/client/clientbufferviewconfig.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientbufferviewconfig.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientbufferviewmanager.cpp quassel-0.12~beta1/src/client/clientbufferviewmanager.cpp --- quassel-0.11.0/src/client/clientbufferviewmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientbufferviewmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientbufferviewmanager.h quassel-0.12~beta1/src/client/clientbufferviewmanager.h --- quassel-0.11.0/src/client/clientbufferviewmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientbufferviewmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientcoreinfo.h quassel-0.12~beta1/src/client/clientcoreinfo.h --- quassel-0.11.0/src/client/clientcoreinfo.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientcoreinfo.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/client.cpp quassel-0.12~beta1/src/client/client.cpp --- quassel-0.11.0/src/client/client.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/client.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -48,6 +48,7 @@ #include "quassel.h" #include "signalproxy.h" #include "util.h" +#include "clientauthhandler.h" #include #include @@ -383,32 +384,39 @@ connect(bufferSyncer(), SIGNAL(buffersPermanentlyMerged(BufferId, BufferId)), _messageModel, SLOT(buffersPermanentlyMerged(BufferId, BufferId))); connect(bufferSyncer(), SIGNAL(bufferMarkedAsRead(BufferId)), SIGNAL(bufferMarkedAsRead(BufferId))); connect(networkModel(), SIGNAL(requestSetLastSeenMsg(BufferId, MsgId)), bufferSyncer(), SLOT(requestSetLastSeenMsg(BufferId, const MsgId &))); - signalProxy()->synchronize(bufferSyncer()); + + SignalProxy *p = signalProxy(); + + if ((Client::coreFeatures() & Quassel::PasswordChange)) { + p->attachSignal(this, SIGNAL(clientChangePassword(QString))); + } + + p->synchronize(bufferSyncer()); // create a new BufferViewManager Q_ASSERT(!_bufferViewManager); - _bufferViewManager = new ClientBufferViewManager(signalProxy(), this); + _bufferViewManager = new ClientBufferViewManager(p, this); connect(_bufferViewManager, SIGNAL(initDone()), _bufferViewOverlay, SLOT(restore())); // create AliasManager Q_ASSERT(!_aliasManager); _aliasManager = new ClientAliasManager(this); connect(aliasManager(), SIGNAL(initDone()), SLOT(sendBufferedUserInput())); - signalProxy()->synchronize(aliasManager()); + p->synchronize(aliasManager()); // create NetworkConfig Q_ASSERT(!_networkConfig); _networkConfig = new NetworkConfig("GlobalNetworkConfig", this); - signalProxy()->synchronize(networkConfig()); + p->synchronize(networkConfig()); // create IgnoreListManager Q_ASSERT(!_ignoreListManager); _ignoreListManager = new ClientIgnoreListManager(this); - signalProxy()->synchronize(ignoreListManager()); + p->synchronize(ignoreListManager()); Q_ASSERT(!_transferManager); _transferManager = new ClientTransferManager(this); - signalProxy()->synchronize(transferManager()); + p->synchronize(transferManager()); // trigger backlog request once all active bufferviews are initialized connect(bufferViewOverlay(), SIGNAL(initDone()), this, SLOT(requestInitialBacklog())); @@ -645,6 +653,14 @@ bufferSyncer()->requestMarkBufferAsRead(id); } +void Client::changePassword(QString newPassword) { + CoreAccount account = currentCoreAccount(); + account.setPassword(newPassword); + coreAccountModel()->createOrUpdateAccount(account); + coreAccountModel()->save(); + emit clientChangePassword(newPassword); +} + #if QT_VERSION < 0x050000 void Client::logMessage(QtMsgType type, const char *msg) diff -Nru quassel-0.11.0/src/client/client.h quassel-0.12~beta1/src/client/client.h --- quassel-0.11.0/src/client/client.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/client.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -191,6 +191,8 @@ */ void bufferMarkedAsRead(BufferId id); + void clientChangePassword(QString password); + public slots: void disconnectFromCore(); @@ -200,6 +202,8 @@ void markBufferAsRead(BufferId id); + void changePassword(QString newPassword); + private slots: void setSyncedToCore(); void setDisconnectedFromCore(); diff -Nru quassel-0.11.0/src/client/clientidentity.cpp quassel-0.12~beta1/src/client/clientidentity.cpp --- quassel-0.11.0/src/client/clientidentity.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientidentity.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientidentity.h quassel-0.12~beta1/src/client/clientidentity.h --- quassel-0.11.0/src/client/clientidentity.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientidentity.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientignorelistmanager.cpp quassel-0.12~beta1/src/client/clientignorelistmanager.cpp --- quassel-0.11.0/src/client/clientignorelistmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientignorelistmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientignorelistmanager.h quassel-0.12~beta1/src/client/clientignorelistmanager.h --- quassel-0.11.0/src/client/clientignorelistmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientignorelistmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientirclisthelper.cpp quassel-0.12~beta1/src/client/clientirclisthelper.cpp --- quassel-0.11.0/src/client/clientirclisthelper.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientirclisthelper.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientirclisthelper.h quassel-0.12~beta1/src/client/clientirclisthelper.h --- quassel-0.11.0/src/client/clientirclisthelper.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientirclisthelper.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientsettings.cpp quassel-0.12~beta1/src/client/clientsettings.cpp --- quassel-0.11.0/src/client/clientsettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientsettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -249,12 +249,10 @@ CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettings::networkDetectionMode() { -#ifdef HAVE_KDE - NetworkDetectionMode def = UseSolid; -#else - NetworkDetectionMode def = UsePingTimeout; -#endif - return (NetworkDetectionMode)localValue("NetworkDetectionMode", def).toInt(); + auto mode = localValue("NetworkDetectionMode", UseQNetworkConfigurationManager).toInt(); + if (mode == 0) + mode = UseQNetworkConfigurationManager; // UseSolid is gone, map that to the new default + return static_cast(mode); } diff -Nru quassel-0.11.0/src/client/clientsettings.h quassel-0.12~beta1/src/client/clientsettings.h --- quassel-0.11.0/src/client/clientsettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientsettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -124,7 +124,7 @@ { public: enum NetworkDetectionMode { - UseSolid, + UseQNetworkConfigurationManager = 1, // UseSolid is gone UsePingTimeout, NoActiveDetection }; diff -Nru quassel-0.11.0/src/client/clienttransfer.cpp quassel-0.12~beta1/src/client/clienttransfer.cpp --- quassel-0.11.0/src/client/clienttransfer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clienttransfer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clienttransfer.h quassel-0.12~beta1/src/client/clienttransfer.h --- quassel-0.11.0/src/client/clienttransfer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clienttransfer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clienttransfermanager.cpp quassel-0.12~beta1/src/client/clienttransfermanager.cpp --- quassel-0.11.0/src/client/clienttransfermanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clienttransfermanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clienttransfermanager.h quassel-0.12~beta1/src/client/clienttransfermanager.h --- quassel-0.11.0/src/client/clienttransfermanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clienttransfermanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientuserinputhandler.cpp quassel-0.12~beta1/src/client/clientuserinputhandler.cpp --- quassel-0.11.0/src/client/clientuserinputhandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientuserinputhandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/clientuserinputhandler.h quassel-0.12~beta1/src/client/clientuserinputhandler.h --- quassel-0.11.0/src/client/clientuserinputhandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/clientuserinputhandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/CMakeLists.txt quassel-0.12~beta1/src/client/CMakeLists.txt --- quassel-0.11.0/src/client/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -38,11 +38,6 @@ clientcoreinfo.h ) -if (KDE4_FOUND) - include_directories(${KDE4_INCLUDES}) - add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) -endif() - if (USE_QT5) list(APPEND qt_modules Widgets) endif() @@ -52,8 +47,4 @@ add_library(mod_client STATIC ${SOURCES}) qt_use_modules(mod_client Network Core Gui ${qt_modules}) -if (KDE4_FOUND) - target_link_libraries(mod_client ${KDE4_SOLID_LIBS}) -endif() - -add_dependencies(mod_client mod_common) +target_link_libraries(mod_client mod_common) diff -Nru quassel-0.11.0/src/client/coreaccount.cpp quassel-0.12~beta1/src/client/coreaccount.cpp --- quassel-0.11.0/src/client/coreaccount.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/coreaccount.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/coreaccount.h quassel-0.12~beta1/src/client/coreaccount.h --- quassel-0.11.0/src/client/coreaccount.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/coreaccount.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/coreaccountmodel.cpp quassel-0.12~beta1/src/client/coreaccountmodel.cpp --- quassel-0.11.0/src/client/coreaccountmodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/coreaccountmodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/coreaccountmodel.h quassel-0.12~beta1/src/client/coreaccountmodel.h --- quassel-0.11.0/src/client/coreaccountmodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/coreaccountmodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/coreconnection.cpp quassel-0.12~beta1/src/client/coreconnection.cpp --- quassel-0.11.0/src/client/coreconnection.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/coreconnection.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -57,10 +57,8 @@ _reconnectTimer.setSingleShot(true); connect(&_reconnectTimer, SIGNAL(timeout()), SLOT(reconnectTimeout())); -#ifdef HAVE_KDE - connect(Solid::Networking::notifier(), SIGNAL(statusChanged(Solid::Networking::Status)), - SLOT(solidNetworkStatusChanged(Solid::Networking::Status))); -#endif + _qNetworkConfigurationManager = new QNetworkConfigurationManager(this); + connect(_qNetworkConfigurationManager, SIGNAL(onlineStateChanged(bool)), SLOT(onlineStateChanged(bool))); CoreConnectionSettings s; s.initAndNotify("PingTimeoutInterval", this, SLOT(pingTimeoutIntervalChanged(QVariant)), 60); @@ -127,16 +125,12 @@ if (!_peer) { CoreConnectionSettings s; if (_wantReconnect && s.autoReconnect()) { -#ifdef HAVE_KDE - // If using Solid, we don't want to reconnect if we're offline - if (s.networkDetectionMode() == CoreConnectionSettings::UseSolid) { - if (Solid::Networking::status() != Solid::Networking::Connected - && Solid::Networking::status() != Solid::Networking::Unknown) { + // If using QNetworkConfigurationManager, we don't want to reconnect if we're offline + if (s.networkDetectionMode() == CoreConnectionSettings::UseQNetworkConfigurationManager) { + if (!_qNetworkConfigurationManager->isOnline()) { return; - } + } } -#endif /* HAVE_KDE */ - reconnectToCore(); } } @@ -169,35 +163,26 @@ } -#ifdef HAVE_KDE - -void CoreConnection::solidNetworkStatusChanged(Solid::Networking::Status status) +void CoreConnection::onlineStateChanged(bool isOnline) { CoreConnectionSettings s; - if (s.networkDetectionMode() != CoreConnectionSettings::UseSolid) + if (s.networkDetectionMode() != CoreConnectionSettings::UseQNetworkConfigurationManager) return; - switch (status) { - case Solid::Networking::Unknown: - case Solid::Networking::Connected: - //qDebug() << "Solid: Network status changed to connected or unknown"; + if(isOnline) { + // qDebug() << "QNetworkConfigurationManager reports Online"; if (state() == Disconnected) { if (_wantReconnect && s.autoReconnect()) { reconnectToCore(); } } - break; - case Solid::Networking::Disconnecting: - case Solid::Networking::Unconnected: + } else { + // qDebug() << "QNetworkConfigurationManager reports Offline"; if (state() != Disconnected && !isLocalConnection()) disconnectFromCore(tr("Network is down"), true); - break; - default: - break; } } -#endif bool CoreConnection::isEncrypted() const { diff -Nru quassel-0.11.0/src/client/coreconnection.h quassel-0.12~beta1/src/client/coreconnection.h --- quassel-0.11.0/src/client/coreconnection.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/coreconnection.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,11 +18,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef CORECONNECTION_H_ -#define CORECONNECTION_H_ +#pragma once -#include "QPointer" -#include "QTimer" +#include +#include +#include #ifdef HAVE_SSL # include @@ -30,10 +30,6 @@ # include #endif -#ifdef HAVE_KDE -# include -#endif - #include "coreaccount.h" #include "remotepeer.h" #include "types.h" @@ -148,9 +144,7 @@ void reconnectIntervalChanged(const QVariant &interval); void reconnectTimeout(); -#ifdef HAVE_KDE - void solidNetworkStatusChanged(Solid::Networking::Status status); -#endif + void onlineStateChanged(bool isOnline); private: QPointer _authHandler; @@ -171,6 +165,8 @@ CoreAccount _account; CoreAccountModel *accountModel() const; + QPointer _qNetworkConfigurationManager; + friend class CoreConfigWizard; }; @@ -186,5 +182,3 @@ inline CoreConnection::ConnectionState CoreConnection::state() const { return _state; } inline bool CoreConnection::isConnected() const { return state() >= Connected; } inline CoreAccount CoreConnection::currentAccount() const { return _account; } - -#endif diff -Nru quassel-0.11.0/src/client/execwrapper.cpp quassel-0.12~beta1/src/client/execwrapper.cpp --- quassel-0.11.0/src/client/execwrapper.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/execwrapper.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/execwrapper.h quassel-0.12~beta1/src/client/execwrapper.h --- quassel-0.11.0/src/client/execwrapper.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/execwrapper.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/irclistmodel.cpp quassel-0.12~beta1/src/client/irclistmodel.cpp --- quassel-0.11.0/src/client/irclistmodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/irclistmodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/irclistmodel.h quassel-0.12~beta1/src/client/irclistmodel.h --- quassel-0.11.0/src/client/irclistmodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/irclistmodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/messagefilter.cpp quassel-0.12~beta1/src/client/messagefilter.cpp --- quassel-0.11.0/src/client/messagefilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/messagefilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/messagefilter.h quassel-0.12~beta1/src/client/messagefilter.h --- quassel-0.11.0/src/client/messagefilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/messagefilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/messagemodel.cpp quassel-0.12~beta1/src/client/messagemodel.cpp --- quassel-0.11.0/src/client/messagemodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/messagemodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/messagemodel.h quassel-0.12~beta1/src/client/messagemodel.h --- quassel-0.11.0/src/client/messagemodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/messagemodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/networkmodel.cpp quassel-0.12~beta1/src/client/networkmodel.cpp --- quassel-0.11.0/src/client/networkmodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/networkmodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/networkmodel.h quassel-0.12~beta1/src/client/networkmodel.h --- quassel-0.11.0/src/client/networkmodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/networkmodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/selectionmodelsynchronizer.cpp quassel-0.12~beta1/src/client/selectionmodelsynchronizer.cpp --- quassel-0.11.0/src/client/selectionmodelsynchronizer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/selectionmodelsynchronizer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/selectionmodelsynchronizer.h quassel-0.12~beta1/src/client/selectionmodelsynchronizer.h --- quassel-0.11.0/src/client/selectionmodelsynchronizer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/selectionmodelsynchronizer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/treemodel.cpp quassel-0.12~beta1/src/client/treemodel.cpp --- quassel-0.11.0/src/client/treemodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/treemodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/client/treemodel.h quassel-0.12~beta1/src/client/treemodel.h --- quassel-0.11.0/src/client/treemodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/client/treemodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/CMakeLists.txt quassel-0.12~beta1/src/CMakeLists.txt --- quassel-0.11.0/src/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -30,6 +30,11 @@ add_definitions(-DWITH_OXYGEN) endif() +# For KAboutData +if (WITH_KF5) + set(CLIENT_LIBRARIES ${CLIENT_LIBRARIES} KF5::CoreAddons) +endif() + # Needed for showing the cli option if appropriate if (HAVE_SYSLOG) add_definitions(-DHAVE_SYSLOG) @@ -43,7 +48,7 @@ COMPILE_FLAGS "-DBUILD_CORE" OUTPUT_NAME ../quasselcore) target_link_libraries(quasselcore mod_core mod_common ${COMMON_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${QT_QTMAIN_LIBRARY}) - install(TARGETS quasselcore RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + install(TARGETS quasselcore RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif(WANT_CORE) if (KDE4_FOUND) @@ -58,7 +63,7 @@ COMPILE_FLAGS "-DBUILD_QTUI" OUTPUT_NAME ../quasselclient) target_link_libraries(quasselclient mod_qtui mod_uisupport mod_client mod_common ${COMMON_LIBRARIES} ${CLIENT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${QT_QTMAIN_LIBRARY}) - install(TARGETS quasselclient RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + install(TARGETS quasselclient RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif(WANT_QTCLIENT) if(WANT_MONO) @@ -69,7 +74,7 @@ COMPILE_FLAGS "-DBUILD_MONO" OUTPUT_NAME ../quassel) target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common ${COMMON_LIBRARIES} ${CLIENT_LIBRARIES} ${QUASSEL_SSL_LIBRARIES} ${QT_QTMAIN_LIBRARY}) - install(TARGETS quassel RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + install(TARGETS quassel RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif(WANT_MONO) # Build bundles for MacOSX diff -Nru quassel-0.11.0/src/common/abstractcliparser.h quassel-0.12~beta1/src/common/abstractcliparser.h --- quassel-0.11.0/src/common/abstractcliparser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/abstractcliparser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -36,9 +36,9 @@ } - inline void addOption(const QString &longName, const char shortName = 0, const QString &help = QString(), const QString &def = QString()) + inline void addOption(const QString &longName, const char shortName = 0, const QString &help = QString(), const QString &valueName = QString(), const QString &def = QString()) { - addArgument(longName, CliParserArg(CliParserArg::CliArgOption, shortName, help, def)); + addArgument(longName, CliParserArg(CliParserArg::CliArgOption, shortName, help, valueName, def)); } @@ -54,20 +54,21 @@ CliArgOption }; - CliParserArg(const CliArgType _type = CliArgInvalid, const char _shortName = 0, const QString _help = QString(), const QString _def = QString()) - : type(_type), - shortName(_shortName), - help(_help), - def(_def), - value(QString()), - boolValue(false) {}; + CliParserArg(const CliArgType type = CliArgInvalid, const char shortName = 0, const QString &help = QString(), const QString &valueName = QString(), const QString def = QString()) + : type(type) + , shortName(shortName) + , help(help) + , valueName(valueName) + , def(def) + {}; CliArgType type; char shortName; QString help; + QString valueName; QString def; QString value; - bool boolValue; + bool boolValue = false; }; virtual void addArgument(const QString &longName, const CliParserArg &arg) = 0; diff -Nru quassel-0.11.0/src/common/aliasmanager.cpp quassel-0.12~beta1/src/common/aliasmanager.cpp --- quassel-0.11.0/src/common/aliasmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/aliasmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/aliasmanager.h quassel-0.12~beta1/src/common/aliasmanager.h --- quassel-0.11.0/src/common/aliasmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/aliasmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/authhandler.cpp quassel-0.12~beta1/src/common/authhandler.cpp --- quassel-0.11.0/src/common/authhandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/authhandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/authhandler.h quassel-0.12~beta1/src/common/authhandler.h --- quassel-0.11.0/src/common/authhandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/authhandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/backlogmanager.cpp quassel-0.12~beta1/src/common/backlogmanager.cpp --- quassel-0.11.0/src/common/backlogmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/backlogmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/backlogmanager.h quassel-0.12~beta1/src/common/backlogmanager.h --- quassel-0.11.0/src/common/backlogmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/backlogmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/basichandler.cpp quassel-0.12~beta1/src/common/basichandler.cpp --- quassel-0.11.0/src/common/basichandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/basichandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/basichandler.h quassel-0.12~beta1/src/common/basichandler.h --- quassel-0.11.0/src/common/basichandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/basichandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/bufferinfo.cpp quassel-0.12~beta1/src/common/bufferinfo.cpp --- quassel-0.11.0/src/common/bufferinfo.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/bufferinfo.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/bufferinfo.h quassel-0.12~beta1/src/common/bufferinfo.h --- quassel-0.11.0/src/common/bufferinfo.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/bufferinfo.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/buffersyncer.cpp quassel-0.12~beta1/src/common/buffersyncer.cpp --- quassel-0.11.0/src/common/buffersyncer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/buffersyncer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/buffersyncer.h quassel-0.12~beta1/src/common/buffersyncer.h --- quassel-0.11.0/src/common/buffersyncer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/buffersyncer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/bufferviewconfig.cpp quassel-0.12~beta1/src/common/bufferviewconfig.cpp --- quassel-0.11.0/src/common/bufferviewconfig.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/bufferviewconfig.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/bufferviewconfig.h quassel-0.12~beta1/src/common/bufferviewconfig.h --- quassel-0.11.0/src/common/bufferviewconfig.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/bufferviewconfig.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/bufferviewmanager.cpp quassel-0.12~beta1/src/common/bufferviewmanager.cpp --- quassel-0.11.0/src/common/bufferviewmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/bufferviewmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/bufferviewmanager.h quassel-0.12~beta1/src/common/bufferviewmanager.h --- quassel-0.11.0/src/common/bufferviewmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/bufferviewmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/cliparser.cpp quassel-0.12~beta1/src/common/cliparser.cpp --- quassel-0.11.0/src/common/cliparser.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/cliparser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -32,10 +32,8 @@ } -void CliParser::addArgument(const QString &longName_, const CliParserArg &arg) +void CliParser::addArgument(const QString &longName, const CliParserArg &arg) { - QString longName = longName_; - longName.remove(QRegExp("\\s*<.*>\\s*")); // KCmdLineArgs takes args of the form "arg " if (argsMap.contains(longName)) qWarning() << "Warning: Multiple definition of argument" << longName; if (arg.shortName != 0 && !lnameOfShortArg(arg.shortName).isNull()) qWarning().nospace() << "Warning: Redefining shortName '" << arg.shortName << "' for " << longName << " previously defined for " << lnameOfShortArg(arg.shortName); @@ -189,8 +187,8 @@ } else output.append(" "); lnameField.append(" --").append(arg.key()); - if (arg.value().type == CliParserArg::CliArgOption) { - lnameField.append("=[").append(arg.key().toUpper()).append("]"); + if (arg.value().type == CliParserArg::CliArgOption && !arg.value().valueName.isEmpty()) { + lnameField.append("=<").append(arg.value().valueName).append(">"); } output.append(lnameField.leftJustified(lnameFieldSize)); if (!arg.value().help.isEmpty()) { diff -Nru quassel-0.11.0/src/common/cliparser.h quassel-0.12~beta1/src/common/cliparser.h --- quassel-0.11.0/src/common/cliparser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/cliparser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/CMakeLists.txt quassel-0.12~beta1/src/common/CMakeLists.txt --- quassel-0.11.0/src/common/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -9,7 +9,6 @@ buffersyncer.cpp bufferviewconfig.cpp bufferviewmanager.cpp - cliparser.cpp compressor.cpp ctcpevent.cpp event.cpp @@ -46,8 +45,13 @@ coreinfo.h ) +if (USE_QT5) + list(APPEND SOURCES qt5cliparser.cpp) +else() + list(APPEND SOURCES cliparser.cpp) +endif() -if (QCA2_FOUND) +if (QCA2_FOUND OR QCA2-QT5_FOUND) set(SOURCES ${SOURCES} keyevent.cpp) endif() @@ -62,8 +66,8 @@ add_definitions(-DHAVE_SYSLOG) endif() -if(APPLE) - set(SOURCES ${SOURCES} mac_utils.cpp) +if (APPLE) + set(SOURCES ${SOURCES} mac_utils.cpp) endif(APPLE) if (WIN32) @@ -81,8 +85,8 @@ add_library(mod_common STATIC ${SOURCES}) qt_use_modules(mod_common Core Network) -if(APPLE) - target_link_libraries(mod_common "-framework CoreServices" "-framework CoreFoundation") +if (APPLE) + target_link_libraries(mod_common "-framework CoreServices" "-framework CoreFoundation") endif(APPLE) target_link_libraries(mod_common ${CMAKE_DL_LIBS} ${EXECINFO_LIBRARIES} ${ZLIB_LIBRARIES}) diff -Nru quassel-0.11.0/src/common/compressor.cpp quassel-0.12~beta1/src/common/compressor.cpp --- quassel-0.11.0/src/common/compressor.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/compressor.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/compressor.h quassel-0.12~beta1/src/common/compressor.h --- quassel-0.11.0/src/common/compressor.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/compressor.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/coreinfo.h quassel-0.12~beta1/src/common/coreinfo.h --- quassel-0.11.0/src/common/coreinfo.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/coreinfo.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ctcpevent.cpp quassel-0.12~beta1/src/common/ctcpevent.cpp --- quassel-0.11.0/src/common/ctcpevent.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ctcpevent.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ctcpevent.h quassel-0.12~beta1/src/common/ctcpevent.h --- quassel-0.11.0/src/common/ctcpevent.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ctcpevent.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/event.cpp quassel-0.12~beta1/src/common/event.cpp --- quassel-0.11.0/src/common/event.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/event.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/event.h quassel-0.12~beta1/src/common/event.h --- quassel-0.11.0/src/common/event.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/event.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/eventmanager.cpp quassel-0.12~beta1/src/common/eventmanager.cpp --- quassel-0.11.0/src/common/eventmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/eventmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/eventmanager.h quassel-0.12~beta1/src/common/eventmanager.h --- quassel-0.11.0/src/common/eventmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/eventmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/identity.cpp quassel-0.12~beta1/src/common/identity.cpp --- quassel-0.11.0/src/common/identity.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/identity.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/identity.h quassel-0.12~beta1/src/common/identity.h --- quassel-0.11.0/src/common/identity.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/identity.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ignorelistmanager.cpp quassel-0.12~beta1/src/common/ignorelistmanager.cpp --- quassel-0.11.0/src/common/ignorelistmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ignorelistmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ignorelistmanager.h quassel-0.12~beta1/src/common/ignorelistmanager.h --- quassel-0.11.0/src/common/ignorelistmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ignorelistmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/internalpeer.cpp quassel-0.12~beta1/src/common/internalpeer.cpp --- quassel-0.11.0/src/common/internalpeer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/internalpeer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/internalpeer.h quassel-0.12~beta1/src/common/internalpeer.h --- quassel-0.11.0/src/common/internalpeer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/internalpeer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ircchannel.cpp quassel-0.12~beta1/src/common/ircchannel.cpp --- quassel-0.11.0/src/common/ircchannel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ircchannel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ircchannel.h quassel-0.12~beta1/src/common/ircchannel.h --- quassel-0.11.0/src/common/ircchannel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ircchannel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ircevent.cpp quassel-0.12~beta1/src/common/ircevent.cpp --- quassel-0.11.0/src/common/ircevent.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ircevent.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ircevent.h quassel-0.12~beta1/src/common/ircevent.h --- quassel-0.11.0/src/common/ircevent.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ircevent.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/irclisthelper.cpp quassel-0.12~beta1/src/common/irclisthelper.cpp --- quassel-0.11.0/src/common/irclisthelper.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/irclisthelper.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/irclisthelper.h quassel-0.12~beta1/src/common/irclisthelper.h --- quassel-0.11.0/src/common/irclisthelper.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/irclisthelper.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ircuser.cpp quassel-0.12~beta1/src/common/ircuser.cpp --- quassel-0.11.0/src/common/ircuser.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ircuser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/ircuser.h quassel-0.12~beta1/src/common/ircuser.h --- quassel-0.11.0/src/common/ircuser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/ircuser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/logbacktrace_unix.cpp quassel-0.12~beta1/src/common/logbacktrace_unix.cpp --- quassel-0.11.0/src/common/logbacktrace_unix.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/logbacktrace_unix.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/logbacktrace_win.cpp quassel-0.12~beta1/src/common/logbacktrace_win.cpp --- quassel-0.11.0/src/common/logbacktrace_win.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/logbacktrace_win.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/logger.cpp quassel-0.12~beta1/src/common/logger.cpp --- quassel-0.11.0/src/common/logger.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/logger.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/logger.h quassel-0.12~beta1/src/common/logger.h --- quassel-0.11.0/src/common/logger.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/logger.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/mac_utils.cpp quassel-0.12~beta1/src/common/mac_utils.cpp --- quassel-0.11.0/src/common/mac_utils.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/mac_utils.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/mac_utils.h quassel-0.12~beta1/src/common/mac_utils.h --- quassel-0.11.0/src/common/mac_utils.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/mac_utils.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/main.cpp quassel-0.12~beta1/src/common/main.cpp --- quassel-0.11.0/src/common/main.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/main.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,15 @@ #include +#include + #ifdef BUILD_CORE # include "coreapplication.h" #elif defined BUILD_QTUI +# include "aboutdata.h" # include "qtuiapplication.h" #elif defined BUILD_MONO +# include "aboutdata.h" # include "monoapplication.h" #else @@ -32,13 +36,25 @@ #endif // We don't want quasselcore to depend on KDE -#if defined HAVE_KDE && defined BUILD_CORE -# undef HAVE_KDE +#if defined HAVE_KDE4 && defined BUILD_CORE +# undef HAVE_KDE4 +#endif +// We don't want quasselcore to depend on KDE +#if defined HAVE_KF5 && defined BUILD_CORE +# undef HAVE_KF5 #endif -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # include "kcmdlinewrapper.h" +#elif defined HAVE_KF5 +# include +# include +# include "qt5cliparser.h" +#elif defined HAVE_QT5 +# include "qt5cliparser.h" +#else +# include "cliparser.h" #endif #if !defined(BUILD_CORE) && defined(STATIC) @@ -47,13 +63,19 @@ Q_IMPORT_PLUGIN(qgif) #endif -#include "cliparser.h" #include "quassel.h" int main(int argc, char **argv) { +#if QT_VERSION < 0x050000 + // All our source files are in UTF-8, and Qt5 even requires that + QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); + QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); +#endif + Quassel::setupBuildInfo(); QCoreApplication::setApplicationName(Quassel::buildInfo().applicationName); + QCoreApplication::setApplicationVersion(Quassel::buildInfo().plainVersionString); QCoreApplication::setOrganizationName(Quassel::buildInfo().organizationName); QCoreApplication::setOrganizationDomain(Quassel::buildInfo().organizationDomain); @@ -67,26 +89,31 @@ Q_INIT_RESOURCE(sql); #endif #ifndef BUILD_CORE - Q_INIT_RESOURCE(pics); // always in a resource, for now + Q_INIT_RESOURCE(pics); + Q_INIT_RESOURCE(hicolor); #endif #ifdef EMBED_DATA Q_INIT_RESOURCE(i18n); # ifndef BUILD_CORE Q_INIT_RESOURCE(data); - Q_INIT_RESOURCE(hicolor); - Q_INIT_RESOURCE(oxygen); # ifdef WITH_OXYGEN - Q_INIT_RESOURCE(oxygen_kde); + Q_INIT_RESOURCE(oxygen); # endif # endif #endif + // Migrate settings from KDE4 to KF5 if appropriate +#ifdef HAVE_KF5 + Kdelibs4ConfigMigrator migrator(QCoreApplication::applicationName()); + migrator.setConfigFiles(QStringList() << "quasselrc" << "quassel.notifyrc"); + migrator.migrate(); +#endif + AbstractCliParser *cliParser; -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 // We need to init KCmdLineArgs first - // TODO: build an AboutData compat class to replace our aboutDlg strings KAboutData aboutData("quassel", "kdelibs4", ki18n("Quassel IRC"), Quassel::buildInfo().plainVersionString.toUtf8(), ki18n("A modern, distributed IRC client")); aboutData.addLicense(KAboutData::License_GPL_V2); @@ -96,6 +123,8 @@ KCmdLineArgs::init(argc, argv, &aboutData); cliParser = new KCmdLineWrapper(); +#elif defined HAVE_QT5 + cliParser = new Qt5CliParser(); #else cliParser = new CliParser(); #endif @@ -103,47 +132,49 @@ // Initialize CLI arguments // NOTE: We can't use tr() at this point, since app is not yet created + // TODO: Change this once we get rid of KDE4 and can initialize the parser after creating the app // put shared client&core arguments here cliParser->addSwitch("debug", 'd', "Enable debug output"); cliParser->addSwitch("help", 'h', "Display this help and exit"); cliParser->addSwitch("version", 'v', "Display version information"); #ifdef BUILD_QTUI - cliParser->addOption("configdir ", 'c', "Specify the directory holding the client configuration"); + cliParser->addOption("configdir", 'c', "Specify the directory holding the client configuration", "path"); #else - cliParser->addOption("configdir ", 'c', "Specify the directory holding configuration files, the SQlite database and the SSL certificate"); + cliParser->addOption("configdir", 'c', "Specify the directory holding configuration files, the SQlite database and the SSL certificate", "path"); #endif - cliParser->addOption("datadir ", 0, "DEPRECATED - Use --configdir instead"); + cliParser->addOption("datadir", 0, "DEPRECATED - Use --configdir instead", "path"); #ifndef BUILD_CORE // put client-only arguments here - cliParser->addOption("qss ", 0, "Load a custom application stylesheet"); + cliParser->addOption("icontheme", 0, "Override the system icon theme ('oxygen' is recommended)", "theme"); + cliParser->addOption("qss", 0, "Load a custom application stylesheet", "file.qss"); cliParser->addSwitch("debugbufferswitches", 0, "Enables debugging for bufferswitches"); cliParser->addSwitch("debugmodel", 0, "Enables debugging for models"); cliParser->addSwitch("hidewindow", 0, "Start the client minimized to the system tray"); #endif #ifndef BUILD_QTUI // put core-only arguments here - cliParser->addOption("listen
[,", 0, "The address(es) quasselcore will listen on", "::,0.0.0.0"); - cliParser->addOption("port ", 'p', "The port quasselcore will listen at", QString("4242")); + cliParser->addOption("listen", 0, "The address(es) quasselcore will listen on", "
[,
[,...]]", "::,0.0.0.0"); + cliParser->addOption("port", 'p', "The port quasselcore will listen at", "port", "4242"); cliParser->addSwitch("norestore", 'n', "Don't restore last core's state"); - cliParser->addOption("loglevel ", 'L', "Loglevel Debug|Info|Warning|Error", "Info"); + cliParser->addOption("loglevel", 'L', "Loglevel Debug|Info|Warning|Error", "level", "Info"); #ifdef HAVE_SYSLOG cliParser->addSwitch("syslog", 0, "Log to syslog"); #endif - cliParser->addOption("logfile ", 'l', "Log to a file"); - cliParser->addOption("select-backend ", 0, "Switch storage backend (migrating data if possible)"); + cliParser->addOption("logfile", 'l', "Log to a file", "path"); + cliParser->addOption("select-backend", 0, "Switch storage backend (migrating data if possible)", "backendidentifier"); cliParser->addSwitch("add-user", 0, "Starts an interactive session to add a new core user"); - cliParser->addOption("change-userpass ", 0, "Starts an interactive session to change the password of the user identified by username"); + cliParser->addOption("change-userpass", 0, "Starts an interactive session to change the password of the user identified by ", "username"); cliParser->addSwitch("oidentd", 0, "Enable oidentd integration"); - cliParser->addOption("oidentd-conffile ", 0, "Set path to oidentd configuration file"); + cliParser->addOption("oidentd-conffile", 0, "Set path to oidentd configuration file", "file"); #ifdef HAVE_SSL cliParser->addSwitch("require-ssl", 0, "Require SSL for client connections"); #endif cliParser->addSwitch("enable-experimental-dcc", 0, "Enable highly experimental and unfinished support for CTCP DCC (DANGEROUS)"); #endif -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 // the KDE version needs this extra call to parse argc/argv before app is instantiated if (!cliParser->init()) { cliParser->usage(); @@ -159,7 +190,7 @@ MonolithicApplication app(argc, argv); # endif -#ifndef HAVE_KDE +#ifndef HAVE_KDE4 // the non-KDE version parses after app has been instantiated if (!cliParser->init(app.arguments())) { cliParser->usage(); @@ -167,6 +198,15 @@ } #endif - if (!app.init()) return EXIT_FAILURE; +#ifdef HAVE_KF5 + // FIXME: This should be done after loading the translation catalogue, but still in main() + AboutData aboutData; + AboutData::setQuasselPersons(&aboutData); + KAboutData::setApplicationData(aboutData.kAboutData()); +#endif + + if (!app.init()) + return EXIT_FAILURE; + return app.exec(); } diff -Nru quassel-0.11.0/src/common/message.cpp quassel-0.12~beta1/src/common/message.cpp --- quassel-0.11.0/src/common/message.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/message.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/messageevent.cpp quassel-0.12~beta1/src/common/messageevent.cpp --- quassel-0.11.0/src/common/messageevent.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/messageevent.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/messageevent.h quassel-0.12~beta1/src/common/messageevent.h --- quassel-0.11.0/src/common/messageevent.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/messageevent.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/message.h quassel-0.12~beta1/src/common/message.h --- quassel-0.11.0/src/common/message.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/message.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/networkconfig.cpp quassel-0.12~beta1/src/common/networkconfig.cpp --- quassel-0.11.0/src/common/networkconfig.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/networkconfig.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/networkconfig.h quassel-0.12~beta1/src/common/networkconfig.h --- quassel-0.11.0/src/common/networkconfig.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/networkconfig.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/network.cpp quassel-0.12~beta1/src/common/network.cpp --- quassel-0.11.0/src/common/network.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/network.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/networkevent.cpp quassel-0.12~beta1/src/common/networkevent.cpp --- quassel-0.11.0/src/common/networkevent.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/networkevent.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/networkevent.h quassel-0.12~beta1/src/common/networkevent.h --- quassel-0.11.0/src/common/networkevent.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/networkevent.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/network.h quassel-0.12~beta1/src/common/network.h --- quassel-0.11.0/src/common/network.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/network.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/peer.cpp quassel-0.12~beta1/src/common/peer.cpp --- quassel-0.11.0/src/common/peer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/peer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/peerfactory.cpp quassel-0.12~beta1/src/common/peerfactory.cpp --- quassel-0.11.0/src/common/peerfactory.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/peerfactory.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/peerfactory.h quassel-0.12~beta1/src/common/peerfactory.h --- quassel-0.11.0/src/common/peerfactory.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/peerfactory.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/peer.h quassel-0.12~beta1/src/common/peer.h --- quassel-0.11.0/src/common/peer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/peer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/presetnetworks.cpp quassel-0.12~beta1/src/common/presetnetworks.cpp --- quassel-0.11.0/src/common/presetnetworks.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/presetnetworks.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/presetnetworks.h quassel-0.12~beta1/src/common/presetnetworks.h --- quassel-0.11.0/src/common/presetnetworks.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/presetnetworks.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/protocol.h quassel-0.12~beta1/src/common/protocol.h --- quassel-0.11.0/src/common/protocol.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/protocol.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/protocols/datastream/datastreampeer.cpp quassel-0.12~beta1/src/common/protocols/datastream/datastreampeer.cpp --- quassel-0.11.0/src/common/protocols/datastream/datastreampeer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/protocols/datastream/datastreampeer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/protocols/datastream/datastreampeer.h quassel-0.12~beta1/src/common/protocols/datastream/datastreampeer.h --- quassel-0.11.0/src/common/protocols/datastream/datastreampeer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/protocols/datastream/datastreampeer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/protocols/legacy/legacypeer.cpp quassel-0.12~beta1/src/common/protocols/legacy/legacypeer.cpp --- quassel-0.11.0/src/common/protocols/legacy/legacypeer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/protocols/legacy/legacypeer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/protocols/legacy/legacypeer.h quassel-0.12~beta1/src/common/protocols/legacy/legacypeer.h --- quassel-0.11.0/src/common/protocols/legacy/legacypeer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/protocols/legacy/legacypeer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/qt5cliparser.cpp quassel-0.12~beta1/src/common/qt5cliparser.cpp --- quassel-0.11.0/src/common/qt5cliparser.cpp 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/src/common/qt5cliparser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,72 @@ +/*************************************************************************** + * Copyright (C) 2005-2015 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include "qt5cliparser.h" + +#include +#include + +bool Qt5CliParser::init(const QStringList &arguments) +{ + _qCliParser.addHelpOption(); + _qCliParser.addVersionOption(); + _qCliParser.setApplicationDescription(QCoreApplication::translate("CliParser", "Quassel IRC is a modern, distributed IRC client.")); + + _qCliParser.process(arguments); + return true; // process() does error handling by itself +} + + +bool Qt5CliParser::isSet(const QString &longName) +{ + + return _qCliParser.isSet(longName); +} + + +QString Qt5CliParser::value(const QString &longName) +{ + return _qCliParser.value(longName); +} + + +void Qt5CliParser::usage() +{ + _qCliParser.showHelp(); +} + + +void Qt5CliParser::addArgument(const QString &longName, const AbstractCliParser::CliParserArg &arg) +{ + QStringList names(longName); + if (arg.shortName != 0) + names << QString(arg.shortName); + + switch(arg.type) { + case CliParserArg::CliArgSwitch: + _qCliParser.addOption(QCommandLineOption(names, arg.help)); + break; + case CliParserArg::CliArgOption: + _qCliParser.addOption(QCommandLineOption(names, arg.help, arg.valueName, arg.def)); + break; + default: + qWarning() << "Warning: Unrecognized argument:" << longName; + } +} diff -Nru quassel-0.11.0/src/common/qt5cliparser.h quassel-0.12~beta1/src/common/qt5cliparser.h --- quassel-0.11.0/src/common/qt5cliparser.h 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/src/common/qt5cliparser.h 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,42 @@ +/*************************************************************************** + * Copyright (C) 2005-2015 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#pragma once + +#include + +#include "abstractcliparser.h" + + +class Qt5CliParser : public AbstractCliParser +{ +public: + bool init(const QStringList &arguments = QStringList()); + + QString value(const QString &longName); + bool isSet(const QString &longName); + void usage(); + +private: + void addArgument(const QString &longName, const CliParserArg &arg); + + QCommandLineParser _qCliParser; + +}; diff -Nru quassel-0.11.0/src/common/quassel.cpp quassel-0.12~beta1/src/common/quassel.cpp --- quassel-0.11.0/src/common/quassel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/quassel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -112,6 +112,7 @@ _initialized = true; qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime())); + setupEnvironment(); registerMetaTypes(); Network::setDefaultCodecForServer("ISO-8859-1"); @@ -211,9 +212,40 @@ } +void Quassel::setupEnvironment() +{ + // On modern Linux systems, XDG_DATA_DIRS contains a list of directories containing application data. This + // is, for example, used by Qt for finding icons and other things. In case Quassel is installed in a non-standard + // prefix (or run from the build directory), it makes sense to add this to XDG_DATA_DIRS so we don't have to + // hack extra search paths into various places. +#ifdef Q_OS_UNIX + QString xdgDataVar = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); + if (xdgDataVar.isEmpty()) + xdgDataVar = QLatin1String("/usr/local/share:/usr/share"); // sane defaults + + QStringList xdgDirs = xdgDataVar.split(QLatin1Char(':'), QString::SkipEmptyParts); + + // Add our install prefix (if we're not in a bindir, this just adds the current workdir) + QString appDir = QCoreApplication::applicationDirPath(); + int binpos = appDir.lastIndexOf("/bin"); + if (binpos >= 0) { + appDir.replace(binpos, 4, "/share"); + xdgDirs.append(appDir); + // Also append apps/quassel, this is only for QIconLoader to find icons there + xdgDirs.append(appDir + "/apps/quassel"); + } else + xdgDirs.append(appDir); // build directory is always the last fallback + + xdgDirs.removeDuplicates(); + + qputenv("XDG_DATA_DIRS", QFile::encodeName(xdgDirs.join(":"))); +#endif +} + + void Quassel::setupBuildInfo() { - _buildInfo.applicationName = "Quassel IRC"; + _buildInfo.applicationName = "quassel"; _buildInfo.coreApplicationName = "quasselcore"; _buildInfo.clientApplicationName = "quasselclient"; _buildInfo.organizationName = "Quassel Project"; @@ -395,43 +427,50 @@ QStringList Quassel::findDataDirPaths() const { - QStringList dataDirNames = QString(qgetenv("XDG_DATA_DIRS")).split(':', QString::SkipEmptyParts); + // We don't use QStandardPaths for now, as we still need to provide fallbacks for Qt4 and + // want to stay consistent. - if (!dataDirNames.isEmpty()) { - for (int i = 0; i < dataDirNames.count(); i++) - dataDirNames[i].append("/apps/quassel/"); - } - else { - // Provide a fallback + QStringList dataDirNames; #ifdef Q_OS_WIN - dataDirNames << qgetenv("APPDATA") + QCoreApplication::organizationDomain() + "/share/apps/quassel/" - << qgetenv("APPDATA") + QCoreApplication::organizationDomain() - << QCoreApplication::applicationDirPath(); - } + dataDirNames << qgetenv("APPDATA") + QCoreApplication::organizationDomain() + "/share/apps/quassel/" + << qgetenv("APPDATA") + QCoreApplication::organizationDomain() + << QCoreApplication::applicationDirPath(); #elif defined Q_OS_MAC - dataDirNames << QDir::homePath() + "/Library/Application Support/Quassel/" - << QCoreApplication::applicationDirPath(); - } + dataDirNames << QDir::homePath() + "/Library/Application Support/Quassel/" + << QCoreApplication::applicationDirPath(); #else - dataDirNames.append("/usr/share/apps/quassel/"); - } - // on UNIX, we always check our install prefix - QString appDir = QCoreApplication::applicationDirPath(); - int binpos = appDir.lastIndexOf("/bin"); - if (binpos >= 0) { - appDir.replace(binpos, 4, "/share"); - appDir.append("/apps/quassel/"); - if (!dataDirNames.contains(appDir)) - dataDirNames.append(appDir); - } + // Linux et al + + // XDG_DATA_HOME is the location for users to override system-installed files, usually in .local/share + // This should thus come first. + QString xdgDataHome = QFile::decodeName(qgetenv("XDG_DATA_HOME")); + if (xdgDataHome.isEmpty()) + xdgDataHome = QDir::homePath() + QLatin1String("/.local/share"); + dataDirNames << xdgDataHome; + + // Now whatever is configured through XDG_DATA_DIRS + QString xdgDataDirs = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); + if (xdgDataDirs.isEmpty()) + dataDirNames << "/usr/local/share" << "/usr/share"; + else + dataDirNames << xdgDataDirs.split(':', QString::SkipEmptyParts); + + // Just in case, also check our install prefix + dataDirNames << QCoreApplication::applicationDirPath() + "/../share"; + + // Normalize and append our application name + for (int i = 0; i < dataDirNames.count(); i++) + dataDirNames[i] = QDir::cleanPath(dataDirNames.at(i)) + "/quassel/"; + #endif - // add resource path and workdir just in case - dataDirNames << QCoreApplication::applicationDirPath() + "/data/" - << ":/data/"; + // Add resource path and workdir just in case. + // Workdir should have precedence + dataDirNames.prepend(QCoreApplication::applicationDirPath() + "/data/"); + dataDirNames.append(":/data/"); - // append trailing '/' and check for existence - QStringList::Iterator iter = dataDirNames.begin(); + // Append trailing '/' and check for existence + auto iter = dataDirNames.begin(); while (iter != dataDirNames.end()) { if (!iter->endsWith(QDir::separator()) && !iter->endsWith('/')) iter->append(QDir::separator()); @@ -441,6 +480,8 @@ ++iter; } + dataDirNames.removeDuplicates(); + return dataDirNames; } diff -Nru quassel-0.11.0/src/common/quassel.h quassel-0.12~beta1/src/common/quassel.h --- quassel-0.11.0/src/common/quassel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/quassel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -71,8 +71,9 @@ SaslAuthentication = 0x0002, SaslExternal = 0x0004, HideInactiveNetworks = 0x0008, + PasswordChange = 0x0010, - NumFeatures = 0x0008 + NumFeatures = 0x0010 }; Q_DECLARE_FLAGS(Features, Feature); @@ -148,6 +149,7 @@ inline void disableCrashhandler(); private: + void setupEnvironment(); void registerMetaTypes(); static void handleSignal(int signal); diff -Nru quassel-0.11.0/src/common/remotepeer.cpp quassel-0.12~beta1/src/common/remotepeer.cpp --- quassel-0.11.0/src/common/remotepeer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/remotepeer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -252,11 +252,7 @@ void RemotePeer::handle(const HeartBeatReply &heartBeatReply) { _heartBeatCount = 0; -#if QT_VERSION >= 0x040700 emit lagUpdated(heartBeatReply.timestamp.msecsTo(QDateTime::currentDateTime().toUTC()) / 2); -#else - emit lagUpdated(heartBeatReply.timestamp.time().msecsTo(QDateTime::currentDateTime().toUTC().time()) / 2); -#endif } diff -Nru quassel-0.11.0/src/common/remotepeer.h quassel-0.12~beta1/src/common/remotepeer.h --- quassel-0.11.0/src/common/remotepeer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/remotepeer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/settings.cpp quassel-0.12~beta1/src/common/settings.cpp --- quassel-0.11.0/src/common/settings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/settings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/settings.h quassel-0.12~beta1/src/common/settings.h --- quassel-0.11.0/src/common/settings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/settings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/signalproxy.cpp quassel-0.12~beta1/src/common/signalproxy.cpp --- quassel-0.11.0/src/common/signalproxy.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/signalproxy.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/signalproxy.h quassel-0.12~beta1/src/common/signalproxy.h --- quassel-0.11.0/src/common/signalproxy.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/signalproxy.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/syncableobject.cpp quassel-0.12~beta1/src/common/syncableobject.cpp --- quassel-0.11.0/src/common/syncableobject.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/syncableobject.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/syncableobject.h quassel-0.12~beta1/src/common/syncableobject.h --- quassel-0.11.0/src/common/syncableobject.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/syncableobject.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/transfer.cpp quassel-0.12~beta1/src/common/transfer.cpp --- quassel-0.11.0/src/common/transfer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/transfer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/transfer.h quassel-0.12~beta1/src/common/transfer.h --- quassel-0.11.0/src/common/transfer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/transfer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/transfermanager.cpp quassel-0.12~beta1/src/common/transfermanager.cpp --- quassel-0.11.0/src/common/transfermanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/transfermanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/transfermanager.h quassel-0.12~beta1/src/common/transfermanager.h --- quassel-0.11.0/src/common/transfermanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/transfermanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/types.h quassel-0.12~beta1/src/common/types.h --- quassel-0.11.0/src/common/types.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/types.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/util.cpp quassel-0.12~beta1/src/common/util.cpp --- quassel-0.11.0/src/common/util.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/util.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/common/util.h quassel-0.12~beta1/src/common/util.h --- quassel-0.11.0/src/common/util.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/common/util.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/abstractsqlstorage.cpp quassel-0.12~beta1/src/core/abstractsqlstorage.cpp --- quassel-0.11.0/src/core/abstractsqlstorage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/abstractsqlstorage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/abstractsqlstorage.h quassel-0.12~beta1/src/core/abstractsqlstorage.h --- quassel-0.11.0/src/core/abstractsqlstorage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/abstractsqlstorage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/cipher.cpp quassel-0.12~beta1/src/core/cipher.cpp --- quassel-0.11.0/src/core/cipher.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/cipher.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -364,6 +364,10 @@ } else { + // ECB Blowfish encodes in blocks of 12 chars, so anything else is malformed input + if ((temp.length() % 12) != 0) + return cipherText; + temp = b64ToByte(temp); while ((temp.length() % 8) != 0) temp.append('\0'); } @@ -376,8 +380,13 @@ if (!cipher.ok()) return cipherText; - if (direction) + if (direction) { + // Sanity check + if ((temp2.length() % 8) != 0) + return cipherText; + temp2 = byteToB64(temp2); + } return temp2; } @@ -420,13 +429,13 @@ right += v; for (int i = 0; i < 6; i++) { - encoded.append(base64.at(right & 0x3F).toAscii()); + encoded.append(base64.at(right & 0x3F).toLatin1()); right = right >> 6; } - //TODO make sure the .toascii doesn't break anything + //TODO make sure the .toLatin1 doesn't break anything for (int i = 0; i < 6; i++) { - encoded.append(base64.at(left & 0x3F).toAscii()); + encoded.append(base64.at(left & 0x3F).toLatin1()); left = left >> 6; } } diff -Nru quassel-0.11.0/src/core/CMakeLists.txt quassel-0.12~beta1/src/core/CMakeLists.txt --- quassel-0.11.0/src/core/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -54,6 +54,13 @@ list(APPEND LIBS ${QCA2_LIBRARIES}) endif() +if (QCA2-QT5_FOUND) + add_definitions(-DHAVE_QCA2) + include_directories(${QCA2-QT5_INCLUDE_DIR}) + list(APPEND SOURCES cipher.cpp) + list(APPEND LIBS ${QCA2-QT5_LIBRARIES}) +endif() + include_directories(${CMAKE_SOURCE_DIR}/src/common) set(CORE_RCS ${CORE_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/sql.qrc) @@ -62,8 +69,4 @@ add_library(mod_core STATIC ${SOURCES}) qt_use_modules(mod_core Core Network Script Sql) -add_dependencies(mod_core mod_common) - -if (LIBS) - target_link_libraries(mod_core ${LIBS}) -endif() +target_link_libraries(mod_core mod_common ${LIBS}) diff -Nru quassel-0.11.0/src/core/corealiasmanager.cpp quassel-0.12~beta1/src/core/corealiasmanager.cpp --- quassel-0.11.0/src/core/corealiasmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corealiasmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corealiasmanager.h quassel-0.12~beta1/src/core/corealiasmanager.h --- quassel-0.11.0/src/core/corealiasmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corealiasmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreapplication.cpp quassel-0.12~beta1/src/core/coreapplication.cpp --- quassel-0.11.0/src/core/coreapplication.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreapplication.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreapplication.h quassel-0.12~beta1/src/core/coreapplication.h --- quassel-0.11.0/src/core/coreapplication.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreapplication.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreauthhandler.cpp quassel-0.12~beta1/src/core/coreauthhandler.cpp --- quassel-0.11.0/src/core/coreauthhandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreauthhandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreauthhandler.h quassel-0.12~beta1/src/core/coreauthhandler.h --- quassel-0.11.0/src/core/coreauthhandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreauthhandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebacklogmanager.cpp quassel-0.12~beta1/src/core/corebacklogmanager.cpp --- quassel-0.11.0/src/core/corebacklogmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebacklogmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebacklogmanager.h quassel-0.12~beta1/src/core/corebacklogmanager.h --- quassel-0.11.0/src/core/corebacklogmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebacklogmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebasichandler.cpp quassel-0.12~beta1/src/core/corebasichandler.cpp --- quassel-0.11.0/src/core/corebasichandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebasichandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebasichandler.h quassel-0.12~beta1/src/core/corebasichandler.h --- quassel-0.11.0/src/core/corebasichandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebasichandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebuffersyncer.cpp quassel-0.12~beta1/src/core/corebuffersyncer.cpp --- quassel-0.11.0/src/core/corebuffersyncer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebuffersyncer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebuffersyncer.h quassel-0.12~beta1/src/core/corebuffersyncer.h --- quassel-0.11.0/src/core/corebuffersyncer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebuffersyncer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebufferviewconfig.cpp quassel-0.12~beta1/src/core/corebufferviewconfig.cpp --- quassel-0.11.0/src/core/corebufferviewconfig.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebufferviewconfig.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebufferviewconfig.h quassel-0.12~beta1/src/core/corebufferviewconfig.h --- quassel-0.11.0/src/core/corebufferviewconfig.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebufferviewconfig.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebufferviewmanager.cpp quassel-0.12~beta1/src/core/corebufferviewmanager.cpp --- quassel-0.11.0/src/core/corebufferviewmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebufferviewmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corebufferviewmanager.h quassel-0.12~beta1/src/core/corebufferviewmanager.h --- quassel-0.11.0/src/core/corebufferviewmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corebufferviewmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corecoreinfo.cpp quassel-0.12~beta1/src/core/corecoreinfo.cpp --- quassel-0.11.0/src/core/corecoreinfo.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corecoreinfo.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corecoreinfo.h quassel-0.12~beta1/src/core/corecoreinfo.h --- quassel-0.11.0/src/core/corecoreinfo.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corecoreinfo.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/core.cpp quassel-0.12~beta1/src/core/core.cpp --- quassel-0.11.0/src/core/core.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/core.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -222,7 +222,7 @@ foreach(CoreAuthHandler *handler, _connectingClients) { handler->deleteLater(); // disconnect non authed clients } - qDeleteAll(sessions); + qDeleteAll(_sessions); qDeleteAll(_storageBackends); } @@ -234,7 +234,8 @@ CoreSettings s; QVariantMap state; QVariantList activeSessions; - foreach(UserId user, instance()->sessions.keys()) activeSessions << QVariant::fromValue(user); + foreach(UserId user, instance()->_sessions.keys()) + activeSessions << QVariant::fromValue(user); state["CoreStateVersion"] = 1; state["ActiveSessions"] = activeSessions; s.setCoreState(state); @@ -247,7 +248,7 @@ // qWarning() << qPrintable(tr("Cannot restore a state for an unconfigured core!")); return; } - if (instance()->sessions.count()) { + if (instance()->_sessions.count()) { qWarning() << qPrintable(tr("Calling restoreState() even though active sessions exist!")); return; } @@ -265,7 +266,7 @@ quInfo() << "Restoring previous core state..."; foreach(QVariant v, activeSessions) { UserId user = v.value(); - instance()->createSession(user, true); + instance()->sessionForUser(user, true); } } } @@ -577,19 +578,7 @@ handler->deleteLater(); // Find or create session for validated user - SessionThread *session; - if (sessions.contains(uid)) { - session = sessions[uid]; - } - else { - session = createSession(uid); - if (!session) { - qWarning() << qPrintable(tr("Could not initialize session for client:")) << qPrintable(peer->description()); - peer->close(); - peer->deleteLater(); - return; - } - } + sessionForUser(uid); // as we are currently handling an event triggered by incoming data on this socket // it is unsafe to directly move the socket to the client thread. @@ -610,14 +599,7 @@ void Core::addClientHelper(RemotePeer *peer, UserId uid) { // Find or create session for validated user - if (!sessions.contains(uid)) { - qWarning() << qPrintable(tr("Could not find a session for client:")) << qPrintable(peer->description()); - peer->close(); - peer->deleteLater(); - return; - } - - SessionThread *session = sessions[uid]; + SessionThread *session = sessionForUser(uid); session->addClient(peer); } @@ -643,26 +625,21 @@ clientPeer->setPeer(corePeer); // Find or create session for validated user - SessionThread *sessionThread; - if (sessions.contains(uid)) - sessionThread = sessions[uid]; - else - sessionThread = createSession(uid); - + SessionThread *sessionThread = sessionForUser(uid); sessionThread->addClient(corePeer); } -SessionThread *Core::createSession(UserId uid, bool restore) +SessionThread *Core::sessionForUser(UserId uid, bool restore) { - if (sessions.contains(uid)) { - qWarning() << "Calling createSession() when a session for the user already exists!"; - return 0; - } - SessionThread *sess = new SessionThread(uid, restore, this); - sessions[uid] = sess; - sess->start(); - return sess; + if (_sessions.contains(uid)) + return _sessions[uid]; + + SessionThread *session = new SessionThread(uid, restore, this); + _sessions[uid] = session; + session->start(); + connect(session, SIGNAL(passwordChangeRequested(UserId, QString)), _storage, SLOT(updateUser(UserId, QString))); + return session; } diff -Nru quassel-0.11.0/src/core/coreeventmanager.h quassel-0.12~beta1/src/core/coreeventmanager.h --- quassel-0.11.0/src/core/coreeventmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreeventmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/core.h quassel-0.12~beta1/src/core/core.h --- quassel-0.11.0/src/core/core.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/core.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -524,13 +524,15 @@ void socketError(QAbstractSocket::SocketError err, const QString &errorString); void setupClientSession(RemotePeer *, UserId); + void changeUserPass(const QString &username); + private: Core(); ~Core(); void init(); static Core *instanceptr; - SessionThread *createSession(UserId userId, bool restoreState = false); + SessionThread *sessionForUser(UserId userId, bool restoreState = false); void addClientHelper(RemotePeer *peer, UserId uid); //void processCoreSetup(QTcpSocket *socket, QVariantMap &msg); QString setupCoreForInternalUsage(); @@ -541,13 +543,12 @@ void unregisterStorageBackend(Storage *); bool selectBackend(const QString &backend); void createUser(); - void changeUserPass(const QString &username); void saveBackendSettings(const QString &backend, const QVariantMap &settings); QVariantMap promptForSettings(const Storage *storage); private: QSet _connectingClients; - QHash sessions; + QHash _sessions; Storage *_storage; QTimer _storageSyncTimer; diff -Nru quassel-0.11.0/src/core/coreidentity.cpp quassel-0.12~beta1/src/core/coreidentity.cpp --- quassel-0.11.0/src/core/coreidentity.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreidentity.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreidentity.h quassel-0.12~beta1/src/core/coreidentity.h --- quassel-0.11.0/src/core/coreidentity.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreidentity.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreignorelistmanager.cpp quassel-0.12~beta1/src/core/coreignorelistmanager.cpp --- quassel-0.11.0/src/core/coreignorelistmanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreignorelistmanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreignorelistmanager.h quassel-0.12~beta1/src/core/coreignorelistmanager.h --- quassel-0.11.0/src/core/coreignorelistmanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreignorelistmanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreircchannel.cpp quassel-0.12~beta1/src/core/coreircchannel.cpp --- quassel-0.11.0/src/core/coreircchannel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreircchannel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreircchannel.h quassel-0.12~beta1/src/core/coreircchannel.h --- quassel-0.11.0/src/core/coreircchannel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreircchannel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreirclisthelper.cpp quassel-0.12~beta1/src/core/coreirclisthelper.cpp --- quassel-0.11.0/src/core/coreirclisthelper.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreirclisthelper.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreirclisthelper.h quassel-0.12~beta1/src/core/coreirclisthelper.h --- quassel-0.11.0/src/core/coreirclisthelper.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreirclisthelper.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreircuser.cpp quassel-0.12~beta1/src/core/coreircuser.cpp --- quassel-0.11.0/src/core/coreircuser.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreircuser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreircuser.h quassel-0.12~beta1/src/core/coreircuser.h --- quassel-0.11.0/src/core/coreircuser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreircuser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corenetworkconfig.cpp quassel-0.12~beta1/src/core/corenetworkconfig.cpp --- quassel-0.11.0/src/core/corenetworkconfig.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corenetworkconfig.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corenetworkconfig.h quassel-0.12~beta1/src/core/corenetworkconfig.h --- quassel-0.11.0/src/core/corenetworkconfig.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corenetworkconfig.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/corenetwork.cpp quassel-0.12~beta1/src/core/corenetwork.cpp --- quassel-0.11.0/src/core/corenetwork.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corenetwork.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -232,17 +232,18 @@ _quitReason = reason; displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("Disconnecting. (%1)").arg((!requested && !withReconnect) ? tr("Core Shutdown") : _quitReason)); - switch (socket.state()) { - case QAbstractSocket::ConnectedState: - userInputHandler()->issueQuit(_quitReason); + if (socket.state() == QAbstractSocket::UnconnectedState) { + socketDisconnected(); + } else { + if (socket.state() == QAbstractSocket::ConnectedState) { + userInputHandler()->issueQuit(_quitReason); + } else { + socket.close(); + } if (requested || withReconnect) { // the irc server has 10 seconds to close the socket _socketCloseTimer.start(10000); - break; } - default: - socket.close(); - socketDisconnected(); } } @@ -416,11 +417,7 @@ else if (s.endsWith("\n")) s.chop(1); NetworkDataEvent *event = new NetworkDataEvent(EventManager::NetworkIncoming, this, s); -#if QT_VERSION >= 0x040700 event->setTimestamp(QDateTime::currentDateTimeUtc()); -#else - event->setTimestamp(QDateTime::currentDateTime().toUTC()); -#endif emit newEvent(event); } } @@ -450,17 +447,15 @@ disconnectFromIrc(); return; } - + emit socketOpen(identity, localAddress(), localPort(), peerAddress(), peerPort()); - + Server server = usedServer(); #ifdef HAVE_SSL if (server.useSsl && !socket.isEncrypted()) return; #endif -#if QT_VERSION >= 0x040600 socket.setSocketOption(QAbstractSocket::KeepAliveOption, true); -#endif emit socketInitialized(identity, localAddress(), localPort(), peerAddress(), peerPort()); diff -Nru quassel-0.11.0/src/core/corenetwork.h quassel-0.12~beta1/src/core/corenetwork.h --- quassel-0.11.0/src/core/corenetwork.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/corenetwork.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coresession.cpp quassel-0.12~beta1/src/core/coresession.cpp --- quassel-0.11.0/src/core/coresession.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coresession.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -100,6 +100,8 @@ p->attachSlot(SIGNAL(createNetwork(const NetworkInfo &, const QStringList &)), this, SLOT(createNetwork(const NetworkInfo &, const QStringList &))); p->attachSlot(SIGNAL(removeNetwork(NetworkId)), this, SLOT(removeNetwork(NetworkId))); + p->attachSlot(SIGNAL(clientChangePassword(QString)), this, SLOT(changePassword(QString))); + loadSettings(); initScriptEngine(); @@ -638,3 +640,8 @@ net->userInputHandler()->issueAway(msg, false /* no force away */); } } + +void CoreSession::changePassword(QString password) +{ + emit passwordChangeRequested(_user, password); +} diff -Nru quassel-0.11.0/src/core/coresessioneventprocessor.cpp quassel-0.12~beta1/src/core/coresessioneventprocessor.cpp --- quassel-0.11.0/src/core/coresessioneventprocessor.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coresessioneventprocessor.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coresessioneventprocessor.h quassel-0.12~beta1/src/core/coresessioneventprocessor.h --- quassel-0.11.0/src/core/coresessioneventprocessor.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coresessioneventprocessor.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coresession.h quassel-0.12~beta1/src/core/coresession.h --- quassel-0.11.0/src/core/coresession.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coresession.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -132,6 +132,8 @@ //! Marks us away (or unaway) on all networks void globalAway(const QString &msg = QString()); + void changePassword(QString password); + signals: void initialized(); void sessionState(const Protocol::SessionState &sessionState); @@ -158,6 +160,8 @@ void networkRemoved(NetworkId); void networkDisconnected(NetworkId); + void passwordChangeRequested(UserId user, QString password); + protected: virtual void customEvent(QEvent *event); diff -Nru quassel-0.11.0/src/core/coresettings.cpp quassel-0.12~beta1/src/core/coresettings.cpp --- quassel-0.11.0/src/core/coresettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coresettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coresettings.h quassel-0.12~beta1/src/core/coresettings.h --- quassel-0.11.0/src/core/coresettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coresettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coretransfer.cpp quassel-0.12~beta1/src/core/coretransfer.cpp --- quassel-0.11.0/src/core/coretransfer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coretransfer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coretransfer.h quassel-0.12~beta1/src/core/coretransfer.h --- quassel-0.11.0/src/core/coretransfer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coretransfer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coretransfermanager.cpp quassel-0.12~beta1/src/core/coretransfermanager.cpp --- quassel-0.11.0/src/core/coretransfermanager.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coretransfermanager.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coretransfermanager.h quassel-0.12~beta1/src/core/coretransfermanager.h --- quassel-0.11.0/src/core/coretransfermanager.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coretransfermanager.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreuserinputhandler.cpp quassel-0.12~beta1/src/core/coreuserinputhandler.cpp --- quassel-0.11.0/src/core/coreuserinputhandler.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreuserinputhandler.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -169,11 +169,7 @@ QString verboseMessage = tr("sending CTCP-%1 request to %2").arg(ctcpTag).arg(nick); if (ctcpTag == "PING") { -#if QT_VERSION >= 0x040700 message = QString::number(QDateTime::currentMSecsSinceEpoch()); -#else - message = QString::number(QDateTime::currentDateTime().toTime_t()); -#endif } // FIXME make this a proper event @@ -549,6 +545,16 @@ } +void CoreUserInputHandler::handlePrint(const BufferInfo &bufferInfo, const QString &msg) +{ + if (bufferInfo.bufferName().isEmpty() || !bufferInfo.acceptsRegularMessages()) + return; // server buffer + + QByteArray encMsg = channelEncode(bufferInfo.bufferName(), msg); + emit displayMsg(Message::Info, bufferInfo.type(), bufferInfo.bufferName(), msg, network()->myNick(), Message::Self); +} + + // TODO: implement queries void CoreUserInputHandler::handleQuery(const BufferInfo &bufferInfo, const QString &msg) { diff -Nru quassel-0.11.0/src/core/coreuserinputhandler.h quassel-0.12~beta1/src/core/coreuserinputhandler.h --- quassel-0.11.0/src/core/coreuserinputhandler.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreuserinputhandler.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -63,6 +63,7 @@ void handleHalfop(const BufferInfo& bufferInfo, const QString &nicks); void handlePart(const BufferInfo &bufferInfo, const QString &text); void handlePing(const BufferInfo &bufferInfo, const QString &text); + void handlePrint(const BufferInfo &bufferInfo, const QString &text); void handleQuery(const BufferInfo &bufferInfo, const QString &text); void handleQuit(const BufferInfo &bufferInfo, const QString &text); void handleQuote(const BufferInfo &bufferInfo, const QString &text); diff -Nru quassel-0.11.0/src/core/coreusersettings.cpp quassel-0.12~beta1/src/core/coreusersettings.cpp --- quassel-0.11.0/src/core/coreusersettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreusersettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/coreusersettings.h quassel-0.12~beta1/src/core/coreusersettings.h --- quassel-0.11.0/src/core/coreusersettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/coreusersettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/ctcpparser.cpp quassel-0.12~beta1/src/core/ctcpparser.cpp --- quassel-0.11.0/src/core/ctcpparser.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/ctcpparser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/ctcpparser.h quassel-0.12~beta1/src/core/ctcpparser.h --- quassel-0.11.0/src/core/ctcpparser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/ctcpparser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/eventstringifier.cpp quassel-0.12~beta1/src/core/eventstringifier.cpp --- quassel-0.11.0/src/core/eventstringifier.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/eventstringifier.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -733,12 +733,7 @@ if (e->ctcpType() == CtcpEvent::Query) defaultHandler(e->ctcpCmd(), e); else { -#if QT_VERSION >= 0x040700 displayMsg(e, Message::Server, tr("Received CTCP-PING answer from %1 with %2 milliseconds round trip time") .arg(nickFromMask(e->prefix())).arg(QDateTime::fromMSecsSinceEpoch(e->param().toULongLong()).msecsTo(e->timestamp()))); -#else - displayMsg(e, Message::Server, tr("Received CTCP-PING answer from %1 with %2 seconds round trip time") - .arg(nickFromMask(e->prefix())).arg(QDateTime::fromTime_t(e->param().toInt()).secsTo(e->timestamp()))); -#endif } } diff -Nru quassel-0.11.0/src/core/eventstringifier.h quassel-0.12~beta1/src/core/eventstringifier.h --- quassel-0.11.0/src/core/eventstringifier.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/eventstringifier.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/ircparser.cpp quassel-0.12~beta1/src/core/ircparser.cpp --- quassel-0.11.0/src/core/ircparser.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/ircparser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/ircparser.h quassel-0.12~beta1/src/core/ircparser.h --- quassel-0.11.0/src/core/ircparser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/ircparser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/netsplit.cpp quassel-0.12~beta1/src/core/netsplit.cpp --- quassel-0.11.0/src/core/netsplit.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/netsplit.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/netsplit.h quassel-0.12~beta1/src/core/netsplit.h --- quassel-0.11.0/src/core/netsplit.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/netsplit.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/oidentdconfiggenerator.cpp quassel-0.12~beta1/src/core/oidentdconfiggenerator.cpp --- quassel-0.11.0/src/core/oidentdconfiggenerator.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/oidentdconfiggenerator.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/oidentdconfiggenerator.h quassel-0.12~beta1/src/core/oidentdconfiggenerator.h --- quassel-0.11.0/src/core/oidentdconfiggenerator.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/oidentdconfiggenerator.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/postgresqlstorage.cpp quassel-0.12~beta1/src/core/postgresqlstorage.cpp --- quassel-0.11.0/src/core/postgresqlstorage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/postgresqlstorage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -152,12 +152,17 @@ int PostgreSqlStorage::installedSchemaVersion() { - QSqlQuery query = logDb().exec("SELECT value FROM coreinfo WHERE key = 'schemaversion'"); + QSqlQuery query(logDb()); + query.prepare("SELECT value FROM coreinfo WHERE key = 'schemaversion'"); + safeExec(query); + watchQuery(query); if (query.first()) return query.value(0).toInt(); // maybe it's really old... (schema version 0) - query = logDb().exec("SELECT MAX(version) FROM coreinfo"); + query.prepare("SELECT MAX(version) FROM coreinfo"); + safeExec(query); + watchQuery(query); if (query.first()) return query.value(0).toInt(); @@ -170,10 +175,10 @@ QSqlQuery query(logDb()); query.prepare("UPDATE coreinfo SET value = :version WHERE key = 'schemaversion'"); query.bindValue(":version", newVersion); - query.exec(); + safeExec(query); bool success = true; - if (query.lastError().isValid()) { + if (!watchQuery(query)) { qCritical() << "PostgreSqlStorage::updateSchemaVersion(int): Updating schema version failed!"; success = false; } @@ -186,10 +191,10 @@ QSqlQuery query(logDb()); query.prepare("INSERT INTO coreinfo (key, value) VALUES ('schemaversion', :version)"); query.bindValue(":version", version); - query.exec(); + safeExec(query); bool success = true; - if (query.lastError().isValid()) { + if (!watchQuery(query)) { qCritical() << "PostgreSqlStorage::setupSchemaVersion(int): Updating schema version failed!"; success = false; } @@ -221,6 +226,7 @@ query.bindValue(":userid", user.toInt()); query.bindValue(":password", cryptedPassword(password)); safeExec(query); + watchQuery(query); return query.numRowsAffected() != 0; } @@ -232,6 +238,7 @@ query.bindValue(":userid", user.toInt()); query.bindValue(":username", newName); safeExec(query); + watchQuery(query); emit userRenamed(user, newName); } @@ -243,6 +250,7 @@ query.bindValue(":username", user); query.bindValue(":password", cryptedPassword(password)); safeExec(query); + watchQuery(query); if (query.first()) { return query.value(0).toInt(); @@ -259,6 +267,7 @@ query.prepare(queryString("select_userid")); query.bindValue(":username", user); safeExec(query); + watchQuery(query); if (query.first()) { return query.value(0).toInt(); @@ -274,6 +283,7 @@ QSqlQuery query(logDb()); query.prepare(queryString("select_internaluser")); safeExec(query); + watchQuery(query); if (query.first()) { return query.value(0).toInt(); @@ -287,7 +297,7 @@ void PostgreSqlStorage::delUser(UserId user) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::delUser(): cannot start transaction!"; return; } @@ -320,6 +330,7 @@ selectQuery.bindValue(":userid", userId.toInt()); selectQuery.bindValue(":settingname", settingName); safeExec(selectQuery); + watchQuery(selectQuery); QString setQueryString; if (!selectQuery.first()) { @@ -335,6 +346,7 @@ setQuery.bindValue(":settingname", settingName); setQuery.bindValue(":settingvalue", rawData); safeExec(setQuery); + watchQuery(setQuery); } @@ -345,6 +357,7 @@ query.bindValue(":userid", userId.toInt()); query.bindValue(":settingname", settingName); safeExec(query); + watchQuery(query); if (query.first()) { QVariant data; @@ -365,7 +378,7 @@ IdentityId identityId; QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::createIdentity(): Unable to start Transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return identityId; @@ -399,8 +412,7 @@ query.bindValue(":sslkey", QByteArray()); #endif safeExec(query); - if (query.lastError().isValid()) { - watchQuery(query); + if (!watchQuery(query)) { db.rollback(); return IdentityId(); } @@ -410,7 +422,6 @@ identity.setId(identityId); if (!identityId.isValid()) { - watchQuery(query); db.rollback(); return IdentityId(); } @@ -439,7 +450,7 @@ bool PostgreSqlStorage::updateIdentity(UserId user, const CoreIdentity &identity) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::updateIdentity(): Unable to start Transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -450,6 +461,7 @@ checkQuery.bindValue(":identityid", identity.id().toInt()); checkQuery.bindValue(":userid", user.toInt()); safeExec(checkQuery); + watchQuery(checkQuery); // there should be exactly one identity for the given id and user if (!checkQuery.first() || checkQuery.value(0).toInt() != 1) { @@ -524,7 +536,7 @@ void PostgreSqlStorage::removeIdentity(UserId user, IdentityId identityId) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::removeIdentity(): Unable to start Transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return; @@ -563,6 +575,7 @@ nickQuery.prepare(queryString("select_nicks")); safeExec(query); + watchQuery(query); while (query.next()) { CoreIdentity identity(IdentityId(query.value(0).toInt())); @@ -609,7 +622,7 @@ NetworkId networkId; QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::createNetwork(): failed to begin transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -620,8 +633,7 @@ query.bindValue(":userid", user.toInt()); bindNetworkInfo(query, info); safeExec(query); - if (query.lastError().isValid()) { - watchQuery(query); + if (!watchQuery(query)) { db.rollback(); return NetworkId(); } @@ -630,7 +642,6 @@ networkId = query.value(0).toInt(); if (!networkId.isValid()) { - watchQuery(query); db.rollback(); return NetworkId(); } @@ -701,7 +712,7 @@ bool PostgreSqlStorage::updateNetwork(UserId user, const NetworkInfo &info) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::updateNetwork(): failed to begin transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -756,7 +767,7 @@ bool PostgreSqlStorage::removeNetwork(UserId user, const NetworkId &networkId) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::removeNetwork(): cannot start transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -1002,7 +1013,7 @@ BufferInfo PostgreSqlStorage::bufferInfo(UserId user, const NetworkId &networkId, BufferInfo::Type type, const QString &buffer, bool create) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::bufferInfo(): cannot start read only transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return BufferInfo(); @@ -1014,6 +1025,7 @@ query.bindValue(":userid", user.toInt()); query.bindValue(":buffercname", buffer.toLower()); safeExec(query); + watchQuery(query); if (query.first()) { BufferInfo bufferInfo = BufferInfo(query.value(0).toInt(), networkId, (BufferInfo::Type)query.value(1).toInt(), 0, buffer); @@ -1046,9 +1058,8 @@ safeExec(createQuery); - if (createQuery.lastError().isValid()) { + if (!watchQuery(createQuery)) { qWarning() << "PostgreSqlStorage::bufferInfo(): unable to create buffer"; - watchQuery(createQuery); db.rollback(); return BufferInfo(); } @@ -1135,7 +1146,7 @@ bool PostgreSqlStorage::removeBuffer(const UserId &user, const BufferId &bufferId) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::removeBuffer(): cannot start transaction!"; return false; } @@ -1170,7 +1181,7 @@ bool PostgreSqlStorage::renameBuffer(const UserId &user, const BufferId &bufferId, const QString &newName) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::renameBuffer(): cannot start transaction!"; return false; } @@ -1182,8 +1193,7 @@ query.bindValue(":userid", user.toInt()); query.bindValue(":bufferid", bufferId.toInt()); safeExec(query); - if (query.lastError().isValid()) { - watchQuery(query); + if (!watchQuery(query)) { db.rollback(); return false; } @@ -1208,7 +1218,7 @@ bool PostgreSqlStorage::mergeBuffersPermanently(const UserId &user, const BufferId &bufferId1, const BufferId &bufferId2) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::mergeBuffersPermanently(): cannot start transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -1343,7 +1353,7 @@ bool PostgreSqlStorage::logMessage(Message &msg) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::logMessage(): cannot start transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -1362,7 +1372,9 @@ if (addSenderQuery.lastError().isValid()) { rollbackSavePoint("sender_sp1", db); - getSenderIdQuery = db.exec(getSenderIdQuery.lastQuery()); + getSenderIdQuery.prepare(getSenderIdQuery.lastQuery()); + safeExec(getSenderIdQuery); + watchQuery(getSenderIdQuery); getSenderIdQuery.first(); senderId = getSenderIdQuery.value(0).toInt(); } @@ -1403,7 +1415,7 @@ bool PostgreSqlStorage::logMessages(MessageList &msgs) { QSqlDatabase db = logDb(); - if (!db.transaction()) { + if (!beginTransaction(db)) { qWarning() << "PostgreSqlStorage::logMessage(): cannot start transaction!"; qWarning() << " -" << qPrintable(db.lastError().text()); return false; @@ -1431,7 +1443,9 @@ if (addSenderQuery.lastError().isValid()) { // seems it was inserted meanwhile... by a different thread rollbackSavePoint("sender_sp", db); - selectSenderQuery = db.exec(selectSenderQuery.lastQuery()); + selectSenderQuery.prepare(selectSenderQuery.lastQuery()); + safeExec(selectSenderQuery); + watchQuery(selectSenderQuery); selectSenderQuery.first(); senderIdList << selectSenderQuery.value(0).toInt(); senderIds[sender] = selectSenderQuery.value(0).toInt(); @@ -1620,14 +1634,29 @@ // return; // } + +bool PostgreSqlStorage::beginTransaction(QSqlDatabase &db) +{ + bool result = db.transaction(); + if (!db.isOpen()) { + db = logDb(); + result = db.transaction(); + } + return result; +} + bool PostgreSqlStorage::beginReadOnlyTransaction(QSqlDatabase &db) { QSqlQuery query = db.exec("BEGIN TRANSACTION READ ONLY"); + if (!db.isOpen()) { + db = logDb(); + query = db.exec("BEGIN TRANSACTION READ ONLY"); + } return !query.lastError().isValid(); } -QSqlQuery PostgreSqlStorage::prepareAndExecuteQuery(const QString &queryname, const QString ¶mstring, const QSqlDatabase &db) +QSqlQuery PostgreSqlStorage::prepareAndExecuteQuery(const QString &queryname, const QString ¶mstring, QSqlDatabase &db) { // Query preparing is done lazily. That means that instead of always checking if the query is already prepared // we just EXECUTE and catch the error @@ -1641,10 +1670,22 @@ query = db.exec(QString("EXECUTE quassel_%1 (%2)").arg(queryname).arg(paramstring)); } - if (db.lastError().isValid()) { - // and once again: Qt leaves us without error codes so we either parse (language dependant(!)) strings + if (!db.isOpen() || db.lastError().isValid()) { + // If the query failed because the DB connection was down, reopen the connection and start a new transaction. + if (!db.isOpen()) { + db = logDb(); + if (!beginTransaction(db)) { + qWarning() << "PostgreSqlStorage::prepareAndExecuteQuery(): cannot start transaction while recovering from connection loss!"; + qWarning() << " -" << qPrintable(db.lastError().text()); + return query; + } + db.exec("SAVEPOINT quassel_prepare_query"); + } else { + db.exec("ROLLBACK TO SAVEPOINT quassel_prepare_query"); + } + + // and once again: Qt leaves us without error codes so we either parse (language dependent(!)) strings // or we just guess the error. As we're only interested in unprepared queries, this will be our guess. :) - db.exec("ROLLBACK TO SAVEPOINT quassel_prepare_query"); QSqlQuery checkQuery = db.exec(QString("SELECT count(name) FROM pg_prepared_statements WHERE name = 'quassel_%1' AND from_sql = TRUE").arg(queryname.toLower())); checkQuery.first(); if (checkQuery.value(0).toInt() == 0) { @@ -1655,7 +1696,7 @@ return QSqlQuery(db); } } - // we alwas execute the query again, even if the query was already prepared. + // we always execute the query again, even if the query was already prepared. // this ensures, that the error is properly propagated to the calling function // (otherwise the last call would be the testing select to pg_prepared_statements // which always gives a proper result and the error would be lost) @@ -1674,7 +1715,7 @@ } -QSqlQuery PostgreSqlStorage::executePreparedQuery(const QString &queryname, const QVariantList ¶ms, const QSqlDatabase &db) +QSqlQuery PostgreSqlStorage::executePreparedQuery(const QString &queryname, const QVariantList ¶ms, QSqlDatabase &db) { QSqlDriver *driver = db.driver(); @@ -1700,7 +1741,7 @@ } -QSqlQuery PostgreSqlStorage::executePreparedQuery(const QString &queryname, const QVariant ¶m, const QSqlDatabase &db) +QSqlQuery PostgreSqlStorage::executePreparedQuery(const QString &queryname, const QVariant ¶m, QSqlDatabase &db) { QSqlField field; field.setType(param.type()); @@ -1720,6 +1761,26 @@ } +void PostgreSqlStorage::safeExec(QSqlQuery &query) +{ + // If the query fails due to the connection being gone, it seems to cause + // exec() to return false but no lastError to be set + if(!query.exec() && !query.lastError().isValid()) + { + QSqlDatabase db = logDb(); + QSqlQuery retryQuery(db); + retryQuery.prepare(query.lastQuery()); + QMapIterator i(query.boundValues()); + while (i.hasNext()) + { + i.next(); + retryQuery.bindValue(i.key(),i.value()); + } + query = retryQuery; + query.exec(); + } +} + // ======================================== // PostgreSqlMigrationWriter // ======================================== diff -Nru quassel-0.11.0/src/core/postgresqlstorage.h quassel-0.12~beta1/src/core/postgresqlstorage.h --- quassel-0.11.0/src/core/postgresqlstorage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/postgresqlstorage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -116,10 +116,11 @@ virtual bool setupSchemaVersion(int version); void safeExec(QSqlQuery &query); + bool beginTransaction(QSqlDatabase &db); bool beginReadOnlyTransaction(QSqlDatabase &db); - QSqlQuery executePreparedQuery(const QString &queryname, const QVariantList ¶ms, const QSqlDatabase &db); - QSqlQuery executePreparedQuery(const QString &queryname, const QVariant ¶m, const QSqlDatabase &db); + QSqlQuery executePreparedQuery(const QString &queryname, const QVariantList ¶ms, QSqlDatabase &db); + QSqlQuery executePreparedQuery(const QString &queryname, const QVariant ¶m, QSqlDatabase &db); void deallocateQuery(const QString &queryname, const QSqlDatabase &db); inline void savePoint(const QString &handle, const QSqlDatabase &db) { db.exec(QString("SAVEPOINT %1").arg(handle)); } @@ -129,8 +130,8 @@ private: void bindNetworkInfo(QSqlQuery &query, const NetworkInfo &info); void bindServerInfo(QSqlQuery &query, const Network::Server &server); - QSqlQuery prepareAndExecuteQuery(const QString &queryname, const QString ¶mstring, const QSqlDatabase &db); - inline QSqlQuery prepareAndExecuteQuery(const QString &queryname, const QSqlDatabase &db) { return prepareAndExecuteQuery(queryname, QString(), db); } + QSqlQuery prepareAndExecuteQuery(const QString &queryname, const QString ¶mstring, QSqlDatabase &db); + inline QSqlQuery prepareAndExecuteQuery(const QString &queryname, QSqlDatabase &db) { return prepareAndExecuteQuery(queryname, QString(), db); } QString _hostName; int _port; @@ -140,8 +141,6 @@ }; -inline void PostgreSqlStorage::safeExec(QSqlQuery &query) { query.exec(); } - // ======================================== // PostgreSqlMigration // ======================================== diff -Nru quassel-0.11.0/src/core/sessionthread.cpp quassel-0.12~beta1/src/core/sessionthread.cpp --- quassel-0.11.0/src/core/sessionthread.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/sessionthread.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -121,6 +121,7 @@ void SessionThread::run() { _session = new CoreSession(user(), _restoreState); + connect(_session, SIGNAL(passwordChangeRequested(UserId, QString)), SIGNAL(passwordChangeRequested(UserId, QString))); connect(this, SIGNAL(addRemoteClient(RemotePeer*)), _session, SLOT(addClient(RemotePeer*))); connect(this, SIGNAL(addInternalClient(InternalPeer*)), _session, SLOT(addClient(InternalPeer*))); connect(_session, SIGNAL(sessionState(Protocol::SessionState)), Core::instance(), SIGNAL(sessionState(Protocol::SessionState))); diff -Nru quassel-0.11.0/src/core/sessionthread.h quassel-0.12~beta1/src/core/sessionthread.h --- quassel-0.11.0/src/core/sessionthread.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/sessionthread.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -57,6 +57,8 @@ void addRemoteClient(RemotePeer *peer); void addInternalClient(InternalPeer *peer); + void passwordChangeRequested(UserId user, QString newPassword); + private: CoreSession *_session; UserId _user; diff -Nru quassel-0.11.0/src/core/sqlitestorage.cpp quassel-0.12~beta1/src/core/sqlitestorage.cpp --- quassel-0.11.0/src/core/sqlitestorage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/sqlitestorage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/sqlitestorage.h quassel-0.12~beta1/src/core/sqlitestorage.h --- quassel-0.11.0/src/core/sqlitestorage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/sqlitestorage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/sslserver.cpp quassel-0.12~beta1/src/core/sslserver.cpp --- quassel-0.11.0/src/core/sslserver.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/sslserver.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/sslserver.h quassel-0.12~beta1/src/core/sslserver.h --- quassel-0.11.0/src/core/sslserver.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/sslserver.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/storage.cpp quassel-0.12~beta1/src/core/storage.cpp --- quassel-0.11.0/src/core/storage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/storage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/core/storage.h quassel-0.12~beta1/src/core/storage.h --- quassel-0.11.0/src/core/storage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/core/storage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/aboutdlg.cpp quassel-0.12~beta1/src/qtui/aboutdlg.cpp --- quassel-0.11.0/src/qtui/aboutdlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/aboutdlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,17 +18,22 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include "aboutdlg.h" + #include +#include -#include "aboutdlg.h" -#include "icon.h" -#include "iconloader.h" +#include "aboutdata.h" #include "quassel.h" -AboutDlg::AboutDlg(QWidget *parent) : QDialog(parent) +AboutDlg::AboutDlg(QWidget *parent) + : QDialog(parent) + , _aboutData(new AboutData(this)) { + AboutData::setQuasselPersons(_aboutData); + ui.setupUi(this); - ui.quasselLogo->setPixmap(DesktopIcon("quassel", IconLoader::SizeHuge)); + ui.quasselLogo->setPixmap(QIcon(":/icons/quassel-64.png").pixmap(64)); // don't let the icon theme affect our logo here ui.versionLabel->setText(QString(tr("Version: %1
Protocol version: %2
Built: %3")) .arg(Quassel::buildInfo().fancyVersionString) @@ -39,7 +44,7 @@ ui.contributorTextBrowser->setHtml(contributors()); ui.thanksToTextBrowser->setHtml(thanksTo()); - setWindowIcon(Icon("quassel")); + setWindowIcon(QIcon::fromTheme("quassel", QIcon(":/icons/quassel.png"))); } @@ -55,7 +60,7 @@ "Most icons are © by the Oxygen Team and used under the " "LGPL.

" "Please use http://bugs.quassel-irc.org to report bugs." - ).arg("2005-2014"); + ).arg("2005-2015"); return res; } @@ -64,16 +69,14 @@ QString AboutDlg::authors() const { QString res; - res = tr("Quassel IRC is mainly developed by:") + - "
" - "
Manuel \"Sputnick\" Nickschas
sput@quassel-irc.org
" - "Project Founder, Lead Developer
" - "
Marcus \"EgS\" Eggenberger
egs@quassel-irc.org
" - "Project Motivator, Lead Developer, Mac Maintainer
" - "
Alexander \"phon\" von Renteln
phon@quassel-irc.org
" - "Developer, Windows Maintainer
" - "
"; - + res = tr("Quassel IRC is mainly developed by:") + "
"; + for (const auto &person : _aboutData->authors()) { + res.append("
" + person.prettyName() + "
"); + if (!person.emailAddress().isEmpty()) + res.append("" + person.emailAddress() + "
"); + res.append("" + person.task() + "
"); + } + res.append("
"); return res; } @@ -81,126 +84,11 @@ QString AboutDlg::contributors() const { QString res; - res = tr("We would like to thank the following contributors (in alphabetical order) and everybody we forgot to mention here:") - + QString::fromUtf8("
" - "
" - "
Daniel \"al\" Albers
Master Of Translation, many fixes and enhancements
" - "
Liudas Alisauskas
Lithuanian translation
" - "
Terje \"tan\" Andersen
Norwegian translation, documentation
" - "
Jens \"amiconn\" Arnold
Postgres migration fixes
" - "
Adolfo Jayme Barrientos
Spanish translation
" - "
Mattia Basaglia
Fixes
" - "
Pete \"elbeardmorez\" Beardmore
Linewrap for input line
" - "
Rafael \"EagleScreen\" Belmonte
Spanish translation
" - "
Sergiu Bivol
Romanian translation
" - "
Bruno Brigras
Crash fixes
" - "
Florent Castelli
Sanitize topic handling
" - "
Theo \"tampakrap\" Chatzimichos
Greek translation
" - "
Yuri Chornoivan
Ukrainian translation
" - "
Tomáš \"scarabeus\" Chvátal
Czech translation
" - "
\"Condex\"
Galician translation
" - "
Joshua \"tvakah\" Corbin
Various fixes
" - "
\"cordata\"
Esperanto translation
" - "
Matthias \"pennywise\" Coy
German translation
" - "
\"derpella\"
Polish translation
" - "
\"Dorian\"
French translation
" - "
Luke Faraone
Doc fixes
" - "
Chris \"stitch\" Fuenty
SASL support
" - "
Kevin \"KRF\" Funk
German translation
" - "
Fabiano \"elbryan\" Francesconi
Italian translation
" - "
Leo Franchi
OSX improvements
" - "
Sebastien Fricker
Audio backend improvements
" - "
Alf Gaida
Language improvements
" - "
Aurélien \"agateau\" Gâteau
Message Indicator support
" - "
Marco \"kaffeedoktor\" Genise
Ideas, hacking, motivation
" - "
Felix \"debfx\" Geyer
Certificate handling improvements
" - "
Volkan Gezer
Turkish translation
" - "
Sjors \"dazjorz\" Gielen
Fixes
" - "
Sebastian \"seezer\" Goth
Many improvements and features
" - "
Michael \"brot\" Groh
German translation, fixes
" - "
\"Gryllida\"
IRC parser improvements
" - "
H. İbrahim \"igungor\" Güngör
Turkish translation
" - "
Jiri Grönroos
Finnish translation
" - "
Chris \"Zren\" H
Various improvements
" - "
Edward Hades
Russian translation
" - "
John \"nox\" Hand
Former All-Seeing Eye logo
" - "
Adam \"2kah\" Harwood
ChatView improvements
" - "
Jonas \"Dante\" Heese
Project founder, various improvements
" - "
Thomas \"Datafreak\" Hogh
Windows builder
" - "
Johannes \"j0hu\" Huber
Many fixes and features, bug triaging
" - "
Theofilos Intzoglou
Greek translation
" - "
Jovan Jojkić
Serbian translation
" - "
Allan Jude
Documentation improvements
" - "
Michael \"ycros\" Kedzierski
Mac fixes
" - "
Scott \"ScottK\" Kitterman
Kubuntu nightly packager, (packaging/build system) bughunter
" - "
Paul \"Haudrauf\" Klumpp
Initial design and mainwindow layout
" - "
Maia Kozheva
Russian translation
" - "
Tae-Hoon Kwon
Korean translation
" - "
\"Larso\"
Finnish translation
" - "
Patrick \"bonsaikitten\" Lauer
Gentoo packaging
" - "
Chris \"Fish-Face\" Le Sueur
Various fixes and improvements
" - "
Jerome \"Adys\" Leclanche
Context menu fixes
" - "
Hendrik \"nevcairiel\" Leppkes
Various features
" - "
Jason Lynch
Bugfixes
" - "
Awad \"firesock\" Mackie
ChatView improvements
" - "
Michael \"mamarley\" Marley
Various fixes and improvements
" - "
Martin \"m4yer\" Mayer
German translation
" - "
Daniel \"hydrogen\" Meltzer
Various fixes and improvements
" - "
Sebastian Meyer
Fixes
" - "
Daniel E. Moctezuma
Japanese translation
" - "
Chris \"kode54\" Moeller
Various fixes and improvements
" - "
Thomas Müller
Fixes, Debian packaging
" - "
Gábor \"ELITE_x\" Németh
Hungarian translation
" - "
Per Nielsen
Danish translation
" - "
J-P Nurmi
Fixes
" - "
Marco \"Quizzlo\" Paolone
Italian translation
" - "
Bas \"Tucos\" Pape
Many fixes and improvements, bug and patch triaging, tireless community support
" - "
Bruno Patri
French translation
" - "
Drew \"LinuxDolt\" Patridge
BluesTheme stylesheet
" - "
Celeste \"seele\" Paul
Usability Queen
" - "
Vit Pelcak
Czech translation
" - "
Regis \"ZRegis\" Perrin
French translation
" - "
Diego \"Flameeyes\" Pettenò
Gentoo maintainer, build system improvements
" - "
Simon Philips
Dutch translation
" - "
Daniel \"billie\" Pielmeier
Gentoo maintainer
" - "
Nuno \"pinheiro\" Pinheiro
Tons of Oxygen icons including our application icon
" - "
David Planella
Translation system fixes
" - "
Jure \"JLP\" Repinc
Slovenian translation
" - "
Patrick \"TheOneRing\" von Reth
MinGW support, SNORE backend, Windows packager
" - "
Dirk \"MarcLandis\" Rettschlag
Various fixes and new features
" - "
Miguel Revilla
Spanish translation
" - "
Jaak Ristioja
Fixes
" - "
David \"Bombe\" Roden
Fixes
" - "
Henning \"honk\" Rohlfs
Various fixes
" - "
Stella \"differentreality\" Rouzi
Greek translation
" - "
\"salnx\"
Highlight configuration improvements
" - "
Martin \"sandsmark\" Sandsmark
Core fixes, Quasseldroid
" - "
David Sansome
OSX Notification Center support
" - "
Dennis \"DevUrandom\" Schridde
D-Bus notifications
" - "
Jussi \"jussi01\" Schultink
Tireless tester, {ku|U}buntu tester and lobbyist, liters of delicious Finnish alcohol
" - "
Tim \"xAFFE\" Schumacher
Fixes and feedback
" - "
\"sfionov\"
Russian translation
" - "
Harald \"apachelogger\" Sitter
{ku|U}buntu packager, motivator, promoter
" - "
Ramanathan Sivagurunathan
Fixes
" - "
Stefanos Sofroniou
Greek translation
" - "
Rüdiger \"ruediger\" Sonderfeld
Emacs keybindings
" - "
Alexander Stein
Tray icon fix
" - "
Daniel \"son\" Steinmetz
Early beta tester and bughunter (on Vista™!)
" - "
Jesper Thomschütz
Various fixes
" - "
Arthur \"roentgen\" Titeica
Romanian translation
" - "
\"ToBeFree\"
German translation
" - "
Edward \"Aides\" Toroshchin
Russian translation
" - "
Adam \"adamt\" Tulinius
Early beta tester and bughunter, Danish translation
" - "
Deniz Türkoglu
Mac fixes
" - "
Frederik M.J. \"freqmod\" Vestre
Norwegian translation
" - "
Atte Virtanen
Finnish translation
" - "
Pavel \"int\" Volkovitskiy
Early beta tester and bughunter
" - "
Roscoe van Wyk
Fixes
" - "
Portuguese translation
" - "
Benjamin \"zbenjamin\" Zeller
Windows build system fixes
" - "
\"zeugma\"
Turkish translation
" - "

" - "...and anybody else finding and reporting bugs, giving feedback, helping others and being part of the community!"); + res = tr("We would like to thank the following contributors (in alphabetical order) and everybody we forgot to mention here:") + "
"; + for (const auto &person : _aboutData->credits()) { + res.append("
" + person.prettyName() + "
" + person.task() + "
"); + } + res.append("
" + tr("...and anybody else finding and reporting bugs, giving feedback, helping others and being part of the community!")); return res; } @@ -212,13 +100,13 @@ res = tr("Special thanks goes to:
" "
" "
 John \"nox\" Hand
" - "
for the original Quassel icon - The All-Seeing Eye" + "
for the original Quassel icon - The All-Seeing Eye
" "
 The Oxygen Team
" - "
for creating all the artwork you see throughout Quassel
" + "
for creating all the artwork you see throughout Quassel
" "
 Qt Software formerly known as Trolltech
" - "
for creating Qt and Qtopia, and for sponsoring development of QuasselTopia with Greenphones and more
" + "
for creating Qt and Qtopia, and for sponsoring development of QuasselTopia with Greenphones and more
" "
" - "
for keeping Qt alive, and for sponsoring development of Quassel Mobile with N810s
" + "
for sponsoring development of Quassel Mobile with N810s
" ); return res; diff -Nru quassel-0.11.0/src/qtui/aboutdlg.h quassel-0.12~beta1/src/qtui/aboutdlg.h --- quassel-0.11.0/src/qtui/aboutdlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/aboutdlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -25,6 +25,8 @@ #include "ui_aboutdlg.h" +class AboutData; + class AboutDlg : public QDialog { Q_OBJECT @@ -39,6 +41,8 @@ QString authors() const; QString contributors() const; QString thanksTo() const; + + AboutData *_aboutData; }; diff -Nru quassel-0.11.0/src/qtui/awaylogfilter.cpp quassel-0.12~beta1/src/qtui/awaylogfilter.cpp --- quassel-0.11.0/src/qtui/awaylogfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/awaylogfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/awaylogfilter.h quassel-0.12~beta1/src/qtui/awaylogfilter.h --- quassel-0.11.0/src/qtui/awaylogfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/awaylogfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/awaylogview.cpp quassel-0.12~beta1/src/qtui/awaylogview.cpp --- quassel-0.11.0/src/qtui/awaylogview.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/awaylogview.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/awaylogview.h quassel-0.12~beta1/src/qtui/awaylogview.h --- quassel-0.11.0/src/qtui/awaylogview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/awaylogview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/bufferwidget.cpp quassel-0.12~beta1/src/qtui/bufferwidget.cpp --- quassel-0.11.0/src/qtui/bufferwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/bufferwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,6 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include @@ -32,7 +33,6 @@ #include "chatviewsearchcontroller.h" #include "chatviewsettings.h" #include "client.h" -#include "iconloader.h" #include "multilineedit.h" #include "qtui.h" #include "settings.h" @@ -77,16 +77,16 @@ Action *zoomInChatview = coll->add("ZoomInChatView", this, SLOT(zoomIn())); zoomInChatview->setText(tr("Zoom In")); - zoomInChatview->setIcon(SmallIcon("zoom-in")); + zoomInChatview->setIcon(QIcon::fromTheme("zoom-in")); zoomInChatview->setShortcut(QKeySequence::ZoomIn); Action *zoomOutChatview = coll->add("ZoomOutChatView", this, SLOT(zoomOut())); - zoomOutChatview->setIcon(SmallIcon("zoom-out")); + zoomOutChatview->setIcon(QIcon::fromTheme("zoom-out")); zoomOutChatview->setText(tr("Zoom Out")); zoomOutChatview->setShortcut(QKeySequence::ZoomOut); Action *zoomOriginalChatview = coll->add("ZoomOriginalChatView", this, SLOT(zoomOriginal())); - zoomOriginalChatview->setIcon(SmallIcon("zoom-original")); + zoomOriginalChatview->setIcon(QIcon::fromTheme("zoom-original")); zoomOriginalChatview->setText(tr("Actual Size")); //zoomOriginalChatview->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_0)); // used for RTS switching diff -Nru quassel-0.11.0/src/qtui/bufferwidget.h quassel-0.12~beta1/src/qtui/bufferwidget.h --- quassel-0.11.0/src/qtui/bufferwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/bufferwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/channellistdlg.cpp quassel-0.12~beta1/src/qtui/channellistdlg.cpp --- quassel-0.11.0/src/qtui/channellistdlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/channellistdlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,12 +22,11 @@ #include #include +#include #include #include "client.h" #include "clientirclisthelper.h" -#include "icon.h" -#include "iconloader.h" ChannelListDlg::ChannelListDlg(QWidget *parent) : QDialog(parent), @@ -42,7 +41,7 @@ _sortFilter.setFilterKeyColumn(-1); ui.setupUi(this); - ui.advancedModeLabel->setPixmap(BarIcon("edit-rename")); + ui.advancedModeLabel->setPixmap(QIcon::fromTheme("edit-rename").pixmap(22)); ui.channelListView->setSelectionBehavior(QAbstractItemView::SelectRows); ui.channelListView->setSelectionMode(QAbstractItemView::SingleSelection); @@ -55,7 +54,7 @@ ui.searchChannelsButton->setAutoDefault(false); - setWindowIcon(Icon("format-list-unordered")); + setWindowIcon(QIcon::fromTheme("format-list-unordered")); connect(ui.advancedModeLabel, SIGNAL(clicked()), this, SLOT(toggleMode())); connect(ui.searchChannelsButton, SIGNAL(clicked()), this, SLOT(requestSearch())); @@ -133,14 +132,14 @@ delete _simpleModeSpacer; _simpleModeSpacer = 0; } - ui.advancedModeLabel->setPixmap(BarIcon("edit-clear-locationbar-rtl")); + ui.advancedModeLabel->setPixmap(QIcon::fromTheme("edit-clear-locationbar-rtl", QIcon::fromTheme("edit-clear")).pixmap(16)); } else { if (!_simpleModeSpacer) { _simpleModeSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); ui.searchLayout->insertSpacerItem(0, _simpleModeSpacer); } - ui.advancedModeLabel->setPixmap(BarIcon("edit-rename")); + ui.advancedModeLabel->setPixmap(QIcon::fromTheme("edit-rename").pixmap(16)); } ui.channelNameLineEdit->clear(); diff -Nru quassel-0.11.0/src/qtui/channellistdlg.h quassel-0.12~beta1/src/qtui/channellistdlg.h --- quassel-0.11.0/src/qtui/channellistdlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/channellistdlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatitem.cpp quassel-0.12~beta1/src/qtui/chatitem.cpp --- quassel-0.11.0/src/qtui/chatitem.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatitem.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -35,7 +36,6 @@ #include "chatlinemodel.h" #include "chatview.h" #include "contextmenuactionprovider.h" -#include "iconloader.h" #include "mainwin.h" #include "qtui.h" #include "qtuistyle.h" @@ -798,7 +798,7 @@ switch (click.type()) { case Clickable::Url: privateData()->activeClickable = click; - menu->addAction(SmallIcon("edit-copy"), tr("Copy Link Address"), + menu->addAction(QIcon::fromTheme("edit-copy"), tr("Copy Link Address"), &_actionProxy, SLOT(copyLinkToClipboard()))->setData(QVariant::fromValue(this)); break; case Clickable::Channel: diff -Nru quassel-0.11.0/src/qtui/chatitem.h quassel-0.12~beta1/src/qtui/chatitem.h --- quassel-0.11.0/src/qtui/chatitem.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatitem.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatline.cpp quassel-0.12~beta1/src/qtui/chatline.cpp --- quassel-0.11.0/src/qtui/chatline.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatline.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatline.h quassel-0.12~beta1/src/qtui/chatline.h --- quassel-0.11.0/src/qtui/chatline.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatline.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatlinemodel.cpp quassel-0.12~beta1/src/qtui/chatlinemodel.cpp --- quassel-0.11.0/src/qtui/chatlinemodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatlinemodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatlinemodel.h quassel-0.12~beta1/src/qtui/chatlinemodel.h --- quassel-0.11.0/src/qtui/chatlinemodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatlinemodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatlinemodelitem.cpp quassel-0.12~beta1/src/qtui/chatlinemodelitem.cpp --- quassel-0.11.0/src/qtui/chatlinemodelitem.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatlinemodelitem.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatlinemodelitem.h quassel-0.12~beta1/src/qtui/chatlinemodelitem.h --- quassel-0.11.0/src/qtui/chatlinemodelitem.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatlinemodelitem.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatmonitorfilter.cpp quassel-0.12~beta1/src/qtui/chatmonitorfilter.cpp --- quassel-0.11.0/src/qtui/chatmonitorfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatmonitorfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatmonitorfilter.h quassel-0.12~beta1/src/qtui/chatmonitorfilter.h --- quassel-0.11.0/src/qtui/chatmonitorfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatmonitorfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatmonitorview.cpp quassel-0.12~beta1/src/qtui/chatmonitorview.cpp --- quassel-0.11.0/src/qtui/chatmonitorview.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatmonitorview.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,6 +21,7 @@ #include "chatmonitorview.h" #include +#include #include #include @@ -29,7 +30,6 @@ #include "chatitem.h" #include "chatscene.h" #include "client.h" -#include "iconloader.h" #include "networkmodel.h" #include "buffermodel.h" #include "messagemodel.h" @@ -70,7 +70,7 @@ } menu->addSeparator(); - menu->addAction(SmallIcon("configure"), tr("Configure..."), this, SLOT(showSettingsPage())); + menu->addAction(QIcon::fromTheme("configure"), tr("Configure..."), this, SLOT(showSettingsPage())); } diff -Nru quassel-0.11.0/src/qtui/chatmonitorview.h quassel-0.12~beta1/src/qtui/chatmonitorview.h --- quassel-0.11.0/src/qtui/chatmonitorview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatmonitorview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatscene.cpp quassel-0.12~beta1/src/qtui/chatscene.cpp --- quassel-0.11.0/src/qtui/chatscene.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatscene.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -23,13 +23,14 @@ #include #include #include +#include #include #include #include #include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include #else # include @@ -48,7 +49,6 @@ #include "clientbacklogmanager.h" #include "columnhandleitem.h" #include "contextmenuactionprovider.h" -#include "iconloader.h" #include "mainwin.h" #include "markerlineitem.h" #include "messagefilter.h" @@ -823,7 +823,7 @@ // If we have text selected, insert the Copy Selection as first item if (isPosOverSelection(pos)) { QAction *sep = menu.insertSeparator(menu.actions().first()); - QAction *act = new Action(SmallIcon("edit-copy"), tr("Copy Selection"), &menu, this, + QAction *act = new Action(QIcon::fromTheme("edit-copy"), tr("Copy Selection"), &menu, this, SLOT(selectionToClipboard()), QKeySequence::Copy); menu.insertAction(sep, act); @@ -832,7 +832,7 @@ searchSelectionText = searchSelectionText.left(_webSearchSelectionTextMaxVisible).append(QString::fromUtf8("…")); searchSelectionText = tr("Search '%1'").arg(searchSelectionText); - menu.addAction(SmallIcon("edit-find"), searchSelectionText, this, SLOT(webSearchOnSelection())); + menu.addAction(QIcon::fromTheme("edit-find"), searchSelectionText, this, SLOT(webSearchOnSelection())); } if (QtUi::mainWindow()->menuBar()->isHidden()) diff -Nru quassel-0.11.0/src/qtui/chatscene.h quassel-0.12~beta1/src/qtui/chatscene.h --- quassel-0.11.0/src/qtui/chatscene.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatscene.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatview.cpp quassel-0.12~beta1/src/qtui/chatview.cpp --- quassel-0.11.0/src/qtui/chatview.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatview.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatview.h quassel-0.12~beta1/src/qtui/chatview.h --- quassel-0.11.0/src/qtui/chatview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatviewsearchbar.cpp quassel-0.12~beta1/src/qtui/chatviewsearchbar.cpp --- quassel-0.11.0/src/qtui/chatviewsearchbar.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatviewsearchbar.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,18 +20,19 @@ #include "chatviewsearchbar.h" +#include + #include "action.h" #include "actioncollection.h" -#include "iconloader.h" #include "qtui.h" ChatViewSearchBar::ChatViewSearchBar(QWidget *parent) : QWidget(parent) { ui.setupUi(this); - ui.hideButton->setIcon(BarIcon("dialog-close")); - ui.searchUpButton->setIcon(SmallIcon("go-up")); - ui.searchDownButton->setIcon(SmallIcon("go-down")); + ui.hideButton->setIcon(QIcon::fromTheme("dialog-close")); + ui.searchUpButton->setIcon(QIcon::fromTheme("go-up")); + ui.searchDownButton->setIcon(QIcon::fromTheme("go-down")); _searchDelayTimer.setSingleShot(true); layout()->setContentsMargins(0, 0, 0, 0); diff -Nru quassel-0.11.0/src/qtui/chatviewsearchbar.h quassel-0.12~beta1/src/qtui/chatviewsearchbar.h --- quassel-0.11.0/src/qtui/chatviewsearchbar.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatviewsearchbar.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatviewsearchcontroller.cpp quassel-0.12~beta1/src/qtui/chatviewsearchcontroller.cpp --- quassel-0.11.0/src/qtui/chatviewsearchcontroller.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatviewsearchcontroller.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatviewsearchcontroller.h quassel-0.12~beta1/src/qtui/chatviewsearchcontroller.h --- quassel-0.11.0/src/qtui/chatviewsearchcontroller.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatviewsearchcontroller.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,7 +21,7 @@ #ifndef CHATVIEWSEARCHCONTROLLER_H #define CHATVIEWSEARCHCONTROLLER_H -#include +#include #include #include #include @@ -87,11 +87,11 @@ // Highlight Items -#include - class SearchHighlightItem : public QObject, public QGraphicsItem { Q_OBJECT + +// Apparently, there are broken Qt 4.8.2 mocs around that will fail without this (otherwise useless) #if... looking at you, Wheezy! #if QT_VERSION >= 0x040600 Q_INTERFACES(QGraphicsItem) #endif diff -Nru quassel-0.11.0/src/qtui/chatviewsettings.cpp quassel-0.12~beta1/src/qtui/chatviewsettings.cpp --- quassel-0.11.0/src/qtui/chatviewsettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatviewsettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/chatviewsettings.h quassel-0.12~beta1/src/qtui/chatviewsettings.h --- quassel-0.11.0/src/qtui/chatviewsettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/chatviewsettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/CMakeLists.txt quassel-0.12~beta1/src/qtui/CMakeLists.txt --- quassel-0.11.0/src/qtui/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -81,13 +81,18 @@ set(LIBS ) set(QT_MODULES ) -if (KDE4_FOUND) +if (WITH_KDE4) add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) include_directories(${KDE4_INCLUDES}) list(APPEND SOURCES knotificationbackend.cpp) list(APPEND LIBS ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBRARY} ${KDE4_KNOTIFYCONFIG_LIBRARY}) endif() +if (WITH_KF5) + list(APPEND SOURCES knotificationbackend.cpp) + list(APPEND LIBS KF5::ConfigWidgets KF5::Notifications KF5::NotifyConfig KF5::WidgetsAddons KF5::XmlGui) +endif() + if (LIBSNORE_FOUND) add_definitions(-DHAVE_LIBSNORE) include_directories(${LIBSNORE_INCLUDE_DIRS}) @@ -172,7 +177,6 @@ ${CMAKE_SOURCE_DIR}/src/qtui ${CMAKE_SOURCE_DIR}/src/qtui/settingspages ${CMAKE_SOURCE_DIR}/src/uisupport - ) qt_wrap_ui(UI ${FORMPATH} ${SPFRM}) @@ -185,8 +189,4 @@ add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${UI}) qt_use_modules(mod_qtui Core Gui Network ${QT_MODULES}) -if (LIBS) - target_link_libraries(mod_qtui ${LIBS}) -endif() - -add_dependencies(mod_qtui mod_common mod_client mod_uisupport) +target_link_libraries(mod_qtui mod_client mod_common mod_uisupport ${LIBS}) diff -Nru quassel-0.11.0/src/qtui/columnhandleitem.cpp quassel-0.12~beta1/src/qtui/columnhandleitem.cpp --- quassel-0.11.0/src/qtui/columnhandleitem.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/columnhandleitem.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/columnhandleitem.h quassel-0.12~beta1/src/qtui/columnhandleitem.h --- quassel-0.11.0/src/qtui/columnhandleitem.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/columnhandleitem.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/coreconfigwizard.cpp quassel-0.12~beta1/src/qtui/coreconfigwizard.cpp --- quassel-0.11.0/src/qtui/coreconfigwizard.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreconfigwizard.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,11 +21,11 @@ #include #include #include +#include #include #include "coreconfigwizard.h" #include "coreconnection.h" -#include "iconloader.h" CoreConfigWizard::CoreConfigWizard(CoreConnection *connection, const QList &backends, QWidget *parent) : QWizard(parent), @@ -67,7 +67,7 @@ setModal(true); setWindowTitle(tr("Core Configuration Wizard")); - setPixmap(QWizard::LogoPixmap, DesktopIcon("quassel")); + setPixmap(QWizard::LogoPixmap, QIcon::fromTheme("quassel", QIcon(":/icons/quassel.png")).pixmap(48)); connect(connection, SIGNAL(coreSetupSuccess()), SLOT(coreSetupSuccess())); connect(connection, SIGNAL(coreSetupFailed(QString)), SLOT(coreSetupFailed(QString))); diff -Nru quassel-0.11.0/src/qtui/coreconfigwizard.h quassel-0.12~beta1/src/qtui/coreconfigwizard.h --- quassel-0.11.0/src/qtui/coreconfigwizard.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreconfigwizard.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/coreconnectdlg.cpp quassel-0.12~beta1/src/qtui/coreconnectdlg.cpp --- quassel-0.11.0/src/qtui/coreconnectdlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreconnectdlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -19,11 +19,11 @@ ***************************************************************************/ #include +#include #include #include "coreconnectdlg.h" -#include "iconloader.h" #include "clientsettings.h" #include "coreaccountsettingspage.h" @@ -39,7 +39,7 @@ _settingsPage->setSelectedAccount(lastAccount); setWindowTitle(tr("Connect to Core")); - setWindowIcon(SmallIcon("network-disconnect")); + setWindowIcon(QIcon::fromTheme("network-disconnect")); QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(_settingsPage); diff -Nru quassel-0.11.0/src/qtui/coreconnectdlg.h quassel-0.12~beta1/src/qtui/coreconnectdlg.h --- quassel-0.11.0/src/qtui/coreconnectdlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreconnectdlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/coreconnectionstatuswidget.cpp quassel-0.12~beta1/src/qtui/coreconnectionstatuswidget.cpp --- quassel-0.11.0/src/qtui/coreconnectionstatuswidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreconnectionstatuswidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,8 +20,9 @@ #include "coreconnectionstatuswidget.h" +#include + #include "client.h" -#include "iconloader.h" #include "signalproxy.h" CoreConnectionStatusWidget::CoreConnectionStatusWidget(CoreConnection *connection, QWidget *parent) @@ -79,11 +80,11 @@ { if (state >= CoreConnection::Connected) { if (coreConnection()->isEncrypted()) { - ui.sslLabel->setPixmap(SmallIcon("security-high")); + ui.sslLabel->setPixmap(QIcon::fromTheme("security-high").pixmap(16)); ui.sslLabel->setToolTip(tr("The connection to your core is encrypted with SSL.")); } else { - ui.sslLabel->setPixmap(SmallIcon("security-low")); + ui.sslLabel->setPixmap(QIcon::fromTheme("security-low").pixmap(16)); ui.sslLabel->setToolTip(tr("The connection to your core is not encrypted.")); } ui.sslLabel->show(); diff -Nru quassel-0.11.0/src/qtui/coreconnectionstatuswidget.h quassel-0.12~beta1/src/qtui/coreconnectionstatuswidget.h --- quassel-0.11.0/src/qtui/coreconnectionstatuswidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreconnectionstatuswidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/coreinfodlg.cpp quassel-0.12~beta1/src/qtui/coreinfodlg.cpp --- quassel-0.11.0/src/qtui/coreinfodlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreinfodlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/coreinfodlg.h quassel-0.12~beta1/src/qtui/coreinfodlg.h --- quassel-0.11.0/src/qtui/coreinfodlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/coreinfodlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debugbufferviewoverlay.cpp quassel-0.12~beta1/src/qtui/debugbufferviewoverlay.cpp --- quassel-0.11.0/src/qtui/debugbufferviewoverlay.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debugbufferviewoverlay.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debugbufferviewoverlay.h quassel-0.12~beta1/src/qtui/debugbufferviewoverlay.h --- quassel-0.11.0/src/qtui/debugbufferviewoverlay.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debugbufferviewoverlay.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debugconsole.cpp quassel-0.12~beta1/src/qtui/debugconsole.cpp --- quassel-0.11.0/src/qtui/debugconsole.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debugconsole.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debugconsole.h quassel-0.12~beta1/src/qtui/debugconsole.h --- quassel-0.11.0/src/qtui/debugconsole.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debugconsole.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debuglogwidget.cpp quassel-0.12~beta1/src/qtui/debuglogwidget.cpp --- quassel-0.11.0/src/qtui/debuglogwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debuglogwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debuglogwidget.h quassel-0.12~beta1/src/qtui/debuglogwidget.h --- quassel-0.11.0/src/qtui/debuglogwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debuglogwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debugmessagemodelfilter.cpp quassel-0.12~beta1/src/qtui/debugmessagemodelfilter.cpp --- quassel-0.11.0/src/qtui/debugmessagemodelfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debugmessagemodelfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/debugmessagemodelfilter.h quassel-0.12~beta1/src/qtui/debugmessagemodelfilter.h --- quassel-0.11.0/src/qtui/debugmessagemodelfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/debugmessagemodelfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/indicatornotificationbackend.cpp quassel-0.12~beta1/src/qtui/indicatornotificationbackend.cpp --- quassel-0.11.0/src/qtui/indicatornotificationbackend.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/indicatornotificationbackend.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -20,12 +20,14 @@ #include "indicatornotificationbackend.h" +#include +#include + #include #include #include "client.h" #include "clientsettings.h" -#include "iconloader.h" #include "mainwin.h" #include "networkmodel.h" #include "qtui.h" @@ -108,8 +110,8 @@ QModelIndex index = Client::networkModel()->bufferIndex(bufferId); QVariant icon = QtUi::style()->bufferViewItemData(index, Qt::DecorationRole); - if (icon.canConvert()) { - QImage image = icon.value().toImage(); + if (icon.canConvert()) { + QImage image = icon.value().pixmap(16).toImage(); indicator->setIconProperty(image); } @@ -175,7 +177,7 @@ { ui.setupUi(this); // FIXME find proper icon (this one is used by the plasmoid as well) - ui.enabled->setIcon(SmallIcon("mail-message-new")); + ui.enabled->setIcon(QIcon::fromTheme("mail-message-new")); connect(ui.enabled, SIGNAL(toggled(bool)), SLOT(widgetChanged())); } diff -Nru quassel-0.11.0/src/qtui/inputwidget.cpp quassel-0.12~beta1/src/qtui/inputwidget.cpp --- quassel-0.11.0/src/qtui/inputwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/inputwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,12 @@ #include "inputwidget.h" +#include + #include "action.h" #include "actioncollection.h" #include "bufferview.h" #include "client.h" -#include "iconloader.h" #include "ircuser.h" #include "networkmodel.h" #include "qtui.h" @@ -60,11 +61,11 @@ ui.inputEdit->setMode(MultiLineEdit::MultiLine); ui.inputEdit->setPasteProtectionEnabled(true); - ui.boldButton->setIcon(SmallIcon("format-text-bold")); - ui.italicButton->setIcon(SmallIcon("format-text-italic")); - ui.underlineButton->setIcon(SmallIcon("format-text-underline")); - ui.textcolorButton->setIcon(SmallIcon("format-text-color")); - ui.highlightcolorButton->setIcon(SmallIcon("format-fill-color")); + ui.boldButton->setIcon(QIcon::fromTheme("format-text-bold")); + ui.italicButton->setIcon(QIcon::fromTheme("format-text-italic")); + ui.underlineButton->setIcon(QIcon::fromTheme("format-text-underline")); + ui.textcolorButton->setIcon(QIcon::fromTheme("format-text-color")); + ui.highlightcolorButton->setIcon(QIcon::fromTheme("format-fill-color")); ui.encryptionIconLabel->hide(); _colorMenu = new QMenu(); @@ -470,7 +471,7 @@ ui.ownNick->addItems(nicks); if (me && me->isAway()) - ui.ownNick->setItemData(nickIdx, SmallIcon("user-away"), Qt::DecorationRole); + ui.ownNick->setItemData(nickIdx, QIcon::fromTheme("user-away"), Qt::DecorationRole); ui.ownNick->setCurrentIndex(nickIdx); } @@ -589,7 +590,7 @@ mergeFormatOnSelection(fmt); } ui.textcolorButton->setDefaultAction(action); - ui.textcolorButton->setIcon(createColorToolButtonIcon(SmallIcon("format-text-color"), color)); + ui.textcolorButton->setIcon(createColorToolButtonIcon(QIcon::fromTheme("format-text-color"), color)); } @@ -609,7 +610,7 @@ mergeFormatOnSelection(fmt); } ui.highlightcolorButton->setDefaultAction(action); - ui.highlightcolorButton->setIcon(createColorToolButtonIcon(SmallIcon("format-fill-color"), color)); + ui.highlightcolorButton->setIcon(createColorToolButtonIcon(QIcon::fromTheme("format-fill-color"), color)); } diff -Nru quassel-0.11.0/src/qtui/inputwidget.h quassel-0.12~beta1/src/qtui/inputwidget.h --- quassel-0.11.0/src/qtui/inputwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/inputwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/ircconnectionwizard.cpp quassel-0.12~beta1/src/qtui/ircconnectionwizard.cpp --- quassel-0.11.0/src/qtui/ircconnectionwizard.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/ircconnectionwizard.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/ircconnectionwizard.h quassel-0.12~beta1/src/qtui/ircconnectionwizard.h --- quassel-0.11.0/src/qtui/ircconnectionwizard.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/ircconnectionwizard.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/knotificationbackend.cpp quassel-0.12~beta1/src/qtui/knotificationbackend.cpp --- quassel-0.11.0/src/qtui/knotificationbackend.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/knotificationbackend.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,16 +18,21 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#include -#include +#include "knotificationbackend.h" + +#include #include #include -#include "knotificationbackend.h" +#ifdef HAVE_KDE4 +# include +# include +#else +# include +# include +#endif #include "client.h" -#include "icon.h" -#include "iconloader.h" #include "mainwin.h" #include "networkmodel.h" #include "qtui.h" @@ -61,7 +66,7 @@ #else QString message = QString("<%1> %2").arg(n.sender, n.message.toHtmlEscaped()); #endif - KNotification *notification = KNotification::event(type, message, DesktopIcon("dialog-information"), QtUi::mainWindow(), + KNotification *notification = KNotification::event(type, message, QIcon::fromTheme("dialog-information").pixmap(48), QtUi::mainWindow(), KNotification::RaiseWidgetOnActivation |KNotification::CloseWhenWidgetActivated |KNotification::CloseOnTimeout); diff -Nru quassel-0.11.0/src/qtui/knotificationbackend.h quassel-0.12~beta1/src/qtui/knotificationbackend.h --- quassel-0.11.0/src/qtui/knotificationbackend.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/knotificationbackend.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,8 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef KNOTIFICATIONBACKEND_H_ -#define KNOTIFICATIONBACKEND_H_ +#pragma once #include @@ -52,7 +51,7 @@ void removeNotificationById(uint id); void updateToolTip(); - QList > > _notifications; + QList>> _notifications; }; @@ -72,6 +71,3 @@ private: KNotifyConfigWidget *_widget; }; - - -#endif diff -Nru quassel-0.11.0/src/qtui/legacysystemtray.cpp quassel-0.12~beta1/src/qtui/legacysystemtray.cpp --- quassel-0.11.0/src/qtui/legacysystemtray.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/legacysystemtray.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This file is free software; you can redistribute it and/or modify * @@ -29,7 +29,7 @@ _blinkState(false), _lastMessageId(0) { -#ifndef HAVE_KDE +#ifndef HAVE_KDE4 _trayIcon = new QSystemTrayIcon(associatedWidget()); #else _trayIcon = new KSystemTrayIcon(associatedWidget()); @@ -142,7 +142,7 @@ } -Icon LegacySystemTray::stateIcon() const +QIcon LegacySystemTray::stateIcon() const { if (mode() == Legacy && state() == NeedsAttention && !_blinkState) return SystemTray::stateIcon(Active); diff -Nru quassel-0.11.0/src/qtui/legacysystemtray.h quassel-0.12~beta1/src/qtui/legacysystemtray.h --- quassel-0.11.0/src/qtui/legacysystemtray.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/legacysystemtray.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This file is free software; you can redistribute it and/or modify * @@ -23,12 +23,13 @@ #ifndef QT_NO_SYSTEMTRAYICON -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include #else # include #endif +#include #include #include "systemtray.h" @@ -44,7 +45,7 @@ virtual bool isVisible() const; virtual inline bool isSystemTrayAvailable() const; - virtual Icon stateIcon() const; // overriden to care about blinkState + virtual QIcon stateIcon() const; // overriden to care about blinkState public slots: virtual void setState(State state); @@ -69,7 +70,7 @@ bool _blinkState; uint _lastMessageId; -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 KSystemTrayIcon *_trayIcon; #else QSystemTrayIcon *_trayIcon; diff -Nru quassel-0.11.0/src/qtui/mainpage.cpp quassel-0.12~beta1/src/qtui/mainpage.cpp --- quassel-0.11.0/src/qtui/mainpage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/mainpage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/mainpage.h quassel-0.12~beta1/src/qtui/mainpage.h --- quassel-0.11.0/src/qtui/mainpage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/mainpage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/mainwin.cpp quassel-0.12~beta1/src/qtui/mainwin.cpp --- quassel-0.11.0/src/qtui/mainwin.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/mainwin.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,21 +20,28 @@ #include "mainwin.h" +#include #include #include #include #include +#include -#ifdef HAVE_KDE -# include -# include +#ifdef HAVE_KDE4 # include # include # include # include # include # include -# include +#endif + +#ifdef HAVE_KF5 +# include +# include +# include +# include +# include #endif #ifdef Q_WS_X11 @@ -74,7 +81,6 @@ #include "debuglogwidget.h" #include "debugmessagemodelfilter.h" #include "flatproxymodel.h" -#include "iconloader.h" #include "inputwidget.h" #include "irclistmodel.h" #include "ircconnectionwizard.h" @@ -146,8 +152,7 @@ MainWin::MainWin(QWidget *parent) #ifdef HAVE_KDE - : KMainWindow(parent), - _kHelpMenu(new KHelpMenu(this, KGlobal::mainComponent().aboutData())), + : KMainWindow(parent), _kHelpMenu(new KHelpMenu(this)), #else : QMainWindow(parent), #endif @@ -192,6 +197,8 @@ connect(Client::coreConnection(), SIGNAL(handleSslErrors(const QSslSocket *, bool *, bool *)), SLOT(handleSslErrors(const QSslSocket *, bool *, bool *))); #endif + connect(this, SIGNAL(changePassword(QString)), Client::instance(), SLOT(changePassword(QString))); + // Setup Dock Areas setDockNestingEnabled(true); setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); @@ -337,17 +344,11 @@ void MainWin::updateIcon() { -#ifdef Q_OS_MAC - const int size = 128; -#else - const int size = 48; -#endif - - QPixmap icon; + QIcon icon; if (Client::isConnected()) - icon = DesktopIcon("quassel", size); + icon = QIcon::fromTheme("quassel", QIcon(":/icons/quassel-128.png")); else - icon = DesktopIcon("quassel-inactive", size); + icon = QIcon::fromTheme("quassel-inactive", QIcon(":/icons/quassel-128.png")); setWindowIcon(icon); qApp->setWindowIcon(icon); } @@ -357,16 +358,18 @@ { ActionCollection *coll = QtUi::actionCollection("General", tr("General")); // File - coll->addAction("ConnectCore", new Action(SmallIcon("network-connect"), tr("&Connect to Core..."), coll, + coll->addAction("ConnectCore", new Action(QIcon::fromTheme("network-connect"), tr("&Connect to Core..."), coll, this, SLOT(showCoreConnectionDlg()))); - coll->addAction("DisconnectCore", new Action(SmallIcon("network-disconnect"), tr("&Disconnect from Core"), coll, + coll->addAction("DisconnectCore", new Action(QIcon::fromTheme("network-disconnect"), tr("&Disconnect from Core"), coll, Client::instance(), SLOT(disconnectFromCore()))); - coll->addAction("CoreInfo", new Action(SmallIcon("help-about"), tr("Core &Info..."), coll, + coll->addAction("ChangePassword", new Action(QIcon::fromTheme("dialog-password"), tr("Change &Password..."), coll, + this, SLOT(showChangePasswordDialog()))); + coll->addAction("CoreInfo", new Action(QIcon::fromTheme("help-about"), tr("Core &Info..."), coll, this, SLOT(showCoreInfoDlg()))); - coll->addAction("ConfigureNetworks", new Action(SmallIcon("configure"), tr("Configure &Networks..."), coll, + coll->addAction("ConfigureNetworks", new Action(QIcon::fromTheme("configure"), tr("Configure &Networks..."), coll, this, SLOT(on_actionConfigureNetworks_triggered()))); // FIXME: use QKeySequence::Quit once we depend on Qt 4.6 - coll->addAction("Quit", new Action(SmallIcon("application-exit"), tr("&Quit"), coll, + coll->addAction("Quit", new Action(QIcon::fromTheme("application-exit"), tr("&Quit"), coll, this, SLOT(quit()), Qt::CTRL + Qt::Key_Q)); // View @@ -377,43 +380,43 @@ lockAct->setCheckable(true); connect(lockAct, SIGNAL(toggled(bool)), SLOT(on_actionLockLayout_toggled(bool))); - coll->addAction("ToggleSearchBar", new Action(SmallIcon("edit-find"), tr("Show &Search Bar"), coll, + coll->addAction("ToggleSearchBar", new Action(QIcon::fromTheme("edit-find"), tr("Show &Search Bar"), coll, 0, 0, QKeySequence::Find))->setCheckable(true); coll->addAction("ShowAwayLog", new Action(tr("Show Away Log"), coll, this, SLOT(showAwayLog()))); - coll->addAction("ToggleMenuBar", new Action(SmallIcon("show-menu"), tr("Show &Menubar"), coll, + coll->addAction("ToggleMenuBar", new Action(QIcon::fromTheme("show-menu"), tr("Show &Menubar"), coll, 0, 0, QKeySequence(Qt::CTRL + Qt::Key_M)))->setCheckable(true); coll->addAction("ToggleStatusBar", new Action(tr("Show Status &Bar"), coll, 0, 0))->setCheckable(true); #ifdef HAVE_KDE - QAction *fullScreenAct = KStandardAction::fullScreen(this, SLOT(onFullScreenToggled()), this, coll); + _fullScreenAction = KStandardAction::fullScreen(this, SLOT(onFullScreenToggled()), this, coll); #else - QAction *fullScreenAct = new Action(SmallIcon("view-fullscreen"), tr("&Full Screen Mode"), coll, + _fullScreenAction = new Action(QIcon::fromTheme("view-fullscreen"), tr("&Full Screen Mode"), coll, this, SLOT(onFullScreenToggled()), QKeySequence(Qt::Key_F11)); - fullScreenAct->setCheckable(true); + _fullScreenAction->setCheckable(true); + coll->addAction("ToggleFullScreen", _fullScreenAction); #endif - coll->addAction("ToggleFullScreen", fullScreenAct); // Settings - QAction *configureShortcutsAct = new Action(SmallIcon("configure-shortcuts"), tr("Configure &Shortcuts..."), coll, + QAction *configureShortcutsAct = new Action(QIcon::fromTheme("configure-shortcuts"), tr("Configure &Shortcuts..."), coll, this, SLOT(showShortcutsDlg())); configureShortcutsAct->setMenuRole(QAction::NoRole); coll->addAction("ConfigureShortcuts", configureShortcutsAct); - #ifdef Q_OS_MAC - QAction *configureQuasselAct = new Action(SmallIcon("configure"), tr("&Configure Quassel..."), coll, +#ifdef Q_OS_MAC + QAction *configureQuasselAct = new Action(QIcon::fromTheme("configure"), tr("&Configure Quassel..."), coll, this, SLOT(showSettingsDlg())); configureQuasselAct->setMenuRole(QAction::PreferencesRole); - #else - QAction *configureQuasselAct = new Action(SmallIcon("configure"), tr("&Configure Quassel..."), coll, +#else + QAction *configureQuasselAct = new Action(QIcon::fromTheme("configure"), tr("&Configure Quassel..."), coll, this, SLOT(showSettingsDlg()), QKeySequence(Qt::Key_F7)); - #endif +#endif coll->addAction("ConfigureQuassel", configureQuasselAct); // Help - QAction *aboutQuasselAct = new Action(SmallIcon("quassel"), tr("&About Quassel"), coll, + QAction *aboutQuasselAct = new Action(QIcon(":/icons/quassel.png"), tr("&About Quassel"), coll, this, SLOT(showAboutDlg())); aboutQuasselAct->setMenuRole(QAction::AboutRole); coll->addAction("AboutQuassel", aboutQuasselAct); @@ -422,17 +425,17 @@ qApp, SLOT(aboutQt())); aboutQtAct->setMenuRole(QAction::AboutQtRole); coll->addAction("AboutQt", aboutQtAct); - coll->addAction("DebugNetworkModel", new Action(SmallIcon("tools-report-bug"), tr("Debug &NetworkModel"), coll, + coll->addAction("DebugNetworkModel", new Action(QIcon::fromTheme("tools-report-bug"), tr("Debug &NetworkModel"), coll, this, SLOT(on_actionDebugNetworkModel_triggered()))); - coll->addAction("DebugBufferViewOverlay", new Action(SmallIcon("tools-report-bug"), tr("Debug &BufferViewOverlay"), coll, + coll->addAction("DebugBufferViewOverlay", new Action(QIcon::fromTheme("tools-report-bug"), tr("Debug &BufferViewOverlay"), coll, this, SLOT(on_actionDebugBufferViewOverlay_triggered()))); - coll->addAction("DebugMessageModel", new Action(SmallIcon("tools-report-bug"), tr("Debug &MessageModel"), coll, + coll->addAction("DebugMessageModel", new Action(QIcon::fromTheme("tools-report-bug"), tr("Debug &MessageModel"), coll, this, SLOT(on_actionDebugMessageModel_triggered()))); - coll->addAction("DebugHotList", new Action(SmallIcon("tools-report-bug"), tr("Debug &HotList"), coll, + coll->addAction("DebugHotList", new Action(QIcon::fromTheme("tools-report-bug"), tr("Debug &HotList"), coll, this, SLOT(on_actionDebugHotList_triggered()))); - coll->addAction("DebugLog", new Action(SmallIcon("tools-report-bug"), tr("Debug &Log"), coll, + coll->addAction("DebugLog", new Action(QIcon::fromTheme("tools-report-bug"), tr("Debug &Log"), coll, this, SLOT(on_actionDebugLog_triggered()))); - coll->addAction("ReloadStyle", new Action(SmallIcon("view-refresh"), tr("Reload Stylesheet"), coll, + coll->addAction("ReloadStyle", new Action(QIcon::fromTheme("view-refresh"), tr("Reload Stylesheet"), coll, QtUi::style(), SLOT(reload()), QKeySequence::Refresh)); coll->addAction("HideCurrentBuffer", new Action(tr("Hide Current Buffer"), coll, @@ -496,13 +499,13 @@ QKeySequence(jumpModifier + Qt::Key_9)))->setProperty("Index", 9); // Buffer navigation - coll->addAction("NextBufferView", new Action(SmallIcon("go-next-view"), tr("Activate Next Chat List"), coll, + coll->addAction("NextBufferView", new Action(QIcon::fromTheme("go-next-view"), tr("Activate Next Chat List"), coll, this, SLOT(nextBufferView()), QKeySequence(QKeySequence::Forward))); - coll->addAction("PreviousBufferView", new Action(SmallIcon("go-previous-view"), tr("Activate Previous Chat List"), coll, + coll->addAction("PreviousBufferView", new Action(QIcon::fromTheme("go-previous-view"), tr("Activate Previous Chat List"), coll, this, SLOT(previousBufferView()), QKeySequence::Back)); - coll->addAction("NextBuffer", new Action(SmallIcon("go-down"), tr("Go to Next Chat"), coll, + coll->addAction("NextBuffer", new Action(QIcon::fromTheme("go-down"), tr("Go to Next Chat"), coll, this, SLOT(nextBuffer()), QKeySequence(Qt::ALT + Qt::Key_Down))); - coll->addAction("PreviousBuffer", new Action(SmallIcon("go-up"), tr("Go to Previous Chat"), coll, + coll->addAction("PreviousBuffer", new Action(QIcon::fromTheme("go-up"), tr("Go to Previous Chat"), coll, this, SLOT(previousBuffer()), QKeySequence(Qt::ALT + Qt::Key_Up))); } @@ -514,7 +517,7 @@ _fileMenu = menuBar()->addMenu(tr("&File")); static const QStringList coreActions = QStringList() - << "ConnectCore" << "DisconnectCore" << "CoreInfo"; + << "ConnectCore" << "DisconnectCore" << "ChangePassword" << "CoreInfo"; QAction *coreAction; foreach(QString actionName, coreActions) { @@ -556,7 +559,9 @@ #endif _settingsMenu->addAction(coll->action("ConfigureQuassel")); + _helpMenu = menuBar()->addMenu(tr("&Help")); + _helpMenu->addAction(coll->action("AboutQuassel")); #ifndef HAVE_KDE _helpMenu->addAction(coll->action("AboutQt")); @@ -564,7 +569,7 @@ _helpMenu->addAction(KStandardAction::aboutKDE(_kHelpMenu, SLOT(aboutKDE()), this)); #endif _helpMenu->addSeparator(); - _helpDebugMenu = _helpMenu->addMenu(SmallIcon("tools-report-bug"), tr("Debug")); + _helpDebugMenu = _helpMenu->addMenu(QIcon::fromTheme("tools-report-bug"), tr("Debug")); _helpDebugMenu->addAction(coll->action("DebugNetworkModel")); _helpDebugMenu->addAction(coll->action("DebugBufferViewOverlay")); _helpDebugMenu->addAction(coll->action("DebugMessageModel")); @@ -733,6 +738,25 @@ } +void MainWin::showChangePasswordDialog() +{ + if((Client::coreFeatures() & Quassel::PasswordChange)) { + bool ok; + QString newPassword = QInputDialog::getText(this, tr("Set Core Password"), tr("New password for your Quassel Core:"), QLineEdit::Password, QString(), &ok); + if (ok && !newPassword.isEmpty()) { + emit changePassword(newPassword); + } + } + else { + QMessageBox box(QMessageBox::Warning, tr("Feature Not Supported"), + tr("Your Quassel Core does not support this feature"), + QMessageBox::Ok, this); + box.setInformativeText(tr("You need a Quassel Core v0.12.0 or newer in order to be able to remotely change your password.")); + box.exec(); + } +} + + void MainWin::changeActiveBufferView(bool backwards) { BufferView *current = activeBufferView(); @@ -923,7 +947,7 @@ void MainWin::setupViewMenuTail() { _viewMenu->addSeparator(); - _viewMenu->addAction(QtUi::actionCollection("General")->action("ToggleFullScreen")); + _viewMenu->addAction(_fullScreenAction); } @@ -1055,6 +1079,7 @@ coll->action("ConnectCore")->setEnabled(false); coll->action("DisconnectCore")->setEnabled(true); + coll->action("ChangePassword")->setEnabled(true); coll->action("CoreInfo")->setEnabled(true); foreach(QAction *action, _fileMenu->actions()) { @@ -1171,6 +1196,7 @@ coll->action("ConnectCore")->setEnabled(true); coll->action("DisconnectCore")->setEnabled(false); coll->action("CoreInfo")->setEnabled(false); + coll->action("ChangePassword")->setEnabled(false); //_viewMenu->setEnabled(false); statusBar()->showMessage(tr("Not connected to core.")); if (_msgProcessorStatusWidget) @@ -1373,7 +1399,7 @@ KShortcutsDialog dlg(KShortcutsEditor::AllActions, KShortcutsEditor::LetterShortcutsDisallowed, this); foreach(KActionCollection *coll, QtUi::actionCollections()) dlg.addCollection(coll, coll->property("Category").toString()); - dlg.exec(); + dlg.configure(true); #else SettingsPageDlg dlg(new ShortcutsSettingsPage(QtUi::actionCollections(), this), this); dlg.exec(); @@ -1393,15 +1419,10 @@ // Relying on QWidget::isFullScreen is discouraged, see the KToggleFullScreenAction docs // Also, one should not use showFullScreen() or showNormal(), as those reset all other window flags - QAction *action = QtUi::actionCollection("General")->action("ToggleFullScreen"); - if (!action) - return; - #ifdef HAVE_KDE - KToggleFullScreenAction *kAct = static_cast(action); - kAct->setFullScreen(this, kAct->isChecked()); + static_cast(_fullScreenAction)->setFullScreen(this, _fullScreenAction->isChecked()); #else - if (action->isChecked()) + if (_fullScreenAction->isChecked()) setWindowState(windowState() | Qt::WindowFullScreen); else setWindowState(windowState() & ~Qt::WindowFullScreen); @@ -1564,7 +1585,7 @@ switch (net->connectionState()) { case Network::Initialized: - action->setIcon(SmallIcon("network-connect")); + action->setIcon(QIcon::fromTheme("network-connect")); // if we have no currently selected buffer, jump to the first connecting statusbuffer if (!bufferWidget()->currentBuffer().isValid()) { QModelIndex idx = Client::networkModel()->networkIndex(net->networkId()); @@ -1575,10 +1596,10 @@ } break; case Network::Disconnected: - action->setIcon(SmallIcon("network-disconnect")); + action->setIcon(QIcon::fromTheme("network-disconnect")); break; default: - action->setIcon(SmallIcon("network-wired")); + action->setIcon(QIcon::fromTheme("network-wired")); } } diff -Nru quassel-0.11.0/src/qtui/mainwin.h quassel-0.12~beta1/src/qtui/mainwin.h --- quassel-0.11.0/src/qtui/mainwin.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/mainwin.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,11 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef MAINWIN_H_ -#define MAINWIN_H_ +#pragma once -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include +#elif defined HAVE_KF5 +# include #else # include #endif @@ -57,10 +58,9 @@ //!\brief The main window of Quassel's QtUi. class MainWin #ifdef HAVE_KDE - : public KMainWindow -{ + : public KMainWindow { #else -: public QMainWindow { + : public QMainWindow { #endif Q_OBJECT @@ -164,9 +164,12 @@ void changeActiveBufferView(bool backwards); void changeActiveBufferView(int bufferViewId); + void showChangePasswordDialog(); + signals: void connectToCore(const QVariantMap &connInfo); void disconnectFromCore(); + void changePassword(QString newPassword); private: #ifdef HAVE_KDE @@ -203,6 +206,7 @@ ChatMonitorView *_chatMonitorView; TopicWidget *_topicWidget; + QAction *_fullScreenAction; QMenu *_fileMenu, *_networksMenu, *_viewMenu, *_bufferViewsMenu, *_settingsMenu, *_helpMenu, *_helpDebugMenu; QMenu *_toolbarMenu; QToolBar *_mainToolBar, *_chatViewToolBar, *_nickToolBar; @@ -220,6 +224,3 @@ friend class QtUi; }; - - -#endif diff -Nru quassel-0.11.0/src/qtui/markerlineitem.cpp quassel-0.12~beta1/src/qtui/markerlineitem.cpp --- quassel-0.11.0/src/qtui/markerlineitem.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/markerlineitem.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/markerlineitem.h quassel-0.12~beta1/src/qtui/markerlineitem.h --- quassel-0.11.0/src/qtui/markerlineitem.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/markerlineitem.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/monoapplication.cpp quassel-0.12~beta1/src/qtui/monoapplication.cpp --- quassel-0.11.0/src/qtui/monoapplication.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/monoapplication.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -31,9 +31,9 @@ _internalInitDone(false) { _internal = new CoreApplicationInternal(); // needed for parser options -#if defined(HAVE_KDE) || defined(Q_OS_MAC) +#if defined(HAVE_KDE4) || defined(Q_OS_MAC) disableCrashhandler(); -#endif /* HAVE_KDE || Q_OS_MAC */ +#endif /* HAVE_KDE4 || Q_OS_MAC */ setRunMode(Quassel::Monolithic); } diff -Nru quassel-0.11.0/src/qtui/monoapplication.h quassel-0.12~beta1/src/qtui/monoapplication.h --- quassel-0.11.0/src/qtui/monoapplication.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/monoapplication.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/msgprocessorstatuswidget.cpp quassel-0.12~beta1/src/qtui/msgprocessorstatuswidget.cpp --- quassel-0.11.0/src/qtui/msgprocessorstatuswidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/msgprocessorstatuswidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/msgprocessorstatuswidget.h quassel-0.12~beta1/src/qtui/msgprocessorstatuswidget.h --- quassel-0.11.0/src/qtui/msgprocessorstatuswidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/msgprocessorstatuswidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/nicklistwidget.cpp quassel-0.12~beta1/src/qtui/nicklistwidget.cpp --- quassel-0.11.0/src/qtui/nicklistwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/nicklistwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/nicklistwidget.h quassel-0.12~beta1/src/qtui/nicklistwidget.h --- quassel-0.11.0/src/qtui/nicklistwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/nicklistwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/phononnotificationbackend.cpp quassel-0.12~beta1/src/qtui/phononnotificationbackend.cpp --- quassel-0.11.0/src/qtui/phononnotificationbackend.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/phononnotificationbackend.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -19,6 +19,7 @@ ***************************************************************************/ #include +#include #include #include @@ -27,7 +28,6 @@ #include "phononnotificationbackend.h" #include "clientsettings.h" -#include "iconloader.h" #include "mainwin.h" #include "qtui.h" @@ -112,9 +112,9 @@ { ui.setupUi(this); _audioAvailable = !Phonon::BackendCapabilities::availableAudioOutputDevices().isEmpty(); - ui.enabled->setIcon(SmallIcon("media-playback-start")); - ui.play->setIcon(SmallIcon("media-playback-start")); - ui.open->setIcon(SmallIcon("document-open")); + ui.enabled->setIcon(QIcon::fromTheme("media-playback-start")); + ui.play->setIcon(QIcon::fromTheme("media-playback-start")); + ui.open->setIcon(QIcon::fromTheme("document-open")); connect(ui.enabled, SIGNAL(toggled(bool)), SLOT(widgetChanged())); connect(ui.filename, SIGNAL(textChanged(const QString &)), SLOT(widgetChanged())); diff -Nru quassel-0.11.0/src/qtui/phononnotificationbackend.h quassel-0.12~beta1/src/qtui/phononnotificationbackend.h --- quassel-0.11.0/src/qtui/phononnotificationbackend.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/phononnotificationbackend.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuiapplication.cpp quassel-0.12~beta1/src/qtui/qtuiapplication.cpp --- quassel-0.11.0/src/qtui/qtuiapplication.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuiapplication.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,9 +20,10 @@ #include "qtuiapplication.h" +#include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include #endif @@ -32,34 +33,58 @@ #include "qtui.h" #include "qtuisettings.h" + QtUiApplication::QtUiApplication(int &argc, char **argv) -#ifdef HAVE_KDE - : KApplication(), +#ifdef HAVE_KDE4 + : KApplication(), // KApplication is deprecated in KF5 #else : QApplication(argc, argv), #endif Quassel(), _aboutToQuit(false) { -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 Q_UNUSED(argc); Q_UNUSED(argv); - // We need to setup KDE's data dirs + // Setup KDE's data dirs + // Because we can't use KDE stuff in (the class) Quassel directly, we need to do this here... QStringList dataDirs = KGlobal::dirs()->findDirs("data", ""); + + // Just in case, also check our install prefix + dataDirs << QCoreApplication::applicationDirPath() + "/../share/apps/"; + + // Normalize and append our application name for (int i = 0; i < dataDirs.count(); i++) - dataDirs[i].append("quassel/"); + dataDirs[i] = QDir::cleanPath(dataDirs.at(i)) + "/quassel/"; + + // Add resource path and just in case. + // Workdir should have precedence + dataDirs.prepend(QCoreApplication::applicationDirPath() + "/data/"); dataDirs.append(":/data/"); + + // Append trailing '/' and check for existence + auto iter = dataDirs.begin(); + while (iter != dataDirs.end()) { + if (!iter->endsWith(QDir::separator()) && !iter->endsWith('/')) + iter->append(QDir::separator()); + if (!QFile::exists(*iter)) + iter = dataDirs.erase(iter); + else + ++iter; + } + + dataDirs.removeDuplicates(); setDataDirPaths(dataDirs); -#else /* HAVE_KDE */ +#else /* HAVE_KDE4 */ setDataDirPaths(findDataDirPaths()); -#endif /* HAVE_KDE */ +#endif /* HAVE_KDE4 */ -#if defined(HAVE_KDE) || defined(Q_OS_MAC) +#if defined(HAVE_KDE4) || defined(Q_OS_MAC) disableCrashhandler(); -#endif /* HAVE_KDE || Q_OS_MAC */ +#endif /* HAVE_KDE4 || Q_OS_MAC */ setRunMode(Quassel::ClientOnly); #if QT_VERSION < 0x050000 @@ -117,6 +142,13 @@ return false; } + // Set the icon theme + if (Quassel::isOptionSet("icontheme")) + QIcon::setThemeName(Quassel::optionValue("icontheme")); + else if (QIcon::themeName().isEmpty()) + // Some platforms don't set a default icon theme; chances are we can find our bundled Oxygen theme though + QIcon::setThemeName("oxygen"); + // session resume QtUi *gui = new QtUi(); Client::init(gui); diff -Nru quassel-0.11.0/src/qtui/qtuiapplication.h quassel-0.12~beta1/src/qtui/qtuiapplication.h --- quassel-0.11.0/src/qtui/qtuiapplication.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuiapplication.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,7 +21,7 @@ #ifndef QTUIAPPLICATION_H_ #define QTUIAPPLICATION_H_ -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include #else # include @@ -34,7 +34,7 @@ class QtUi; -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 class QtUiApplication : public KApplication, public Quassel { #else diff -Nru quassel-0.11.0/src/qtui/qtui.cpp quassel-0.12~beta1/src/qtui/qtui.cpp --- quassel-0.11.0/src/qtui/qtui.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtui.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtui.h quassel-0.12~beta1/src/qtui/qtui.h --- quassel-0.11.0/src/qtui/qtui.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtui.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuimessageprocessor.cpp quassel-0.12~beta1/src/qtui/qtuimessageprocessor.cpp --- quassel-0.11.0/src/qtui/qtuimessageprocessor.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuimessageprocessor.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuimessageprocessor.h quassel-0.12~beta1/src/qtui/qtuimessageprocessor.h --- quassel-0.11.0/src/qtui/qtuimessageprocessor.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuimessageprocessor.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuisettings.cpp quassel-0.12~beta1/src/qtui/qtuisettings.cpp --- quassel-0.11.0/src/qtui/qtuisettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuisettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuisettings.h quassel-0.12~beta1/src/qtui/qtuisettings.h --- quassel-0.11.0/src/qtui/qtuisettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuisettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuistyle.cpp quassel-0.12~beta1/src/qtui/qtuistyle.cpp --- quassel-0.11.0/src/qtui/qtuistyle.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuistyle.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/qtuistyle.h quassel-0.12~beta1/src/qtui/qtuistyle.h --- quassel-0.11.0/src/qtui/qtuistyle.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/qtuistyle.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/receivefiledlg.cpp quassel-0.12~beta1/src/qtui/receivefiledlg.cpp --- quassel-0.11.0/src/qtui/receivefiledlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/receivefiledlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/receivefiledlg.h quassel-0.12~beta1/src/qtui/receivefiledlg.h --- quassel-0.11.0/src/qtui/receivefiledlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/receivefiledlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingsdlg.cpp quassel-0.12~beta1/src/qtui/settingsdlg.cpp --- quassel-0.11.0/src/qtui/settingsdlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingsdlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,13 +18,13 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include "settingsdlg.h" #include "client.h" -#include "iconloader.h" SettingsDlg::SettingsDlg(QWidget *parent) : QDialog(parent), @@ -33,7 +33,7 @@ ui.setupUi(this); setModal(true); setAttribute(Qt::WA_DeleteOnClose, true); - setWindowIcon(SmallIcon("configure")); + setWindowIcon(QIcon::fromTheme("configure")); updateGeometry(); diff -Nru quassel-0.11.0/src/qtui/settingsdlg.h quassel-0.12~beta1/src/qtui/settingsdlg.h --- quassel-0.11.0/src/qtui/settingsdlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingsdlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspagedlg.cpp quassel-0.12~beta1/src/qtui/settingspagedlg.cpp --- quassel-0.11.0/src/qtui/settingspagedlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspagedlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,13 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include "settingspagedlg.h" -#include "iconloader.h" - SettingsPageDlg::SettingsPageDlg(SettingsPage *page, QWidget *parent) : QDialog(parent) { @@ -37,7 +36,7 @@ ui.pageTitle->setText(page->title()); setWindowTitle(tr("Configure %1").arg(page->title())); - setWindowIcon(SmallIcon("configure")); + setWindowIcon(QIcon::fromTheme("configure")); // make the scrollarea behave sanely ui.settingsFrame->setWidgetResizable(true); diff -Nru quassel-0.11.0/src/qtui/settingspagedlg.h quassel-0.12~beta1/src/qtui/settingspagedlg.h --- quassel-0.11.0/src/qtui/settingspagedlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspagedlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/aliasesmodel.cpp quassel-0.12~beta1/src/qtui/settingspages/aliasesmodel.cpp --- quassel-0.11.0/src/qtui/settingspages/aliasesmodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/aliasesmodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/aliasesmodel.h quassel-0.12~beta1/src/qtui/settingspages/aliasesmodel.h --- quassel-0.11.0/src/qtui/settingspages/aliasesmodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/aliasesmodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/aliasessettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/aliasessettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/aliasessettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/aliasessettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,16 +21,15 @@ #include "aliasessettingspage.h" #include +#include #include -#include "iconloader.h" - AliasesSettingsPage::AliasesSettingsPage(QWidget *parent) : SettingsPage(tr("IRC"), tr("Aliases"), parent) { ui.setupUi(this); - ui.newAliasButton->setIcon(SmallIcon("list-add")); - ui.deleteAliasButton->setIcon(SmallIcon("edit-delete")); + ui.newAliasButton->setIcon(QIcon::fromTheme("list-add")); + ui.deleteAliasButton->setIcon(QIcon::fromTheme("edit-delete")); ui.aliasesView->setSelectionBehavior(QAbstractItemView::SelectRows); ui.aliasesView->setSelectionMode(QAbstractItemView::SingleSelection); diff -Nru quassel-0.11.0/src/qtui/settingspages/aliasessettingspage.h quassel-0.12~beta1/src/qtui/settingspages/aliasessettingspage.h --- quassel-0.11.0/src/qtui/settingspages/aliasessettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/aliasessettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/appearancesettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/appearancesettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/appearancesettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/appearancesettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/appearancesettingspage.h quassel-0.12~beta1/src/qtui/settingspages/appearancesettingspage.h --- quassel-0.11.0/src/qtui/settingspages/appearancesettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/appearancesettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/backlogsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/backlogsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/backlogsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/backlogsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/backlogsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/backlogsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/backlogsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/backlogsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/bufferviewsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/bufferviewsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/bufferviewsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/bufferviewsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,10 +20,10 @@ #include "bufferviewsettingspage.h" +#include #include #include "client.h" -#include "iconloader.h" #include "network.h" #include "bufferviewconfig.h" #include "bufferviewfilter.h" @@ -43,9 +43,9 @@ if (!(Client::coreFeatures() & Quassel::HideInactiveNetworks)) ui.hideInactiveNetworks->hide(); - ui.renameBufferView->setIcon(SmallIcon("edit-rename")); - ui.addBufferView->setIcon(SmallIcon("list-add")); - ui.deleteBufferView->setIcon(SmallIcon("edit-delete")); + ui.renameBufferView->setIcon(QIcon::fromTheme("edit-rename")); + ui.addBufferView->setIcon(QIcon::fromTheme("list-add")); + ui.deleteBufferView->setIcon(QIcon::fromTheme("edit-delete")); reset(); diff -Nru quassel-0.11.0/src/qtui/settingspages/bufferviewsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/bufferviewsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/bufferviewsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/bufferviewsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/chatmonitorsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/chatmonitorsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/chatmonitorsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/chatmonitorsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,13 +20,14 @@ #include "chatmonitorsettingspage.h" +#include + #include "client.h" #include "networkmodel.h" #include "bufferviewconfig.h" #include "buffermodel.h" #include "bufferview.h" #include "bufferviewfilter.h" -#include "iconloader.h" #include "chatviewsettings.h" #include @@ -36,8 +37,8 @@ { ui.setupUi(this); - ui.activateBuffer->setIcon(SmallIcon("go-next")); - ui.deactivateBuffer->setIcon(SmallIcon("go-previous")); + ui.activateBuffer->setIcon(QIcon::fromTheme("go-next")); + ui.deactivateBuffer->setIcon(QIcon::fromTheme("go-previous")); // setup available buffers config (for the bufferview on the left) _configAvailable = new BufferViewConfig(-667, this); diff -Nru quassel-0.11.0/src/qtui/settingspages/chatmonitorsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/chatmonitorsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/chatmonitorsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/chatmonitorsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/chatviewsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/chatviewsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/chatviewsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/chatviewsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/chatviewsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/chatviewsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/chatviewsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/chatviewsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/connectionsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/connectionsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/connectionsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/connectionsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/connectionsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/connectionsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/connectionsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/connectionsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/coreaccountsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/coreaccountsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/coreaccountsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/coreaccountsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,10 +20,11 @@ #include "coreaccountsettingspage.h" +#include + #include "client.h" #include "clientsettings.h" #include "coreaccountmodel.h" -#include "iconloader.h" CoreAccountSettingsPage::CoreAccountSettingsPage(QWidget *parent) : SettingsPage(tr("Remote Cores"), QString(), parent), @@ -33,9 +34,9 @@ { ui.setupUi(this); initAutoWidgets(); - ui.addAccountButton->setIcon(SmallIcon("list-add")); - ui.editAccountButton->setIcon(SmallIcon("document-edit")); - ui.deleteAccountButton->setIcon(SmallIcon("edit-delete")); + ui.addAccountButton->setIcon(QIcon::fromTheme("list-add")); + ui.editAccountButton->setIcon(QIcon::fromTheme("document-edit")); + ui.deleteAccountButton->setIcon(QIcon::fromTheme("edit-delete")); _model = new CoreAccountModel(Client::coreAccountModel(), this); _filteredModel = new FilteredCoreAccountModel(_model, this); diff -Nru quassel-0.11.0/src/qtui/settingspages/coreaccountsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/coreaccountsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/coreaccountsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/coreaccountsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/coreconnectionsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/coreconnectionsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/coreconnectionsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/coreconnectionsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,13 +24,10 @@ : SettingsPage(tr("Remote Cores"), tr("Connection"), parent) { ui.setupUi(this); -#ifndef HAVE_KDE - ui.useSolid->hide(); -#endif initAutoWidgets(); - connect(ui.useSolid, SIGNAL(toggled(bool)), SLOT(widgetHasChanged())); + connect(ui.useQNetworkConfigurationManager, SIGNAL(toggled(bool)), SLOT(widgetHasChanged())); connect(ui.usePingTimeout, SIGNAL(toggled(bool)), SLOT(widgetHasChanged())); connect(ui.useNoTimeout, SIGNAL(toggled(bool)), SLOT(widgetHasChanged())); } @@ -49,11 +46,7 @@ void CoreConnectionSettingsPage::defaults() { -#ifdef HAVE_KDE - setRadioButtons(CoreConnectionSettings::UseSolid); -#else - setRadioButtons(CoreConnectionSettings::UsePingTimeout); -#endif + setRadioButtons(CoreConnectionSettings::UseQNetworkConfigurationManager); SettingsPage::defaults(); } @@ -80,11 +73,9 @@ void CoreConnectionSettingsPage::setRadioButtons(CoreConnectionSettings::NetworkDetectionMode mode) { switch (mode) { -#ifdef HAVE_KDE - case CoreConnectionSettings::UseSolid: - ui.useSolid->setChecked(true); + case CoreConnectionSettings::UseQNetworkConfigurationManager: + ui.useQNetworkConfigurationManager->setChecked(true); break; -#endif case CoreConnectionSettings::UsePingTimeout: ui.usePingTimeout->setChecked(true); break; @@ -96,10 +87,8 @@ CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettingsPage::modeFromRadioButtons() const { -#ifdef HAVE_KDE - if (ui.useSolid->isChecked()) - return CoreConnectionSettings::UseSolid; -#endif + if (ui.useQNetworkConfigurationManager->isChecked()) + return CoreConnectionSettings::UseQNetworkConfigurationManager; if (ui.usePingTimeout->isChecked()) return CoreConnectionSettings::UsePingTimeout; diff -Nru quassel-0.11.0/src/qtui/settingspages/coreconnectionsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/coreconnectionsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/coreconnectionsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/coreconnectionsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/coreconnectionsettingspage.ui quassel-0.12~beta1/src/qtui/settingspages/coreconnectionsettingspage.ui --- quassel-0.11.0/src/qtui/settingspages/coreconnectionsettingspage.ui 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/coreconnectionsettingspage.ui 2015-02-18 21:09:54.000000000 +0000 @@ -6,7 +6,7 @@ 0 0 - 446 + 476 465 @@ -21,12 +21,12 @@ - + - Rely on KDE's hardware layer to detect if we're online. Recommended for most KDE users + Rely on Qt's network configuration manager to detect if we're online - Use KDE's network status detection (via Solid) + Automatic false @@ -151,7 +151,7 @@ - Actively ping the remote core and disconnect if we didn't get a reply after a certain time + Interval between consecutive connection attempts seconds @@ -206,6 +206,14 @@ + + useQNetworkConfigurationManager + usePingTimeout + pingTimeout + useNoTimeout + autoReconnect + reconnectInterval + diff -Nru quassel-0.11.0/src/qtui/settingspages/highlightsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/highlightsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/highlightsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/highlightsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -252,9 +252,7 @@ NotificationSettings notificationSettings; notificationSettings.setHighlightList(highlightList); - NotificationSettings::HighlightNickType highlightNickType; - if (ui.highlightNoNick->isChecked()) - highlightNickType = NotificationSettings::NoNick; + NotificationSettings::HighlightNickType highlightNickType = NotificationSettings::NoNick; if (ui.highlightCurrentNick->isChecked()) highlightNickType = NotificationSettings::CurrentNick; if (ui.highlightAllNicks->isChecked()) @@ -279,18 +277,18 @@ { NotificationSettings notificationSettings; - NotificationSettings::HighlightNickType highlightNickType; - if (ui.highlightNoNick->isChecked()) - highlightNickType = NotificationSettings::NoNick; + NotificationSettings::HighlightNickType highlightNickType = NotificationSettings::NoNick; if (ui.highlightCurrentNick->isChecked()) highlightNickType = NotificationSettings::CurrentNick; if (ui.highlightAllNicks->isChecked()) highlightNickType = NotificationSettings::AllNicks; - if (notificationSettings.highlightNick() != highlightNickType) return true; - if (notificationSettings.nicksCaseSensitive() != ui.nicksCaseSensitive->isChecked()) return true; - - if (notificationSettings.highlightList() != highlightList) return true; + if (notificationSettings.highlightNick() != highlightNickType) + return true; + if (notificationSettings.nicksCaseSensitive() != ui.nicksCaseSensitive->isChecked()) + return true; + if (notificationSettings.highlightList() != highlightList) + return true; return false; } diff -Nru quassel-0.11.0/src/qtui/settingspages/highlightsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/highlightsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/highlightsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/highlightsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/identitiessettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/identitiessettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/identitiessettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/identitiessettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,11 @@ #include "identitiessettingspage.h" +#include #include #include #include "client.h" -#include "iconloader.h" #include "signalproxy.h" IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) @@ -32,9 +32,9 @@ _editSsl(false) { ui.setupUi(this); - ui.renameIdentity->setIcon(BarIcon("edit-rename")); - ui.addIdentity->setIcon(BarIcon("list-add-user")); - ui.deleteIdentity->setIcon(BarIcon("list-remove-user")); + ui.renameIdentity->setIcon(QIcon::fromTheme("edit-rename")); + ui.addIdentity->setIcon(QIcon::fromTheme("list-add-user")); + ui.deleteIdentity->setIcon(QIcon::fromTheme("list-remove-user")); coreConnectionStateChanged(Client::isConnected()); // need a core connection! connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool))); @@ -417,7 +417,7 @@ : QDialog(parent) { ui.setupUi(this); - ui.abort->setIcon(SmallIcon("dialog-cancel")); + ui.abort->setIcon(QIcon::fromTheme("dialog-cancel")); numevents = toCreate.count() + toUpdate.count() + toRemove.count(); rcvevents = 0; diff -Nru quassel-0.11.0/src/qtui/settingspages/identitiessettingspage.h quassel-0.12~beta1/src/qtui/settingspages/identitiessettingspage.h --- quassel-0.11.0/src/qtui/settingspages/identitiessettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/identitiessettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/identityeditwidget.cpp quassel-0.12~beta1/src/qtui/settingspages/identityeditwidget.cpp --- quassel-0.11.0/src/qtui/settingspages/identityeditwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/identityeditwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -34,18 +35,17 @@ #endif #include "client.h" -#include "iconloader.h" IdentityEditWidget::IdentityEditWidget(QWidget *parent) : QWidget(parent) { ui.setupUi(this); - ui.addNick->setIcon(SmallIcon("list-add")); - ui.deleteNick->setIcon(SmallIcon("edit-delete")); - ui.renameNick->setIcon(SmallIcon("edit-rename")); - ui.nickUp->setIcon(SmallIcon("go-up")); - ui.nickDown->setIcon(SmallIcon("go-down")); + ui.addNick->setIcon(QIcon::fromTheme("list-add")); + ui.deleteNick->setIcon(QIcon::fromTheme("edit-delete")); + ui.renameNick->setIcon(QIcon::fromTheme("edit-rename")); + ui.nickUp->setIcon(QIcon::fromTheme("go-up")); + ui.nickDown->setIcon(QIcon::fromTheme("go-down")); // We need to know whenever the state of input widgets changes... connect(ui.realName, SIGNAL(textEdited(const QString &)), this, SIGNAL(widgetHasChanged())); diff -Nru quassel-0.11.0/src/qtui/settingspages/identityeditwidget.h quassel-0.12~beta1/src/qtui/settingspages/identityeditwidget.h --- quassel-0.11.0/src/qtui/settingspages/identityeditwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/identityeditwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/ignorelistmodel.cpp quassel-0.12~beta1/src/qtui/settingspages/ignorelistmodel.cpp --- quassel-0.11.0/src/qtui/settingspages/ignorelistmodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/ignorelistmodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/ignorelistmodel.h quassel-0.12~beta1/src/qtui/settingspages/ignorelistmodel.h --- quassel-0.11.0/src/qtui/settingspages/ignorelistmodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/ignorelistmodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/ignorelistsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/ignorelistsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/ignorelistsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/ignorelistsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,6 +21,7 @@ #include "ignorelistsettingspage.h" #include +#include #include #include #include @@ -28,16 +29,15 @@ #include #include #include -#include "iconloader.h" IgnoreListSettingsPage::IgnoreListSettingsPage(QWidget *parent) : SettingsPage(tr("IRC"), tr("Ignore List"), parent) { ui.setupUi(this); _delegate = new IgnoreListDelegate(ui.ignoreListView); - ui.newIgnoreRuleButton->setIcon(SmallIcon("list-add")); - ui.deleteIgnoreRuleButton->setIcon(SmallIcon("edit-delete")); - ui.editIgnoreRuleButton->setIcon(SmallIcon("configure")); + ui.newIgnoreRuleButton->setIcon(QIcon::fromTheme("list-add")); + ui.deleteIgnoreRuleButton->setIcon(QIcon::fromTheme("edit-delete")); + ui.editIgnoreRuleButton->setIcon(QIcon::fromTheme("configure")); ui.ignoreListView->setSelectionBehavior(QAbstractItemView::SelectRows); ui.ignoreListView->setSelectionMode(QAbstractItemView::SingleSelection); diff -Nru quassel-0.11.0/src/qtui/settingspages/ignorelistsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/ignorelistsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/ignorelistsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/ignorelistsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/inputwidgetsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/inputwidgetsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/inputwidgetsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/inputwidgetsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -25,7 +25,7 @@ { ui.setupUi(this); -#ifndef HAVE_KDE +#ifndef HAVE_KDE4 ui.enableSpellCheck->hide(); #endif diff -Nru quassel-0.11.0/src/qtui/settingspages/inputwidgetsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/inputwidgetsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/inputwidgetsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/inputwidgetsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/itemviewsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/itemviewsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/itemviewsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/itemviewsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/itemviewsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/itemviewsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/itemviewsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/itemviewsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/keysequencewidget.cpp quassel-0.12~beta1/src/qtui/settingspages/keysequencewidget.cpp --- quassel-0.11.0/src/qtui/settingspages/keysequencewidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/keysequencewidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This class has been inspired by KDE's KKeySequenceWidget and uses * @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -39,7 +40,6 @@ #include "action.h" #include "actioncollection.h" -#include "iconloader.h" #include "keysequencewidget.h" KeySequenceButton::KeySequenceButton(KeySequenceWidget *d_, QWidget *parent) @@ -172,7 +172,7 @@ _keyButton = new KeySequenceButton(this, this); _keyButton->setFocusPolicy(Qt::StrongFocus); - _keyButton->setIcon(SmallIcon("configure")); + _keyButton->setIcon(QIcon::fromTheme("configure")); _keyButton->setToolTip(tr("Click on the button, then enter the shortcut like you would in the program.\nExample for Ctrl+a: hold the Ctrl key and press a.")); layout->addWidget(_keyButton); @@ -180,9 +180,9 @@ layout->addWidget(_clearButton); if (qApp->isLeftToRight()) - _clearButton->setIcon(SmallIcon("edit-clear-locationbar-rtl")); + _clearButton->setIcon(QIcon::fromTheme("edit-clear-locationbar-rtl", QIcon::fromTheme("edit-clear"))); else - _clearButton->setIcon(SmallIcon("edit-clear-locationbar-ltr")); + _clearButton->setIcon(QIcon::fromTheme("edit-clear-locationbar-ltr", QIcon::fromTheme("edit-clear"))); setLayout(layout); diff -Nru quassel-0.11.0/src/qtui/settingspages/keysequencewidget.h quassel-0.12~beta1/src/qtui/settingspages/keysequencewidget.h --- quassel-0.11.0/src/qtui/settingspages/keysequencewidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/keysequencewidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This class has been inspired by KDE's KKeySequenceWidget and uses * diff -Nru quassel-0.11.0/src/qtui/settingspages/networkssettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/networkssettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/networkssettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/networkssettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -19,13 +19,13 @@ ***************************************************************************/ #include +#include #include #include #include "networkssettingspage.h" #include "client.h" -#include "iconloader.h" #include "identity.h" #include "network.h" #include "presetnetworks.h" @@ -52,21 +52,21 @@ #endif // set up icons - ui.renameNetwork->setIcon(SmallIcon("edit-rename")); - ui.addNetwork->setIcon(SmallIcon("list-add")); - ui.deleteNetwork->setIcon(SmallIcon("edit-delete")); - ui.addServer->setIcon(SmallIcon("list-add")); - ui.deleteServer->setIcon(SmallIcon("edit-delete")); - ui.editServer->setIcon(SmallIcon("configure")); - ui.upServer->setIcon(SmallIcon("go-up")); - ui.downServer->setIcon(SmallIcon("go-down")); - ui.editIdentities->setIcon(SmallIcon("configure")); + ui.renameNetwork->setIcon(QIcon::fromTheme("edit-rename")); + ui.addNetwork->setIcon(QIcon::fromTheme("list-add")); + ui.deleteNetwork->setIcon(QIcon::fromTheme("edit-delete")); + ui.addServer->setIcon(QIcon::fromTheme("list-add")); + ui.deleteServer->setIcon(QIcon::fromTheme("edit-delete")); + ui.editServer->setIcon(QIcon::fromTheme("configure")); + ui.upServer->setIcon(QIcon::fromTheme("go-up")); + ui.downServer->setIcon(QIcon::fromTheme("go-down")); + ui.editIdentities->setIcon(QIcon::fromTheme("configure")); _ignoreWidgetChanges = false; - connectedIcon = SmallIcon("network-connect"); - connectingIcon = SmallIcon("network-wired"); // FIXME network-connecting - disconnectedIcon = SmallIcon("network-disconnect"); + connectedIcon = QIcon::fromTheme("network-connect"); + connectingIcon = QIcon::fromTheme("network-wired"); // FIXME network-connecting + disconnectedIcon = QIcon::fromTheme("network-disconnect"); foreach(int mib, QTextCodec::availableMibs()) { QByteArray codec = QTextCodec::codecForMib(mib)->name(); @@ -497,7 +497,7 @@ foreach(Network::Server server, info.serverList) { QListWidgetItem *item = new QListWidgetItem(QString("%1:%2").arg(server.host).arg(server.port)); if (server.useSsl) - item->setIcon(SmallIcon("document-encrypt")); + item->setIcon(QIcon::fromTheme("document-encrypt")); ui.serverList->addItem(item); } //setItemState(id); @@ -784,7 +784,7 @@ NetworkAddDlg::NetworkAddDlg(const QStringList &exist, QWidget *parent) : QDialog(parent), existing(exist) { ui.setupUi(this); - ui.useSSL->setIcon(SmallIcon("document-encrypt")); + ui.useSSL->setIcon(QIcon::fromTheme("document-encrypt")); // read preset networks QStringList networks = PresetNetworks::names(); @@ -863,8 +863,9 @@ ServerEditDlg::ServerEditDlg(const Network::Server &server, QWidget *parent) : QDialog(parent) { ui.setupUi(this); - ui.useSSL->setIcon(SmallIcon("document-encrypt")); + ui.useSSL->setIcon(QIcon::fromTheme("document-encrypt")); ui.host->setText(server.host); + ui.host->setFocus(); ui.port->setValue(server.port); ui.password->setText(server.password); ui.useSSL->setChecked(server.useSsl); diff -Nru quassel-0.11.0/src/qtui/settingspages/networkssettingspage.h quassel-0.12~beta1/src/qtui/settingspages/networkssettingspage.h --- quassel-0.11.0/src/qtui/settingspages/networkssettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/networkssettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,7 +21,7 @@ #ifndef NETWORKSSETTINGSPAGE_H #define NETWORKSSETTINGSPAGE_H -#include +#include #include "network.h" #include "settingspage.h" @@ -95,7 +95,7 @@ CertIdentity *_cid; #endif - QPixmap connectedIcon, connectingIcon, disconnectedIcon; + QIcon connectedIcon, connectingIcon, disconnectedIcon; void reset(); bool testHasChanged(); diff -Nru quassel-0.11.0/src/qtui/settingspages/notificationssettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/notificationssettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/notificationssettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/notificationssettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/notificationssettingspage.h quassel-0.12~beta1/src/qtui/settingspages/notificationssettingspage.h --- quassel-0.11.0/src/qtui/settingspages/notificationssettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/notificationssettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/previewbufferview.h quassel-0.12~beta1/src/qtui/settingspages/previewbufferview.h --- quassel-0.11.0/src/qtui/settingspages/previewbufferview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/previewbufferview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/shortcutsmodel.cpp quassel-0.12~beta1/src/qtui/settingspages/shortcutsmodel.cpp --- quassel-0.11.0/src/qtui/settingspages/shortcutsmodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/shortcutsmodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/shortcutsmodel.h quassel-0.12~beta1/src/qtui/settingspages/shortcutsmodel.h --- quassel-0.11.0/src/qtui/settingspages/shortcutsmodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/shortcutsmodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/shortcutssettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/shortcutssettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/shortcutssettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/shortcutssettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/shortcutssettingspage.h quassel-0.12~beta1/src/qtui/settingspages/shortcutssettingspage.h --- quassel-0.11.0/src/qtui/settingspages/shortcutssettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/shortcutssettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/topicwidgetsettingspage.cpp quassel-0.12~beta1/src/qtui/settingspages/topicwidgetsettingspage.cpp --- quassel-0.11.0/src/qtui/settingspages/topicwidgetsettingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/topicwidgetsettingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/settingspages/topicwidgetsettingspage.h quassel-0.12~beta1/src/qtui/settingspages/topicwidgetsettingspage.h --- quassel-0.11.0/src/qtui/settingspages/topicwidgetsettingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/settingspages/topicwidgetsettingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/simplenetworkeditor.cpp quassel-0.12~beta1/src/qtui/simplenetworkeditor.cpp --- quassel-0.11.0/src/qtui/simplenetworkeditor.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/simplenetworkeditor.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,7 +20,7 @@ #include "simplenetworkeditor.h" -#include "iconloader.h" +#include #include "networkssettingspage.h" @@ -29,11 +29,11 @@ { ui.setupUi(this); - ui.addServer->setIcon(SmallIcon("list-add")); - ui.deleteServer->setIcon(SmallIcon("edit-delete")); - ui.editServer->setIcon(SmallIcon("configure")); - ui.upServer->setIcon(SmallIcon("go-up")); - ui.downServer->setIcon(SmallIcon("go-down")); + ui.addServer->setIcon(QIcon::fromTheme("list-add")); + ui.deleteServer->setIcon(QIcon::fromTheme("edit-delete")); + ui.editServer->setIcon(QIcon::fromTheme("configure")); + ui.upServer->setIcon(QIcon::fromTheme("go-up")); + ui.downServer->setIcon(QIcon::fromTheme("go-down")); connect(ui.networkNameEdit, SIGNAL(textEdited(const QString &)), this, SIGNAL(widgetHasChanged())); connect(ui.channelList, SIGNAL(textChanged()), this, SIGNAL(widgetHasChanged())); @@ -65,7 +65,7 @@ foreach(Network::Server server, _networkInfo.serverList) { QListWidgetItem *item = new QListWidgetItem(QString("%1:%2").arg(server.host).arg(server.port)); if (server.useSsl) - item->setIcon(SmallIcon("document-encrypt")); + item->setIcon(QIcon::fromTheme("document-encrypt")); ui.serverList->addItem(item); } diff -Nru quassel-0.11.0/src/qtui/simplenetworkeditor.h quassel-0.12~beta1/src/qtui/simplenetworkeditor.h --- quassel-0.11.0/src/qtui/simplenetworkeditor.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/simplenetworkeditor.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/snorenotificationbackend.cpp quassel-0.12~beta1/src/qtui/snorenotificationbackend.cpp --- quassel-0.11.0/src/qtui/snorenotificationbackend.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/snorenotificationbackend.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -24,7 +24,6 @@ #include #include "client.h" -#include "iconloader.h" #include "networkmodel.h" #include "systraynotificationbackend.h" #include "qtui.h" @@ -50,7 +49,7 @@ //TODO: try to get an instance of the tray icon to be able to show popups m_snore = new Snore::SnoreCore(); m_snore->loadPlugins(Snore::SnorePlugin::BACKEND); - m_icon = Snore::Icon(DesktopIcon("quassel").toImage()); + m_icon = Snore::Icon(QIcon::fromTheme("quassel", QIcon(":/icons/quassel.png")).pixmap(48).toImage()); m_application = Snore::Application("Quassel", m_icon); m_application.hints().setValue("WINDOWS_APP_ID","QuasselProject.QuasselIRC"); diff -Nru quassel-0.11.0/src/qtui/sslinfodlg.cpp quassel-0.12~beta1/src/qtui/sslinfodlg.cpp --- quassel-0.11.0/src/qtui/sslinfodlg.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/sslinfodlg.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/sslinfodlg.h quassel-0.12~beta1/src/qtui/sslinfodlg.h --- quassel-0.11.0/src/qtui/sslinfodlg.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/sslinfodlg.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/statusnotifieritem.cpp quassel-0.12~beta1/src/qtui/statusnotifieritem.cpp --- quassel-0.11.0/src/qtui/statusnotifieritem.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/statusnotifieritem.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This contains code from KStatusNotifierItem, part of the KDE libs * @@ -51,15 +51,8 @@ protected: virtual QString iconNameForAction(QAction *action) // TODO Qt 4.7: fixme when we have converted our iconloader { - Icon icon(action->icon()); -#if QT_VERSION >= 0x040701 - // QIcon::name() is in the 4.7 git branch, but it is not in 4.7 TP. - // If you get a build error here, you need to update your pre-release - // of Qt 4.7. + QIcon icon(action->icon()); return icon.isNull() ? QString() : icon.name(); -#else - return QString(); -#endif } }; @@ -293,7 +286,7 @@ { if (mode() == StatusNotifier) { //FIXME: ugly ugly workaround to weird QMenu's focus problems -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 if (watched == trayMenu() && (event->type() == QEvent::WindowDeactivate || (event->type() == QEvent::MouseButtonRelease && static_cast(event)->button() == Qt::LeftButton))) { // put at the back of event queue to let the action activate anyways diff -Nru quassel-0.11.0/src/qtui/statusnotifieritemdbus.cpp quassel-0.12~beta1/src/qtui/statusnotifieritemdbus.cpp --- quassel-0.11.0/src/qtui/statusnotifieritemdbus.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/statusnotifieritemdbus.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -31,7 +31,7 @@ #include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # include #endif @@ -328,11 +328,11 @@ //TODO: nicer placement, possible? if (!m_statusNotifierItem->trayMenu()->isVisible()) { -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 m_statusNotifierItem->trayMenu()->setWindowFlags(Qt::Window|Qt::FramelessWindowHint); #endif m_statusNotifierItem->trayMenu()->popup(QPoint(x, y)); -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 KWindowSystem::setState(m_statusNotifierItem->trayMenu()->winId(), NET::SkipTaskbar|NET::SkipPager|NET::KeepAbove); KWindowSystem::setType(m_statusNotifierItem->trayMenu()->winId(), NET::PopupMenu); KWindowSystem::forceActiveWindow(m_statusNotifierItem->trayMenu()->winId()); diff -Nru quassel-0.11.0/src/qtui/statusnotifieritem.h quassel-0.12~beta1/src/qtui/statusnotifieritem.h --- quassel-0.11.0/src/qtui/statusnotifieritem.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/statusnotifieritem.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This contains code from KStatusNotifierItem, part of the KDE libs * diff -Nru quassel-0.11.0/src/qtui/systemtray.cpp quassel-0.12~beta1/src/qtui/systemtray.cpp --- quassel-0.11.0/src/qtui/systemtray.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/systemtray.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This file is free software; you can redistribute it and/or modify * @@ -26,10 +26,9 @@ #include "action.h" #include "actioncollection.h" #include "client.h" -#include "iconloader.h" #include "qtui.h" -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # include # include @@ -40,9 +39,9 @@ _mode(Invalid), _state(Passive), _shouldBeVisible(true), - _passiveIcon(DesktopIcon("quassel-inactive")), - _activeIcon(DesktopIcon("quassel")), - _needsAttentionIcon(DesktopIcon("quassel-message")), + _passiveIcon(QIcon::fromTheme("quassel-inactive", QIcon(":/icons/quassel-inactive.png"))), + _activeIcon(QIcon::fromTheme("quassel", QIcon(":/icons/quassel.png"))), + _needsAttentionIcon(QIcon::fromTheme("quassel-message", QIcon(":/icons/quassel-message.png"))), _trayMenu(0), _associatedWidget(parent) { @@ -67,7 +66,7 @@ ActionCollection *coll = QtUi::actionCollection("General"); _minimizeRestoreAction = new Action(tr("&Minimize"), this, this, SLOT(minimizeRestore())); -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 KMenu *kmenu; _trayMenu = kmenu = new KMenu(); kmenu->addTitle(_activeIcon, "Quassel IRC"); @@ -77,7 +76,7 @@ _trayMenu->setTitle("Quassel IRC"); -#ifndef HAVE_KDE +#ifndef HAVE_KDE4 _trayMenu->setAttribute(Qt::WA_Hover); #endif @@ -108,7 +107,7 @@ { if (mode_ != _mode) { _mode = mode_; -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 if (_trayMenu) { if (_mode == Legacy) { _trayMenu->setWindowFlags(Qt::Popup); @@ -122,13 +121,13 @@ } -Icon SystemTray::stateIcon() const +QIcon SystemTray::stateIcon() const { return stateIcon(state()); } -Icon SystemTray::stateIcon(State state) const +QIcon SystemTray::stateIcon(State state) const { switch (state) { case Passive: @@ -138,7 +137,7 @@ case NeedsAttention: return _needsAttentionIcon; } - return Icon(); + return QIcon(); } diff -Nru quassel-0.11.0/src/qtui/systemtray.h quassel-0.12~beta1/src/qtui/systemtray.h --- quassel-0.11.0/src/qtui/systemtray.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/systemtray.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This file is free software; you can redistribute it and/or modify * @@ -21,7 +21,7 @@ #ifndef SYSTEMTRAY_H_ #define SYSTEMTRAY_H_ -#include "icon.h" +#include class Action; class QMenu; @@ -84,7 +84,7 @@ signals: void activated(SystemTray::ActivationReason); - void iconChanged(const Icon &); + void iconChanged(const QIcon &icon); void animationEnabledChanged(bool); void toolTipChanged(const QString &title, const QString &subtitle); void messageClicked(uint notificationId); @@ -97,8 +97,8 @@ virtual void setMode(Mode mode); inline bool shouldBeVisible() const; - virtual Icon stateIcon() const; - Icon stateIcon(State state) const; + virtual QIcon stateIcon() const; + QIcon stateIcon(State state) const; inline QString toolTipTitle() const; inline QString toolTipSubTitle() const; inline QMenu *trayMenu() const; @@ -116,7 +116,7 @@ bool _shouldBeVisible; QString _toolTipTitle, _toolTipSubTitle; - Icon _passiveIcon, _activeIcon, _needsAttentionIcon; + QIcon _passiveIcon, _activeIcon, _needsAttentionIcon; bool _animationEnabled; QMenu *_trayMenu; diff -Nru quassel-0.11.0/src/qtui/systraynotificationbackend.cpp quassel-0.12~beta1/src/qtui/systraynotificationbackend.cpp --- quassel-0.11.0/src/qtui/systraynotificationbackend.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/systraynotificationbackend.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,14 +21,13 @@ #include #include #include +#include #include #include "systraynotificationbackend.h" #include "client.h" #include "clientsettings.h" -#include "icon.h" -#include "iconloader.h" #include "mainwin.h" #include "networkmodel.h" #include "qtui.h" @@ -154,7 +153,7 @@ SystrayNotificationBackend::ConfigWidget::ConfigWidget(QWidget *parent) : SettingsPage("Internal", "SystrayNotification", parent) { _showBubbleBox = new QCheckBox(tr("Show a message in a popup")); - _showBubbleBox->setIcon(SmallIcon("dialog-information")); + _showBubbleBox->setIcon(QIcon::fromTheme("dialog-information")); connect(_showBubbleBox, SIGNAL(toggled(bool)), this, SLOT(widgetChanged())); QHBoxLayout *layout = new QHBoxLayout(this); layout->addWidget(_showBubbleBox); diff -Nru quassel-0.11.0/src/qtui/systraynotificationbackend.h quassel-0.12~beta1/src/qtui/systraynotificationbackend.h --- quassel-0.11.0/src/qtui/systraynotificationbackend.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/systraynotificationbackend.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/taskbarnotificationbackend.cpp quassel-0.12~beta1/src/qtui/taskbarnotificationbackend.cpp --- quassel-0.11.0/src/qtui/taskbarnotificationbackend.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/taskbarnotificationbackend.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,12 +21,12 @@ #include #include #include +#include #include #include "taskbarnotificationbackend.h" #include "clientsettings.h" -#include "iconloader.h" #include "mainwin.h" #include "qtui.h" @@ -84,7 +84,7 @@ #else layout->addWidget(enabledBox = new QCheckBox(tr("Mark taskbar entry, timeout:"), this)); #endif - enabledBox->setIcon(SmallIcon("flag-blue")); + enabledBox->setIcon(QIcon::fromTheme("flag-blue")); enabledBox->setEnabled(true); timeoutBox = new QSpinBox(this); diff -Nru quassel-0.11.0/src/qtui/taskbarnotificationbackend.h quassel-0.12~beta1/src/qtui/taskbarnotificationbackend.h --- quassel-0.11.0/src/qtui/taskbarnotificationbackend.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/taskbarnotificationbackend.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/titlesetter.cpp quassel-0.12~beta1/src/qtui/titlesetter.cpp --- quassel-0.11.0/src/qtui/titlesetter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/titlesetter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/titlesetter.h quassel-0.12~beta1/src/qtui/titlesetter.h --- quassel-0.11.0/src/qtui/titlesetter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/titlesetter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/topicwidget.cpp quassel-0.12~beta1/src/qtui/topicwidget.cpp --- quassel-0.11.0/src/qtui/topicwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/topicwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,8 +20,9 @@ #include "topicwidget.h" +#include + #include "client.h" -#include "iconloader.h" #include "networkmodel.h" #include "uisettings.h" #include "graphicalui.h" @@ -31,7 +32,7 @@ : AbstractItemView(parent) { ui.setupUi(this); - ui.topicEditButton->setIcon(SmallIcon("edit-rename")); + ui.topicEditButton->setIcon(QIcon::fromTheme("edit-rename")); ui.topicLineEdit->setLineWrapEnabled(true); ui.topicLineEdit->installEventFilter(this); diff -Nru quassel-0.11.0/src/qtui/topicwidget.h quassel-0.12~beta1/src/qtui/topicwidget.h --- quassel-0.11.0/src/qtui/topicwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/topicwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/verticaldock.cpp quassel-0.12~beta1/src/qtui/verticaldock.cpp --- quassel-0.11.0/src/qtui/verticaldock.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/verticaldock.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/verticaldock.h quassel-0.12~beta1/src/qtui/verticaldock.h --- quassel-0.11.0/src/qtui/verticaldock.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/verticaldock.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/webpreviewitem.cpp quassel-0.12~beta1/src/qtui/webpreviewitem.cpp --- quassel-0.11.0/src/qtui/webpreviewitem.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/webpreviewitem.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/qtui/webpreviewitem.h quassel-0.12~beta1/src/qtui/webpreviewitem.h --- quassel-0.11.0/src/qtui/webpreviewitem.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/qtui/webpreviewitem.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/aboutdata.cpp quassel-0.12~beta1/src/uisupport/aboutdata.cpp --- quassel-0.11.0/src/uisupport/aboutdata.cpp 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/aboutdata.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,302 @@ +/*************************************************************************** + * Copyright (C) 2005-2015 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include "aboutdata.h" + +#include + +#include "quassel.h" + + +AboutPerson::AboutPerson(const QString &name, const QString &nick, const QString &task, const QString &emailAddress, QLocale::Language translatedLanguage) + : _name(name) + , _nick(nick) + , _task(task) + , _emailAddress(emailAddress) + , _language(translatedLanguage) +{ + +} + + +QString AboutPerson::name() const +{ + return _name; +} + + +QString AboutPerson::nick() const +{ + return _nick; +} + + +QString AboutPerson::task() const +{ + return _task; +} + + +QString AboutPerson::emailAddress() const +{ + return _emailAddress; +} + + +QLocale::Language AboutPerson::translatedLanguage() const +{ + return _language; +} + + +QString AboutPerson::prettyName() const +{ + if (!name().isEmpty() && !nick().isEmpty()) + return name() + " (" + nick() + ')'; + + if (name().isEmpty() && !nick().isEmpty()) + return nick(); + + return name(); +} + + +/**************************************************************************************************/ + + +AboutData::AboutData(QObject *parent) + : QObject(parent) +{ + +} + + +QList AboutData::authors() const +{ + return _authors; +} + + +QList< AboutPerson > AboutData::credits() const +{ + return _credits; +} + + +AboutData &AboutData::addAuthor(const AboutPerson &author) +{ + _authors.append(author); + return *this; +} + + +AboutData &AboutData::addAuthors(std::initializer_list authors) +{ + _authors.append(authors); + return *this; +} + + +AboutData &AboutData::addCredit(const AboutPerson &credit) +{ + _credits.append(credit); + return *this; +} + + +AboutData &AboutData::addCredits(std::initializer_list credits) +{ + _credits.append(credits); + return *this; +} + +#ifdef HAVE_KF5 + +KAboutData AboutData::kAboutData() const +{ + KAboutData aboutData( + Quassel::buildInfo().applicationName, + tr("Quassel IRC"), + Quassel::buildInfo().plainVersionString + ); + aboutData.addLicense(KAboutLicense::GPL_V2); + aboutData.addLicense(KAboutLicense::GPL_V3); + aboutData.setShortDescription(tr("A modern, distributed IRC client")); + aboutData.setProgramLogo(QVariant::fromValue(QImage(":/pics/quassel-logo.png"))); + aboutData.setBugAddress("http://bugs.quassel-irc.org/projects/quassel-irc/issues/new"); + aboutData.setOrganizationDomain(Quassel::buildInfo().organizationDomain.toUtf8()); + + for (const auto &person : authors()) { + aboutData.addAuthor(person.prettyName(), person.task(), person.emailAddress()); + } + + for (const auto &person : credits()) { + aboutData.addCredit(person.prettyName(), person.task(), person.emailAddress()); + } + + return aboutData; +} + +#endif + + +/**************************************************************************************************/ + +/* + * NOTE: The list of contributors was retrieved from the Git history, but sometimes things fall + * through the cracks... especially for translations, we don't have an easy way to track + * contributors' names. + * If you find wrong data for yourself, want your nickname and/or mail addresses added or + * removed, or feel left out or unfairly credited, please don't hesitate to let us know! We + * do want to credit everyone who has contributed to Quassel development. + */ + +void AboutData::setQuasselPersons(AboutData *aboutData) +{ + aboutData->addAuthors({ + { "Manuel Nickschas", "Sputnick", tr("Project Founder, Lead Developer"), "sputnick@quassel-irc.org" }, + { "Marcus Eggenberger", "EgS", tr("Project Motivator, Lead Developer"), "egs@quassel-irc.org" }, + { "Alexander von Renteln", "phon", tr("Former Lead Developer"), "phon@quassel-irc.org" }, + { "Daniel Albers", "al", tr("Master of Translation, many fixes and enhancements") }, + { "Sebastian Goth", "seezer", tr("Many features, fixes and improvements") }, + { "Bas Pape", "Tucos", tr("Many fixes and improvements, bug and patch triaging, community support") }, + }); + + aboutData->addCredits({ + { "Adam Harwood", "2kah", tr("Chatview improvements") }, + { "Adam Tulinius", "adamt", tr("Early beta tester and bughunter, Danish translation"), "", QLocale::Danish }, + { "Adolfo Jayme Barrientos", "", tr("Spanish translation"), "", QLocale::Spanish }, + { "Alexander Stein", "", tr("Tray icon fix") }, + { "Alf Gaida", "agaida", tr("Language improvements") }, + { "Allan Jude", "", tr("Documentation improvements") }, + { "Arthur Titeica", "roentgen", tr("Romanian translation"), "", QLocale::Romanian }, + { "Atte Virtanen", "", tr("Finnish translation"), "", QLocale::Finnish }, + { "Aurélien Gâteau", "agateau", tr("Message indicator support") }, + { "Awad Mackie", "firesock", tr("Chatview improvements") }, + { "Benjamin Zeller", "zbenjamin", tr("Windows build system fixes") }, + { "Bruno Brigras", "", tr("Crash fixes") }, + { "Bruno Patri", "", tr("French translation"), "", QLocale::French }, + { "Celeste Paul", "seele", tr("Usability review") }, + { "Chris Fuenty", "stitch", tr("SASL support") }, + { "Chris Holland", "Shade / Zren", tr("Various improvements") }, + { "Chris Le Sueur", "Fish-Face", tr("Various fixes and improvements") }, + { "Chris Moeller", "kode54", tr("Various fixes and improvements") }, + { "", "Condex", tr("Galician translation"), "", QLocale::Galician }, + { "", "cordata", tr("Esperanto translation"), "", QLocale::Esperanto }, + { "Daniel E. Moctezuma", "", tr("Japanese translation"), "", QLocale::Japanese }, + { "Daniel Meltzer", "hydrogen", tr("Various fixes and improvements") }, + { "Daniel Pielmeier", "billie", tr("Gentoo maintainer") }, + { "Daniel Steinmetz", "son", tr("Early beta tester and bughunter (on Vista™!)") }, + { "David Planella", "", tr("Translation system fixes") }, + { "David Sansome", "", tr("OSX Notification Center support") }, + { "David Roden", "Bombe", tr("Fixes") }, + { "Deniz Türkoglu", "", tr("Mac fixes") }, + { "Dennis Schridde", "devurandom", tr("D-Bus notifications") }, + { "", "derpella", tr("Polish translation"), "", QLocale::Polish }, + { "Diego Pettenò", "Flameeyes", tr("Build system improvements") }, + { "Dirk Rettschlag", "MarcLandis", tr("Formatting support and other input line improvements, many other fixes") }, + { "", "Dorian", tr("French translation"), "", QLocale::French }, + { "Drew Patridge", "LinuxDolt", tr("BluesTheme stylesheet") }, + { "Edward Hades", "", tr("Russian translation"), "", QLocale::Russian }, + { "Fabiano Francesconi", "elbryan", tr("Italian translation"), "", QLocale::Italian }, + { "Felix Geyer", "debfx", tr("Certificate handling improvements") }, + { "Florent Castelli", "", tr("Sanitize topic handling") }, + { "Frederik M.J. Vestre", "freqmod", tr("Norwegian translation"), "", QLocale::Norwegian }, + { "Gábor Németh", "ELITE_x", tr("Hungarian translation"), "", QLocale::Hungarian }, + { "Gryllida A", "gry", tr("IRC parser improvements") }, + { "H. İbrahim Güngör", "igungor", tr("Turkish translation"), "", QLocale::Turkish }, + { "Harald Fernengel", "harryF", tr("Initial Qt5 support") }, + { "Harald Sitter", "apachelogger", tr("{Ku|U}buntu packager, motivator, promoter") }, + { "Hendrik Leppkes", "nevcairiel", tr("Various features") }, + { "Henning Rohlfs", "honk", tr("Various fixes") }, + { "J-P Nurmi", "", tr("Various fixes") }, + { "Jaak Ristioja", "", tr("Bugfixes") }, + { "Jason Lynch", "", tr("Bugfixes") }, + { "Jens Arnold", "amiconn", tr("Postgres migration fixes") }, + { "Jerome Leclanche", "Adys", tr("Context menu fixes") }, + { "Jesper Thomschütz", "", tr("Various fixes") }, + { "Jiri Grönroos", "", tr("Finnish translation"), "", QLocale::Finnish }, + { "Johannes Huber", "johu", tr("Many fixes and improvements, bug triaging") }, + { "John Hand", "nox", tr("Original \"All-Seeing Eye\" logo") }, + { "Jonas Heese", "Dante", tr("Project founder, various improvements") }, + { "Joshua T Corbin", "tvakah", tr("Various fixes") }, + { "Jovan Jojkić", "", tr("Serbian translation"), "", QLocale::Serbian }, + { "Jure Repinc", "JLP", tr("Slovenian translation"), "", QLocale::Slovenian }, + { "Jussi Schultink", "jussi01", tr("Tireless tester, {Ku|U}buntu tester and lobbyist, liters of delicious Finnish alcohol") }, + { "K. Ernest Lee", "iFire", tr("Qt5 porting help, Travis CI setup") }, + { "Kevin Funk", "KRF", tr("German translation"), "", QLocale::German }, + { "Kimmo Huoman", "kipe", tr("Buffer merge improvements") }, + { "", "Larso", tr("Finnish translation"), "", QLocale::Finnish }, + { "Lasse Liehu", "", tr("Finnish translation"), "", QLocale::Finnish }, + { "Leo Franchi", "", tr("OSX improvements") }, + { "Liudas Alisauskas", "", tr("Lithuanian translation"), "", QLocale::Lithuanian }, + { "Luke Faraone", "", tr("Documentation fixes") }, + { "Maia Kozheva", "", tr("Russian translation"), "", QLocale::Russian }, + { "Marco Genise", "kaffeedoktor", tr("Ideas, hacking, initial motivation") }, + { "Marco Paolone", "Quizzlo", tr("Italian translation"), "", QLocale::Italian }, + { "Martin Mayer", "m4yer", tr("German translation"), "", QLocale::German }, + { "Martin Sandsmark", "sandsmark", tr("Core and other fixes, QuasselDroid") }, + { "Matthias Coy", "pennywise", tr("German translation"), "", QLocale::German }, + { "Mattia Basaglia", "", tr("Fixes") }, + { "Michael Groh", "brot", tr("German translation, fixes"), "", QLocale::German }, + { "Michael Kedzierski", "ycros", tr("Mac fixes") }, + { "Michael Marley", "mamarley", tr("Many fixes and improvements; Ubuntu live packages") }, + { "Miguel Revilla", "", tr("Spanish translation"), "", QLocale::Spanish }, + { "Nuno Pinheiro", "", tr("Tons of Oxygen icons including the Quassel logo") }, + { "Patrick Lauer", "bonsaikitten", tr("Gentoo maintainer") }, + { "Patrick von Reth", "TheOneRing", tr("MinGW support, SNORE backend, Windows packaging") }, + { "Paul Klumpp", "Haudrauf", tr("Initial design and main window layout") }, + { "Pavel Volkovitskiy", "int", tr("Early beta tester and bughunter") }, + { "Per Nielsen", "", tr("Danish translation"), "", QLocale::Danish }, + { "Pete Beardmore", "elbeardmorez", tr("Linewrap for input line") }, + { "Pierre-Hugues Husson", "", tr("/print command") }, + { "Ramanathan Sivagurunathan", "", tr("Bugfixes") }, + { "Regis Perrin", "ZRegis", tr("French translation"), "", QLocale::French }, + { "Rolf Eike Beer", "", tr("Build system fixes") }, + { "Roscoe van Wyk", "", tr("Bugfixes") }, + { "Rüdiger Sonderfeld", "ruediger", tr("Emacs keybindings") }, + { "", "salnx", tr("Highlight configuration improvements") }, + { "Scott Kitterman", "ScottK", tr("Kubuntu packager, (packaging/build system) bughunter") }, + { "Sebastian Meyer", "", tr("Bugfixes") }, + { "Sebastien Fricker", "", tr("Audio backend improvements") }, + { "", "sfionov", tr("Russian translation"), "", QLocale::Russian }, + { "Simon Philips", "", tr("Dutch translation"), "", QLocale::Dutch }, + { "Sjors Gielen", "dazjorz", tr("Bugfixes") }, + { "Stefanos Sofroniou", "", tr("Greek translation"), "", QLocale::Greek }, + { "Stella Rouzi", "differentreality", tr("Greek translation"), "", QLocale::Greek }, + { "Rafael Belmonte", "EagleScreen", tr("Spanish translation"), "", QLocale::Spanish }, + { "Sergiu Bivol", "", tr("Romanian translation"), "", QLocale::Romanian }, + { "Tae-Hoon Kwon", "", tr("Korean translation"), "", QLocale::Korean }, + { "Terje Andersen", "tan", tr("Norwegian translation, documentation") }, + { "Theo Chatzimichos", "tampakrap", tr("Greek translation"), "", QLocale::Greek }, + { "Theofilos Intzoglou", "", tr("Greek translation"), "", QLocale::Greek }, + { "Thomas Hogh", "Datafreak", tr("Former Windows builder") }, + { "Thomas Müller", "", tr("Fixes, Debian packaging") }, + { "Tim Schumacher", "xAFFE", tr("Fixes and feedback") }, + { "", "ToBeFree", tr("German translation"), "", QLocale::German }, + { "Tomáš Chvátal", "scarabeus", tr("Czech translation"), "", QLocale::Czech }, + { "Vit Pelcak", "", tr("Czech translation"), "", QLocale::Czech }, + { "Volkan Gezer", "", tr("Turkish translation"), "", QLocale::Turkish }, + { "Yaohan Chen", "hagabaka", tr("Network detection improvements") }, + { "Yuri Chornoivan", "", tr("Ukrainian translation"), "", QLocale::Ukrainian }, + { "Zé", "", tr("Portuguese translation"), "", QLocale::Portuguese }, + { "", "zeugma", tr("Turkish translation"), "", QLocale::Turkish } + }); +} diff -Nru quassel-0.11.0/src/uisupport/aboutdata.h quassel-0.12~beta1/src/uisupport/aboutdata.h --- quassel-0.11.0/src/uisupport/aboutdata.h 1970-01-01 00:00:00.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/aboutdata.h 2015-02-18 21:09:54.000000000 +0000 @@ -0,0 +1,194 @@ +/*************************************************************************** + * Copyright (C) 2005-2015 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#pragma once + +#include + +#ifdef HAVE_KF5 +# include +#endif + + +/** + * Represents a contributor or author for Quassel. + * + * This is used to show a list of contributors in the About Quassel dialog. + */ +class AboutPerson +{ +public: + /** + * Constructor. + * + * @param[in] name The person's name (in the form "Firstname Surname") + * @param[in] nick The person's nickname, if applicable + * @param[in] task Things the person does or has done for the project + * @param[in] emailAddress The person's email address, if applicable + * @param[in] translatedLanguage The language the person helped translate (only applicable for translators) + */ + AboutPerson(const QString &name, const QString &nick, const QString &task, const QString &emailAddress = QString(), QLocale::Language translatedLanguage = QLocale::C); + + /** + * Gets the person's name. + * + * @returns The person's name + */ + QString name() const; + + /** + * Gets the person's nick. + * + * @returns The person's nick + */ + QString nick() const; + + /** + * Gets the person's task. + * + * @returns The person's task + */ + QString task() const; + + /** + * Gets the person's e-mail address. + * + * @returns The person's e-mail address + */ + QString emailAddress() const; + + /** + * Gets the language this person helped translate. + * + * @returns The language this person helped translate + */ + QLocale::Language translatedLanguage() const; + + /** + * Gets the person's formatted name and nick. + * + * @returns The person's name and nick formatted for combined output + */ + QString prettyName() const; + +private: + QString _name; ///< The person's name + QString _nick; ///< The person's nick + QString _task; ///< The person's task + QString _emailAddress; ///< The person's email address + QLocale::Language _language; ///< The language the person helps translate +}; + + +/** + * Holds a list of authors, contributors and translators. + * + * This class is meant to hold the list of people who contributed to Quassel, used for displaying + * the About Quassel dialog. Additionally, this class can provide a KAboutData object to be shown + * if KDE integration is enabled. + */ +class AboutData : public QObject +{ + Q_OBJECT +public: + /** + * Default constructor. + * + * @param[in] parent The parent object, if applicable + */ + AboutData(QObject *parent = nullptr); + + /** + * Adds an author to the list of contributors. + * + * Authors are people who contributed a significant amount of code to Quassel. + * + * @param[in] author The author to add + * @returns A reference to this AboutData instance + */ + AboutData &addAuthor(const AboutPerson &author); + + /** + * Adds a list of authors to the list of contributors. + * + * This method allows the use of a brace initializer in order to easily add a long list of + * people. + * + * @param[in] authors A list of authors to add + * @returns A reference to this AboutData instance + */ + AboutData &addAuthors(std::initializer_list authors); + + /** + * Adds a contributor. + * + * @param[in] author The contributor to add + * @returns A reference to this AboutData instance + */ + AboutData &addCredit(const AboutPerson &credit); + + /** + * Adds a list of contributors. + * + * This method allows the use of brace initializers in order to easily add a long list of + * people. + * + * @param[in] authors A list of contributors to add + * @returns A reference to this AboutData instance + */ + AboutData &addCredits(std::initializer_list credits); + + /** + * Gets the list of authors stored in this AboutData instance. + * + * @returns A list of authors + */ + QList authors() const; + + /** + * Gets the list of non-author contributors stored in this AboutData instance. + * + * @returns A list of contributors + */ + QList credits() const; + +#ifdef HAVE_KF5 + /** + * Creates a KAboutData instance based on the contents of this AboutData instance. + * + * @returns A KAboutData instance holding the list of contributors as well as any additional + * data required for KAboutDialog and friends + */ + KAboutData kAboutData() const; +#endif + + /** + * Fills the given AboutData instance with data relevant for Quassel itself. + * + * This method adds a (hardcoded) list of contributors to the given AboutData instance. + * + * @param[in,out] aboutData An existing AboutData instance to add Quassel's contributors to + */ + static void setQuasselPersons(AboutData *aboutData); + +private: + QList _authors; ///< The list of authors + QList _credits; ///< The list of other contributors +}; diff -Nru quassel-0.11.0/src/uisupport/abstractbuffercontainer.cpp quassel-0.12~beta1/src/uisupport/abstractbuffercontainer.cpp --- quassel-0.11.0/src/uisupport/abstractbuffercontainer.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/abstractbuffercontainer.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/abstractbuffercontainer.h quassel-0.12~beta1/src/uisupport/abstractbuffercontainer.h --- quassel-0.11.0/src/uisupport/abstractbuffercontainer.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/abstractbuffercontainer.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/abstractitemview.cpp quassel-0.12~beta1/src/uisupport/abstractitemview.cpp --- quassel-0.11.0/src/uisupport/abstractitemview.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/abstractitemview.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/abstractitemview.h quassel-0.12~beta1/src/uisupport/abstractitemview.h --- quassel-0.11.0/src/uisupport/abstractitemview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/abstractitemview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/abstractnotificationbackend.h quassel-0.12~beta1/src/uisupport/abstractnotificationbackend.h --- quassel-0.11.0/src/uisupport/abstractnotificationbackend.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/abstractnotificationbackend.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/actioncollection.cpp quassel-0.12~beta1/src/uisupport/actioncollection.cpp --- quassel-0.11.0/src/uisupport/actioncollection.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/actioncollection.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/actioncollection.h quassel-0.12~beta1/src/uisupport/actioncollection.h --- quassel-0.11.0/src/uisupport/actioncollection.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/actioncollection.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,8 +20,7 @@ * This is a subset of the API of KDE's KActionCollection. * ***************************************************************************/ -#ifndef ACTIONCOLLECTION_H_ -#define ACTIONCOLLECTION_H_ +#pragma once #ifndef HAVE_KDE @@ -124,8 +123,11 @@ bool ActionCollection::isEmpty() const { return actions().count(); } #else /* HAVE_KDE */ - -#include +# ifdef HAVE_KDE4 +# include +# else +# include +# endif class ActionCollection : public KActionCollection { @@ -135,7 +137,4 @@ explicit ActionCollection(QObject *parent) : KActionCollection(parent) {}; }; - -#endif - -#endif +#endif /* HAVE_KDE */ diff -Nru quassel-0.11.0/src/uisupport/action.cpp quassel-0.12~beta1/src/uisupport/action.cpp --- quassel-0.11.0/src/uisupport/action.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/action.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -25,7 +25,7 @@ #include Action::Action(QObject *parent) -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 : KAction(parent) #else : QWidgetAction(parent) @@ -36,7 +36,7 @@ Action::Action(const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut) -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 : KAction(parent) #else : QWidgetAction(parent) @@ -51,7 +51,7 @@ Action::Action(const QIcon &icon, const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut) -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 : KAction(parent) #else : QWidgetAction(parent) @@ -66,7 +66,7 @@ } -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 void Action::init() {} #else void Action::init() @@ -124,4 +124,4 @@ } -#endif /* HAVE_KDE */ +#endif /* HAVE_KDE4 */ diff -Nru quassel-0.11.0/src/uisupport/action.h quassel-0.12~beta1/src/uisupport/action.h --- quassel-0.11.0/src/uisupport/action.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/action.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -23,7 +23,7 @@ #ifndef ACTION_H_ #define ACTION_H_ -#ifndef HAVE_KDE +#ifndef HAVE_KDE4 #include #include @@ -71,7 +71,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Action::ShortcutTypes) -#else /* HAVE_KDE */ +#else /* HAVE_KDE4 */ #include class Action : public KAction diff -Nru quassel-0.11.0/src/uisupport/bufferhotlistfilter.cpp quassel-0.12~beta1/src/uisupport/bufferhotlistfilter.cpp --- quassel-0.11.0/src/uisupport/bufferhotlistfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferhotlistfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/bufferhotlistfilter.h quassel-0.12~beta1/src/uisupport/bufferhotlistfilter.h --- quassel-0.11.0/src/uisupport/bufferhotlistfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferhotlistfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/bufferview.cpp quassel-0.12~beta1/src/uisupport/bufferview.cpp --- quassel-0.11.0/src/uisupport/bufferview.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferview.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -253,7 +253,6 @@ if (bufferList.count() != 1) return QTreeView::dropEvent(event); - NetworkId networkId = bufferList[0].first; BufferId bufferId2 = bufferList[0].second; if (index.data(NetworkModel::ItemTypeRole) != NetworkModel::BufferItemType) @@ -262,9 +261,6 @@ if (index.data(NetworkModel::BufferTypeRole) != BufferInfo::QueryBuffer) return QTreeView::dropEvent(event); - if (index.data(NetworkModel::NetworkIdRole).value() != networkId) - return QTreeView::dropEvent(event); - BufferId bufferId1 = index.data(NetworkModel::BufferIdRole).value(); if (bufferId1 == bufferId2) return QTreeView::dropEvent(event); diff -Nru quassel-0.11.0/src/uisupport/bufferviewfilter.cpp quassel-0.12~beta1/src/uisupport/bufferviewfilter.cpp --- quassel-0.11.0/src/uisupport/bufferviewfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferviewfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -30,7 +30,6 @@ #include "client.h" #include "clientbufferviewconfig.h" #include "graphicalui.h" -#include "iconloader.h" #include "networkmodel.h" #include "uistyle.h" diff -Nru quassel-0.11.0/src/uisupport/bufferviewfilter.h quassel-0.12~beta1/src/uisupport/bufferviewfilter.h --- quassel-0.11.0/src/uisupport/bufferviewfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferviewfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/bufferview.h quassel-0.12~beta1/src/uisupport/bufferview.h --- quassel-0.11.0/src/uisupport/bufferview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/bufferviewoverlayfilter.cpp quassel-0.12~beta1/src/uisupport/bufferviewoverlayfilter.cpp --- quassel-0.11.0/src/uisupport/bufferviewoverlayfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferviewoverlayfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/bufferviewoverlayfilter.h quassel-0.12~beta1/src/uisupport/bufferviewoverlayfilter.h --- quassel-0.11.0/src/uisupport/bufferviewoverlayfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/bufferviewoverlayfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/clearablelineedit.cpp quassel-0.12~beta1/src/uisupport/clearablelineedit.cpp --- quassel-0.11.0/src/uisupport/clearablelineedit.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/clearablelineedit.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,16 +20,15 @@ #include "clearablelineedit.h" +#include #include #include -#include "iconloader.h" - ClearableLineEdit::ClearableLineEdit(QWidget *parent) : QLineEdit(parent) { clearButton = new QToolButton(this); - clearButton->setIcon(SmallIcon("edit-clear-locationbar-rtl")); + clearButton->setIcon(QIcon::fromTheme("edit-clear-locationbar-rtl", QIcon::fromTheme("edit-clear"))); #ifndef Q_WS_QWS clearButton->setCursor(Qt::ArrowCursor); #endif diff -Nru quassel-0.11.0/src/uisupport/clearablelineedit.h quassel-0.12~beta1/src/uisupport/clearablelineedit.h --- quassel-0.11.0/src/uisupport/clearablelineedit.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/clearablelineedit.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/clickable.cpp quassel-0.12~beta1/src/uisupport/clickable.cpp --- quassel-0.11.0/src/uisupport/clickable.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/clickable.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/clickable.h quassel-0.12~beta1/src/uisupport/clickable.h --- quassel-0.11.0/src/uisupport/clickable.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/clickable.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/clickablelabel.cpp quassel-0.12~beta1/src/uisupport/clickablelabel.cpp --- quassel-0.11.0/src/uisupport/clickablelabel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/clickablelabel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/clickablelabel.h quassel-0.12~beta1/src/uisupport/clickablelabel.h --- quassel-0.11.0/src/uisupport/clickablelabel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/clickablelabel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/CMakeLists.txt quassel-0.12~beta1/src/uisupport/CMakeLists.txt --- quassel-0.11.0/src/uisupport/CMakeLists.txt 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/CMakeLists.txt 2015-02-18 21:09:54.000000000 +0000 @@ -1,6 +1,7 @@ # Builds the uisupport module set(SOURCES + aboutdata.cpp abstractbuffercontainer.cpp abstractitemview.cpp action.cpp @@ -17,8 +18,6 @@ flatproxymodel.cpp fontselector.cpp graphicalui.cpp - icon.cpp - iconloader.cpp multilineedit.cpp networkmodelcontroller.cpp nickview.cpp @@ -36,7 +35,7 @@ abstractnotificationbackend.h ) -if (KDE4_FOUND) +if (WITH_KDE4) include_directories(${KDE4_INCLUDES}) add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS}) set(SOURCES ${SOURCES} kcmdlinewrapper.cpp) @@ -53,8 +52,12 @@ add_library(mod_uisupport STATIC ${SOURCES}) qt_use_modules(mod_uisupport Core Gui Network ${qt_modules}) -if (KDE4_FOUND) +target_link_libraries(mod_uisupport mod_client mod_common) + +if (WITH_KDE4) target_link_libraries(mod_uisupport ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBRARY}) endif() -add_dependencies(mod_uisupport mod_common mod_client) +if (WITH_KF5) + target_link_libraries(mod_uisupport KF5::CoreAddons KF5::TextWidgets KF5::XmlGui) +endif() diff -Nru quassel-0.11.0/src/uisupport/colorbutton.cpp quassel-0.12~beta1/src/uisupport/colorbutton.cpp --- quassel-0.11.0/src/uisupport/colorbutton.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/colorbutton.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,7 +24,7 @@ #include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include #else # include @@ -56,7 +56,7 @@ void ColorButton::chooseColor() { -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 QColor c = color(); KColorDialog::getColor(c, this); #else diff -Nru quassel-0.11.0/src/uisupport/colorbutton.h quassel-0.12~beta1/src/uisupport/colorbutton.h --- quassel-0.11.0/src/uisupport/colorbutton.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/colorbutton.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/contextmenuactionprovider.cpp quassel-0.12~beta1/src/uisupport/contextmenuactionprovider.cpp --- quassel-0.11.0/src/uisupport/contextmenuactionprovider.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/contextmenuactionprovider.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,6 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include @@ -27,7 +28,6 @@ #include "buffermodel.h" #include "buffersettings.h" -#include "iconloader.h" #include "clientidentity.h" #include "network.h" #include "util.h" @@ -36,14 +36,15 @@ ContextMenuActionProvider::ContextMenuActionProvider(QObject *parent) : NetworkModelController(parent) { - registerAction(NetworkConnect, SmallIcon("network-connect"), tr("Connect")); - registerAction(NetworkDisconnect, SmallIcon("network-disconnect"), tr("Disconnect")); + registerAction(NetworkConnect, QIcon::fromTheme("network-connect"), tr("Connect")); + registerAction(NetworkDisconnect, QIcon::fromTheme("network-disconnect"), tr("Disconnect")); - registerAction(BufferJoin, SmallIcon("irc-join-channel"), tr("Join")); - registerAction(BufferPart, SmallIcon("irc-close-channel"), tr("Part")); + registerAction(BufferJoin, QIcon::fromTheme("irc-join-channel"), tr("Join")); + registerAction(BufferPart, QIcon::fromTheme("irc-close-channel"), tr("Part")); registerAction(BufferRemove, tr("Delete Chat(s)...")); registerAction(BufferSwitchTo, tr("Go to Chat")); + registerAction(HideJoinPartQuit, tr("Joins/Parts/Quits")); registerAction(HideJoin, tr("Joins"), true); registerAction(HidePart, tr("Parts"), true); registerAction(HideQuit, tr("Quits"), true); @@ -54,7 +55,7 @@ registerAction(HideApplyToAll, tr("Set as Default...")); registerAction(HideUseDefaults, tr("Use Defaults...")); - registerAction(JoinChannel, SmallIcon("irc-join-channel"), tr("Join Channel...")); + registerAction(JoinChannel, QIcon::fromTheme("irc-join-channel"), tr("Join Channel...")); registerAction(NickQuery, tr("Start Query")); registerAction(NickSwitchTo, tr("Show Query")); @@ -76,15 +77,15 @@ registerAction(NickIgnoreToggleEnabled3, "Enable", true); registerAction(NickIgnoreToggleEnabled4, "Enable", true); - registerAction(NickOp, SmallIcon("irc-operator"), tr("Give Operator Status")); - registerAction(NickDeop, SmallIcon("irc-remove-operator"), tr("Take Operator Status")); - registerAction(NickHalfop, SmallIcon("irc-voice"), tr("Give Half-Operator Status")); - registerAction(NickDehalfop, SmallIcon("irc-unvoice"), tr("Take Half-Operator Status")); - registerAction(NickVoice, SmallIcon("irc-voice"), tr("Give Voice")); - registerAction(NickDevoice, SmallIcon("irc-unvoice"), tr("Take Voice")); - registerAction(NickKick, SmallIcon("im-kick-user"), tr("Kick From Channel")); - registerAction(NickBan, SmallIcon("im-ban-user"), tr("Ban From Channel")); - registerAction(NickKickBan, SmallIcon("im-ban-kick-user"), tr("Kick && Ban")); + registerAction(NickOp, QIcon::fromTheme("irc-operator"), tr("Give Operator Status")); + registerAction(NickDeop, QIcon::fromTheme("irc-remove-operator"), tr("Take Operator Status")); + registerAction(NickHalfop, QIcon::fromTheme("irc-voice"), tr("Give Half-Operator Status")); + registerAction(NickDehalfop, QIcon::fromTheme("irc-unvoice"), tr("Take Half-Operator Status")); + registerAction(NickVoice, QIcon::fromTheme("irc-voice"), tr("Give Voice")); + registerAction(NickDevoice, QIcon::fromTheme("irc-unvoice"), tr("Take Voice")); + registerAction(NickKick, QIcon::fromTheme("im-kick-user"), tr("Kick From Channel")); + registerAction(NickBan, QIcon::fromTheme("im-ban-user"), tr("Ban From Channel")); + registerAction(NickKickBan, QIcon::fromTheme("im-ban-kick-user"), tr("Kick && Ban")); registerAction(HideBufferTemporarily, tr("Hide Chat(s) Temporarily")); registerAction(HideBufferPermanently, tr("Hide Chat(s) Permanently")); @@ -92,6 +93,8 @@ registerAction(ShowIgnoreList, tr("Show Ignore List")); QMenu *hideEventsMenu = new QMenu(); + hideEventsMenu->addAction(action(HideJoinPartQuit)); + hideEventsMenu->addSeparator(); hideEventsMenu->addAction(action(HideJoin)); hideEventsMenu->addAction(action(HidePart)); hideEventsMenu->addAction(action(HideQuit)); diff -Nru quassel-0.11.0/src/uisupport/contextmenuactionprovider.h quassel-0.12~beta1/src/uisupport/contextmenuactionprovider.h --- quassel-0.11.0/src/uisupport/contextmenuactionprovider.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/contextmenuactionprovider.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/flatproxymodel.cpp quassel-0.12~beta1/src/uisupport/flatproxymodel.cpp --- quassel-0.11.0/src/uisupport/flatproxymodel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/flatproxymodel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -204,8 +204,9 @@ row++; } - Q_ASSERT(topLeftItem && bottomRightItem); // there should be one range left. - sourceSelection << QItemSelectionRange(mapToSource(createIndex(topLeftItem->pos(), left, topLeftItem)), mapToSource(createIndex(bottomRightItem->pos(), right, bottomRightItem))); + if (topLeftItem && bottomRightItem) { // there should be one range left. + sourceSelection << QItemSelectionRange(mapToSource(createIndex(topLeftItem->pos(), left, topLeftItem)), mapToSource(createIndex(bottomRightItem->pos(), right, bottomRightItem))); + } } return sourceSelection; diff -Nru quassel-0.11.0/src/uisupport/flatproxymodel.h quassel-0.12~beta1/src/uisupport/flatproxymodel.h --- quassel-0.11.0/src/uisupport/flatproxymodel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/flatproxymodel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/fontselector.cpp quassel-0.12~beta1/src/uisupport/fontselector.cpp --- quassel-0.11.0/src/uisupport/fontselector.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/fontselector.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/fontselector.h quassel-0.12~beta1/src/uisupport/fontselector.h --- quassel-0.11.0/src/uisupport/fontselector.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/fontselector.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/graphicalui.cpp quassel-0.12~beta1/src/uisupport/graphicalui.cpp --- quassel-0.11.0/src/uisupport/graphicalui.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/graphicalui.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This contains code from KStatusNotifierItem, part of the KDE libs * @@ -31,7 +31,7 @@ #ifdef Q_WS_X11 # include #endif -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # include #endif @@ -146,6 +146,9 @@ } +// NOTE: Window activation stuff seems to work just fine in Plasma 5 without requiring X11 hacks. +// TODO: Evaluate cleaning all this up once we can get rid of Qt4/KDE4 + // Code taken from KStatusNotifierItem for handling minimize/restore bool GraphicalUi::checkMainWidgetVisibility(bool perform) @@ -166,7 +169,7 @@ return true; } -#elif defined(HAVE_KDE) && defined(Q_WS_X11) +#elif defined(HAVE_KDE4) && defined(Q_WS_X11) KWindowInfo info1 = KWindowSystem::windowInfo(mainWidget()->winId(), NET::XAWMState | NET::WMState | NET::WMDesktop); // mapped = visible (but possibly obscured) bool mapped = (info1.mappingState() == NET::Visible) && !info1.isMinimized(); @@ -261,7 +264,7 @@ void GraphicalUi::activateMainWidget() { -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # ifdef Q_WS_X11 KWindowInfo info = KWindowSystem::windowInfo(mainWidget()->winId(), NET::WMDesktop | NET::WMFrameExtents); if (_onAllDesktops) { @@ -282,7 +285,7 @@ KWindowSystem::forceActiveWindow(mainWidget()->winId()); # endif -#else /* HAVE_KDE */ +#else /* HAVE_KDE4 */ #ifdef Q_WS_X11 // Bypass focus stealing prevention @@ -300,13 +303,13 @@ mainWidget()->raise(); mainWidget()->activateWindow(); -#endif /* HAVE_KDE */ +#endif /* HAVE_KDE4 */ } void GraphicalUi::hideMainWidget() { -#if defined(HAVE_KDE) && defined(Q_WS_X11) +#if defined(HAVE_KDE4) && defined(Q_WS_X11) KWindowInfo info = KWindowSystem::windowInfo(mainWidget()->winId(), NET::WMDesktop | NET::WMFrameExtents); _onAllDesktops = info.onAllDesktops(); #endif diff -Nru quassel-0.11.0/src/uisupport/graphicalui.h quassel-0.12~beta1/src/uisupport/graphicalui.h --- quassel-0.11.0/src/uisupport/graphicalui.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/graphicalui.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/icon.cpp quassel-0.12~beta1/src/uisupport/icon.cpp --- quassel-0.11.0/src/uisupport/icon.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/icon.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * - * devel@quassel-irc.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) version 3. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#ifndef HAVE_KDE - -#include "icon.h" -#include "iconloader.h" - -Icon::Icon() : QIcon() -{ -} - - -Icon::Icon(const QString &name) : QIcon() -{ - addPixmap(IconLoader::global()->loadIcon(name, IconLoader::Desktop)); -} - - -Icon::Icon(const QIcon ©) : QIcon(copy) -{ -} - - -Icon &Icon::operator=(const Icon &other) -{ - if (this != &other) { - QIcon::operator=(other); - } - return *this; -} - - -#endif diff -Nru quassel-0.11.0/src/uisupport/icon.h quassel-0.12~beta1/src/uisupport/icon.h --- quassel-0.11.0/src/uisupport/icon.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/icon.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * - * devel@quassel-irc.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) version 3. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#ifndef ICON_H_ -#define ICON_H_ - -#ifndef HAVE_KDE - -#include - -/// A very thin wrapper around QIcon -/** This wrapper class allows us to load an icon by its theme name rather than its full file name. - * The overloaded ctor uses IconLoader to locate an icon with this basename in the current theme - * or in Qt Resources. - */ -class Icon : public QIcon -{ -public: - Icon(); - explicit Icon(const QString &iconName); - explicit Icon(const QIcon ©); - - Icon &operator=(const Icon &other); -}; - - -#else /* HAVE_KDE */ -#include -class Icon : public KIcon -{ -public: - inline Icon() : KIcon() {}; - inline explicit Icon(const QString &iconName) : KIcon(iconName) {}; - inline explicit Icon(const QIcon ©) : KIcon(copy) {}; -}; - - -#endif /* HAVE_KDE */ - -#endif diff -Nru quassel-0.11.0/src/uisupport/iconloader.cpp quassel-0.12~beta1/src/uisupport/iconloader.cpp --- quassel-0.11.0/src/uisupport/iconloader.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/iconloader.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,191 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * - * devel@quassel-irc.org * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) version 3. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#ifndef HAVE_KDE - -#include -#include -#include -#include - -#include "iconloader.h" -#include "quassel.h" -#include "util.h" - -IconLoader IconLoader::_iconLoader; -int IconLoader::_groupSize[] = { 48, 22, 22, 16, 32, 22 }; // default sizes taken from Oxygen - -IconLoader *IconLoader::global() -{ - // Workaround: the static _iconLoader might be initialized before the resources it needs - // This way, first call to global() will init it by setting the theme - if (_iconLoader.theme().isEmpty()) - _iconLoader.setTheme("oxygen"); - return &_iconLoader; -} - - -IconLoader::IconLoader(QObject *parent) : QObject(parent) -{ - // setTheme("oxygen"); -} - - -IconLoader::~IconLoader() -{ -} - - -void IconLoader::setTheme(const QString &theme) -{ - _theme = theme; - // check which dirs could contain themed icons - _themedIconDirNames.clear(); - _plainIconDirNames.clear(); - - // First, look for a system theme - // This is supposed to only work on Unix, though other platforms might set $XDG_DATA_DIRS if they please. - QStringList iconDirNames = QString(qgetenv("XDG_DATA_DIRS")).split(':', QString::SkipEmptyParts); - if (!iconDirNames.isEmpty()) { - for (int i = 0; i < iconDirNames.count(); i++) - iconDirNames[i].append(QString("/icons/")); - } -#ifdef Q_OS_UNIX - else { - // Provide a fallback - iconDirNames << "/usr/share/icons/"; - } - // Add our prefix too - QString appDir = QCoreApplication::applicationDirPath(); - int binpos = appDir.lastIndexOf("/bin"); - if (binpos >= 0) { - appDir.replace(binpos, 4, "/share"); - appDir.append("/icons/"); - if (!iconDirNames.contains(appDir)) - iconDirNames.append(appDir); - } -#endif - - // Now look for an icons/ subdir in our data paths - foreach(const QString &dir, Quassel::dataDirPaths()) - iconDirNames << dir + "icons/"; - - // Add our resource path too - iconDirNames << ":/icons/"; - - // Ready do add theme names - foreach(const QString &dir, iconDirNames) { - QString path = dir + theme + '/'; - if (QFile::exists(path)) - _themedIconDirNames << path; - } - foreach(const QString &dir, iconDirNames) { - QString path = dir + "hicolor/"; - if (QFile::exists(path)) - _themedIconDirNames << path; - } - - // We ship some plain (non-themed) icons in $data/pics - foreach(const QString &dir, Quassel::dataDirPaths()) { - QString path = dir + "pics/"; - if (QFile::exists(path)) - _plainIconDirNames << path; - } - // And of course, our resource path - if (QFile::exists(":/pics")) - _plainIconDirNames << ":/pics"; -} - - -// TODO: optionally implement cache (speed/memory tradeoff?) -QPixmap IconLoader::loadIcon(const QString &name, IconLoader::Group group, int size) -{ - if (group < 0 || group >= LastGroup) { - qWarning() << "Invalid icon group!"; - return QPixmap(); - } - if (size == 0) - size = _groupSize[group]; - - QString path = findIconPath(name, size); - if (path.isEmpty()) return QPixmap(); - - // load the icon - return QPixmap(path); -} - - -QString IconLoader::findIconPath(const QString &name, int size) -{ - QString fname = QString("%1.png").arg(name); // we only support PNG so far - // First, look for a themed icon... we don't do anything fancy here, only exact match for both name and size - foreach(QString basedir, _themedIconDirNames) { - QDir sizedir(QString("%1/%2x%2").arg(basedir).arg(QString::number(size))); - if (sizedir.exists()) { - // ignore context, i.e. scan all subdirs - QStringList contextdirs = sizedir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); - foreach(QString dir, contextdirs) { - QString path = QString("%1/%2/%3").arg(sizedir.absolutePath(), dir, fname); - if (QFile::exists(path)) return path; - } - } - } - // Now check the plain dirs - foreach(QString dir, _plainIconDirNames) { - QString path = QString("%1/%2").arg(dir, name); - if (QFile::exists(path)) return path; - } - - qWarning() << "Icon not found:" << name << size; - return QString(); -} - - -// Convenience constructors - -QPixmap DesktopIcon(const QString &name, int force_size) -{ - IconLoader *loader = IconLoader::global(); - return loader->loadIcon(name, IconLoader::Desktop, force_size); -} - - -QPixmap BarIcon(const QString &name, int force_size) -{ - IconLoader *loader = IconLoader::global(); - return loader->loadIcon(name, IconLoader::Toolbar, force_size); -} - - -QPixmap MainBarIcon(const QString &name, int force_size) -{ - IconLoader *loader = IconLoader::global(); - return loader->loadIcon(name, IconLoader::MainToolbar, force_size); -} - - -QPixmap SmallIcon(const QString &name, int force_size) -{ - IconLoader *loader = IconLoader::global(); - return loader->loadIcon(name, IconLoader::Small, force_size); -} - - -#endif diff -Nru quassel-0.11.0/src/uisupport/iconloader.h quassel-0.12~beta1/src/uisupport/iconloader.h --- quassel-0.11.0/src/uisupport/iconloader.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/iconloader.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,120 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * - * devel@quassel-irc.org * - * * - * Based in part on KDE's kiconloader.h * - * This declares a subset of that API. * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) version 3. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - ***************************************************************************/ - -#ifndef ICONLOADER_H_ -#define ICONLOADER_H_ - -#ifndef HAVE_KDE - -#include - -/// Provides basic facilities to load icons from standard locations or resources -/** This implements a (very) basic subset of KIconLoader's API, such that we can use those classes - * interchangeably in Quassel. - * - * We currently (unless somebody does a more fancy implementation ;-)) assume the Oxygen icon theme - * to be used. In particular, this means that we do assume its directory layout and existing icons to - * be present. Though it should be easy to switch to a different theme name, we don't currently support - * any fallback mechanism if this other theme misses an icon for a given size. Also, we only support PNG. - * - * Since we do support integrating the required part of Oxygen into the binary via Qt Resources, this - * should work for everyone for now. - * - * - $XDG_DATA_DIRS/icons/$theme (in order) - * - :/icons/$theme (fallback in case we use Qt Resources) - * - $XDG_DATA_DIRS/apps/quassel/icons/hicolor (our own unthemed icons) - * - :/icons/hicolor - * - $XDG_DATA_DIRS/apps/quassel/pics - * - :/pics - * - * We don't search for size/context dirs in /pics, i.e. for a given $name, we expect pics/$name.png. - */ -class IconLoader : public QObject -{ - Q_OBJECT - -public: - enum Group { - NoGroup = -1, ///< No group - Desktop = 0, ///< Desktop icons - Toolbar, ///< Toolbar icons - MainToolbar, ///< Main toolbar icons - Small, ///< Small icons, e.g. for buttons - Panel, ///< Panel icons - Dialog, ///< Icons for use in dialog title etc. - LastGroup - }; - - /// Standard icon sizes - enum StdSizes { - SizeSmall = 16, ///< Small icons for menu entries - SizeSmallMedium = 22, ///< Slightly larger small icons for toolbars, panels, etc - SizeMedium = 32, ///< Medium-sized icons for the desktop - SizeLarge = 48, ///< Large icons for the panel - SizeHuge = 64, ///< Huge icons for iconviews - SizeEnormous = 128 ///< Enormous icons for iconviews - }; - - explicit IconLoader(QObject *parent = 0); - ~IconLoader(); - - static IconLoader *global(); - - /// Load a pixmap for the given name and group - QPixmap loadIcon(const QString &name, IconLoader::Group group, int size = 0); - - inline QString theme() const; - void setTheme(const QString &name); - -private: - QString findIconPath(const QString &name, int size); - - static IconLoader _iconLoader; - QString _theme; - QStringList _themedIconDirNames; - QStringList _plainIconDirNames; - static int _groupSize[]; -}; - - -// convenience -QPixmap DesktopIcon(const QString &name, int size = 0); -QPixmap BarIcon(const QString &name, int size = 0); -QPixmap MainBarIcon(const QString &name, int size = 0); -QPixmap SmallIcon(const QString &name, int size = 0); -//QPixmap SmallMediumIcon(const QString &name, int size = 0); // not part of KIconLoader - -QString IconLoader::theme() const { return _theme; } - -#else /* HAVE_KDE */ - -#include -class IconLoader : public KIconLoader -{ - Q_OBJECT -}; - - -#endif /* HAVE_KDE */ - -#endif diff -Nru quassel-0.11.0/src/uisupport/kcmdlinewrapper.cpp quassel-0.12~beta1/src/uisupport/kcmdlinewrapper.cpp --- quassel-0.11.0/src/uisupport/kcmdlinewrapper.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/kcmdlinewrapper.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -27,11 +27,16 @@ } -void KCmdLineWrapper::addArgument(const QString &longName, const CliParserArg &arg) +void KCmdLineWrapper::addArgument(const QString &longName_, const CliParserArg &arg) { + QString longName = longName_; + if (arg.type == CliParserArg::CliArgOption && !arg.valueName.isEmpty()) + longName += " <" + arg.valueName + ">"; + if (arg.shortName != 0) { - _cmdLineOptions.add(QByteArray().append(arg.shortName)); + _cmdLineOptions.add(QByteArray(1, arg.shortName)); } + _cmdLineOptions.add(longName.toUtf8(), ki18n(arg.help.toUtf8()), arg.def.toUtf8()); } diff -Nru quassel-0.11.0/src/uisupport/kcmdlinewrapper.h quassel-0.12~beta1/src/uisupport/kcmdlinewrapper.h --- quassel-0.11.0/src/uisupport/kcmdlinewrapper.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/kcmdlinewrapper.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/multilineedit.cpp quassel-0.12~beta1/src/uisupport/multilineedit.cpp --- quassel-0.11.0/src/uisupport/multilineedit.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/multilineedit.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -43,9 +43,7 @@ _emacsMode(false), _lastDocumentHeight(-1) { -#if QT_VERSION >= 0x040500 - document()->setDocumentMargin(0); // new in Qt 4.5 and we really don't want it here -#endif + document()->setDocumentMargin(0); setAcceptRichText(false); #ifdef HAVE_KDE @@ -296,18 +294,7 @@ void MultiLineEdit::keyPressEvent(QKeyEvent *event) { - // Workaround the fact that Qt < 4.5 doesn't know InsertLineSeparator yet -#if QT_VERSION >= 0x040500 if (event == QKeySequence::InsertLineSeparator) { -#else - -# ifdef Q_OS_MAC - if ((event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) && event->modifiers() & Qt::META) { -# else - if ((event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) && event->modifiers() & Qt::SHIFT) { -# endif -#endif - if (_mode == SingleLine) { event->accept(); on_returnPressed(); @@ -564,22 +551,18 @@ cursor.clearSelection(); } - if (color) { - color = false; + + if (color) mircText.append('\x03'); - } - if (underline) { - underline = false; + + if (underline) mircText.append('\x1f'); - } - if (italic) { - italic = false; + + if (italic) mircText.append('\x1d'); - } - if (bold) { - bold = false; + + if (bold) mircText.append('\x02'); - } return mircText; } diff -Nru quassel-0.11.0/src/uisupport/multilineedit.h quassel-0.12~beta1/src/uisupport/multilineedit.h --- quassel-0.11.0/src/uisupport/multilineedit.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/multilineedit.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,9 +24,12 @@ #include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # define MultiLineEditParent KTextEdit +#elif defined HAVE_KF5 +# include +# define MultiLineEditParent KTextEdit #else # include # define MultiLineEditParent QTextEdit diff -Nru quassel-0.11.0/src/uisupport/networkmodelcontroller.cpp quassel-0.12~beta1/src/uisupport/networkmodelcontroller.cpp --- quassel-0.11.0/src/uisupport/networkmodelcontroller.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/networkmodelcontroller.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -31,7 +32,6 @@ #include "buffermodel.h" #include "buffersettings.h" -#include "iconloader.h" #include "clientidentity.h" #include "network.h" #include "util.h" @@ -59,7 +59,7 @@ } -Action *NetworkModelController::registerAction(ActionType type, const QPixmap &icon, const QString &text, bool checkable) +Action *NetworkModelController::registerAction(ActionType type, const QIcon &icon, const QString &text, bool checkable) { Action *act; if (icon.isNull()) @@ -307,6 +307,19 @@ { Q_UNUSED(action) + if (type == HideJoinPartQuit) { + bool anyChecked = NetworkModelController::action(HideJoin)->isChecked(); + anyChecked |= NetworkModelController::action(HidePart)->isChecked(); + anyChecked |= NetworkModelController::action(HideQuit)->isChecked(); + + // If any are checked, uncheck them all. + // If none are checked, check them all. + bool newCheckedState = !anyChecked; + NetworkModelController::action(HideJoin)->setChecked(newCheckedState); + NetworkModelController::action(HidePart)->setChecked(newCheckedState); + NetworkModelController::action(HideQuit)->setChecked(newCheckedState); + } + int filter = 0; if (NetworkModelController::action(HideJoin)->isChecked()) filter |= Message::Join | Message::NetsplitJoin; @@ -324,6 +337,7 @@ filter |= Message::Topic; switch (type) { + case HideJoinPartQuit: case HideJoin: case HidePart: case HideQuit: @@ -526,7 +540,7 @@ NetworkModelController::JoinDlg::JoinDlg(const QModelIndex &index, QWidget *parent) : QDialog(parent) { - setWindowIcon(SmallIcon("irc-join-channel")); + setWindowIcon(QIcon::fromTheme("irc-join-channel")); setWindowTitle(tr("Join Channel")); QGridLayout *layout = new QGridLayout(this); diff -Nru quassel-0.11.0/src/uisupport/networkmodelcontroller.h quassel-0.12~beta1/src/uisupport/networkmodelcontroller.h --- quassel-0.11.0/src/uisupport/networkmodelcontroller.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/networkmodelcontroller.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -64,6 +64,7 @@ HideMode = 0x0500, HideDayChange = 0x0600, HideTopic = 0x0700, + HideJoinPartQuit = 0xd00, HideUseDefaults = 0xe00, HideApplyToAll = 0xf00, @@ -138,7 +139,7 @@ void setSlot(QObject *receiver, const char *method); Action *registerAction(ActionType type, const QString &text, bool checkable = false); - Action *registerAction(ActionType type, const QPixmap &icon, const QString &text, bool checkable = false); + Action *registerAction(NetworkModelController::ActionType type, const QIcon &icon, const QString &text, bool checkable = false); bool checkRequirements(const QModelIndex &index, ItemActiveStates requiredActiveState = QFlags(ActiveState | InactiveState)); QString nickName(const QModelIndex &index) const; diff -Nru quassel-0.11.0/src/uisupport/nickview.cpp quassel-0.12~beta1/src/uisupport/nickview.cpp --- quassel-0.11.0/src/uisupport/nickview.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/nickview.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/nickviewfilter.cpp quassel-0.12~beta1/src/uisupport/nickviewfilter.cpp --- quassel-0.11.0/src/uisupport/nickviewfilter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/nickviewfilter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,7 +22,6 @@ #include "buffersettings.h" #include "graphicalui.h" -#include "iconloader.h" #include "networkmodel.h" #include "uistyle.h" diff -Nru quassel-0.11.0/src/uisupport/nickviewfilter.h quassel-0.12~beta1/src/uisupport/nickviewfilter.h --- quassel-0.11.0/src/uisupport/nickviewfilter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/nickviewfilter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/nickview.h quassel-0.12~beta1/src/uisupport/nickview.h --- quassel-0.11.0/src/uisupport/nickview.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/nickview.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/qssparser.cpp quassel-0.12~beta1/src/uisupport/qssparser.cpp --- quassel-0.11.0/src/uisupport/qssparser.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/qssparser.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/qssparser.h quassel-0.12~beta1/src/uisupport/qssparser.h --- quassel-0.11.0/src/uisupport/qssparser.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/qssparser.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/resizingstackedwidget.cpp quassel-0.12~beta1/src/uisupport/resizingstackedwidget.cpp --- quassel-0.11.0/src/uisupport/resizingstackedwidget.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/resizingstackedwidget.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/resizingstackedwidget.h quassel-0.12~beta1/src/uisupport/resizingstackedwidget.h --- quassel-0.11.0/src/uisupport/resizingstackedwidget.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/resizingstackedwidget.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/settingspage.cpp quassel-0.12~beta1/src/uisupport/settingspage.cpp --- quassel-0.11.0/src/uisupport/settingspage.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/settingspage.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/settingspage.h quassel-0.12~beta1/src/uisupport/settingspage.h --- quassel-0.11.0/src/uisupport/settingspage.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/settingspage.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/styledlabel.cpp quassel-0.12~beta1/src/uisupport/styledlabel.cpp --- quassel-0.11.0/src/uisupport/styledlabel.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/styledlabel.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/styledlabel.h quassel-0.12~beta1/src/uisupport/styledlabel.h --- quassel-0.11.0/src/uisupport/styledlabel.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/styledlabel.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/tabcompleter.cpp quassel-0.12~beta1/src/uisupport/tabcompleter.cpp --- quassel-0.11.0/src/uisupport/tabcompleter.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/tabcompleter.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/tabcompleter.h quassel-0.12~beta1/src/uisupport/tabcompleter.h --- quassel-0.11.0/src/uisupport/tabcompleter.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/tabcompleter.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/toolbaractionprovider.cpp quassel-0.12~beta1/src/uisupport/toolbaractionprovider.cpp --- quassel-0.11.0/src/uisupport/toolbaractionprovider.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/toolbaractionprovider.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,32 +18,31 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include "toolbaractionprovider.h" -#include "iconloader.h" - ToolBarActionProvider::ToolBarActionProvider(QObject *parent) : NetworkModelController(parent) { - registerAction(NetworkConnectAll, DesktopIcon("network-connect"), tr("Connect"))->setToolTip(tr("Connect to IRC")); - registerAction(NetworkDisconnectAll, DesktopIcon("network-disconnect"), tr("Disconnect"))->setToolTip(tr("Disconnect from IRC")); + registerAction(NetworkConnectAll, QIcon::fromTheme("network-connect"), tr("Connect"))->setToolTip(tr("Connect to IRC")); + registerAction(NetworkDisconnectAll, QIcon::fromTheme("network-disconnect"), tr("Disconnect"))->setToolTip(tr("Disconnect from IRC")); - registerAction(BufferPart, DesktopIcon("irc-close-channel"), tr("Part"))->setToolTip(tr("Leave currently selected channel")); - registerAction(JoinChannel, DesktopIcon("irc-join-channel"), tr("Join"))->setToolTip(tr("Join a channel")); + registerAction(BufferPart, QIcon::fromTheme("irc-close-channel"), tr("Part"))->setToolTip(tr("Leave currently selected channel")); + registerAction(JoinChannel, QIcon::fromTheme("irc-join-channel"), tr("Join"))->setToolTip(tr("Join a channel")); - registerAction(NickQuery, DesktopIcon("mail-message-new"), tr("Query"))->setToolTip(tr("Start a private conversation")); // fix icon - registerAction(NickWhois, DesktopIcon("im-user"), tr("Whois"))->setToolTip(tr("Request user information")); // fix icon + registerAction(NickQuery, QIcon::fromTheme("mail-message-new"), tr("Query"))->setToolTip(tr("Start a private conversation")); // fix icon + registerAction(NickWhois, QIcon::fromTheme("im-user"), tr("Whois"))->setToolTip(tr("Request user information")); // fix icon - registerAction(NickOp, DesktopIcon("irc-operator"), tr("Op"))->setToolTip(tr("Give operator privileges to user")); - registerAction(NickDeop, DesktopIcon("irc-remove-operator"), tr("Deop"))->setToolTip(tr("Take operator privileges from user")); - registerAction(NickVoice, DesktopIcon("irc-voice"), tr("Voice"))->setToolTip(tr("Give voice to user")); - registerAction(NickDevoice, DesktopIcon("irc-unvoice"), tr("Devoice"))->setToolTip(tr("Take voice from user")); - registerAction(NickKick, DesktopIcon("im-kick-user"), tr("Kick"))->setToolTip(tr("Remove user from channel")); - registerAction(NickBan, DesktopIcon("im-ban-user"), tr("Ban"))->setToolTip(tr("Ban user from channel")); - registerAction(NickKickBan, DesktopIcon("im-ban-kick-user"), tr("Kick/Ban"))->setToolTip(tr("Remove and ban user from channel")); + registerAction(NickOp, QIcon::fromTheme("irc-operator"), tr("Op"))->setToolTip(tr("Give operator privileges to user")); + registerAction(NickDeop, QIcon::fromTheme("irc-remove-operator"), tr("Deop"))->setToolTip(tr("Take operator privileges from user")); + registerAction(NickVoice, QIcon::fromTheme("irc-voice"), tr("Voice"))->setToolTip(tr("Give voice to user")); + registerAction(NickDevoice, QIcon::fromTheme("irc-unvoice"), tr("Devoice"))->setToolTip(tr("Take voice from user")); + registerAction(NickKick, QIcon::fromTheme("im-kick-user"), tr("Kick"))->setToolTip(tr("Remove user from channel")); + registerAction(NickBan, QIcon::fromTheme("im-ban-user"), tr("Ban"))->setToolTip(tr("Ban user from channel")); + registerAction(NickKickBan, QIcon::fromTheme("im-ban-kick-user"), tr("Kick/Ban"))->setToolTip(tr("Remove and ban user from channel")); _networksConnectMenu = new QMenu(); _networksConnectMenu->setSeparatorsCollapsible(false); diff -Nru quassel-0.11.0/src/uisupport/toolbaractionprovider.h quassel-0.12~beta1/src/uisupport/toolbaractionprovider.h --- quassel-0.11.0/src/uisupport/toolbaractionprovider.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/toolbaractionprovider.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/uisettings.cpp quassel-0.12~beta1/src/uisupport/uisettings.cpp --- quassel-0.11.0/src/uisupport/uisettings.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/uisettings.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/uisettings.h quassel-0.12~beta1/src/uisupport/uisettings.h --- quassel-0.11.0/src/uisupport/uisettings.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/uisettings.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * diff -Nru quassel-0.11.0/src/uisupport/uistyle.cpp quassel-0.12~beta1/src/uisupport/uistyle.cpp --- quassel-0.11.0/src/uisupport/uistyle.cpp 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/uistyle.cpp 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -19,9 +19,9 @@ ***************************************************************************/ #include +#include #include "buffersettings.h" -#include "iconloader.h" #include "qssparser.h" #include "quassel.h" #include "uistyle.h" @@ -33,13 +33,13 @@ UiStyle::UiStyle(QObject *parent) : QObject(parent), - _channelJoinedIcon(SmallIcon("irc-channel-active")), - _channelPartedIcon(SmallIcon("irc-channel-inactive")), - _userOfflineIcon(SmallIcon("im-user-offline")), - _userOnlineIcon(SmallIcon("im-user")), - _userAwayIcon(SmallIcon("im-user-away")), - _categoryOpIcon(SmallIcon("irc-operator")), - _categoryVoiceIcon(SmallIcon("irc-voice")), + _channelJoinedIcon(QIcon::fromTheme("irc-channel-joined", QIcon(":/icons/irc-channel-joined.png"))), + _channelPartedIcon(QIcon::fromTheme("irc-channel-parted", QIcon(":/icons/irc-channel-parted.png"))), + _userOfflineIcon(QIcon::fromTheme("im-user-offline", QIcon::fromTheme("user-offline", QIcon(":/icons/im-user-offline.png")))), + _userOnlineIcon(QIcon::fromTheme("im-user", QIcon::fromTheme("user-available", QIcon(":/icons/im-user.png")))), // im-user-* are non-standard oxygen extensions + _userAwayIcon(QIcon::fromTheme("im-user-away", QIcon::fromTheme("user-away", QIcon(":/icons/im-user-away.png")))), + _categoryOpIcon(QIcon::fromTheme("irc-operator")), + _categoryVoiceIcon(QIcon::fromTheme("irc-voice")), _opIconLimit(UserCategoryItem::categoryFromModes("o")), _voiceIconLimit(UserCategoryItem::categoryFromModes("v")) { @@ -104,8 +104,22 @@ QString styleSheet; styleSheet += loadStyleSheet("file:///" + Quassel::findDataFilePath("stylesheets/default.qss")); styleSheet += loadStyleSheet("file:///" + Quassel::configDirPath() + "settings.qss"); - if (s.value("UseCustomStyleSheet", false).toBool()) - styleSheet += loadStyleSheet("file:///" + s.value("CustomStyleSheetPath").toString(), true); + if (s.value("UseCustomStyleSheet", false).toBool()) { + QString customSheetPath(s.value("CustomStyleSheetPath").toString()); + QString customSheet = loadStyleSheet("file:///" + customSheetPath, true); + if (customSheet.isEmpty()) { + // MIGRATION: changed default install path for data from /usr/share/apps to /usr/share + if (customSheetPath.startsWith("/usr/share/apps/quassel")) { + customSheetPath.replace(QRegExp("^/usr/share/apps"), "/usr/share"); + customSheet = loadStyleSheet("file:///" + customSheetPath, true); + if (!customSheet.isEmpty()) { + s.setValue("CustomStyleSheetPath", customSheetPath); + qDebug() << "Custom stylesheet path migrated to" << customSheetPath; + } + } + } + styleSheet += customSheet; + } styleSheet += loadStyleSheet("file:///" + Quassel::optionValue("qss"), true); if (!styleSheet.isEmpty()) { diff -Nru quassel-0.11.0/src/uisupport/uistyle.h quassel-0.12~beta1/src/uisupport/uistyle.h --- quassel-0.11.0/src/uisupport/uistyle.h 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/src/uisupport/uistyle.h 2015-02-18 21:09:54.000000000 +0000 @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 by the Quassel Project * + * Copyright (C) 2005-2015 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -185,13 +186,13 @@ static QHash _formatCodes; static QString _timestampFormatString; - QPixmap _channelJoinedIcon; - QPixmap _channelPartedIcon; - QPixmap _userOfflineIcon; - QPixmap _userOnlineIcon; - QPixmap _userAwayIcon; - QPixmap _categoryOpIcon; - QPixmap _categoryVoiceIcon; + QIcon _channelJoinedIcon; + QIcon _channelPartedIcon; + QIcon _userOfflineIcon; + QIcon _userOnlineIcon; + QIcon _userAwayIcon; + QIcon _categoryOpIcon; + QIcon _categoryVoiceIcon; int _opIconLimit; int _voiceIconLimit; bool _showNickViewIcons; diff -Nru quassel-0.11.0/.travis.yml quassel-0.12~beta1/.travis.yml --- quassel-0.11.0/.travis.yml 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/.travis.yml 2015-02-18 21:09:54.000000000 +0000 @@ -26,4 +26,9 @@ - cd build - if [ "$QT_VERSION" = "qt4" ]; then cmake ..; fi - if [ "$QT_VERSION" = "qt5" ]; then source /opt/qt52/bin/qt52-env.sh && cmake -DUSE_QT5=ON ..; fi - - make \ No newline at end of file + - make + +matrix: + exclude: + - compiler: clang + env: QT_VERSION=qt4 diff -Nru quassel-0.11.0/version.h.in quassel-0.12~beta1/version.h.in --- quassel-0.11.0/version.h.in 2014-09-23 21:54:20.000000000 +0000 +++ quassel-0.12~beta1/version.h.in 2015-02-18 21:09:54.000000000 +0000 @@ -9,5 +9,5 @@ #define GIT_DESCRIBE "@GIT_DESCRIBE@" // Will be substituted in official tarballs -#define DIST_HASH "5199111d8e2e3a4a03dcc29b203c0cc2709e11bd" -#define DIST_DATE "1411509260" +#define DIST_HASH "05b9069b0df2cbfd71bd138ccde2c95378f11e89" +#define DIST_DATE "1424293794"