diff --git a/.travis.yml b/.travis.yml index c548adc26..765fdb14c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,17 +31,3 @@ script: ${TRAVIS_BUILD_DIR}/.travis/script.sh after_script: ${TRAVIS_BUILD_DIR}/.travis/after_script.sh before_deploy: - if [ "$TARGET_OS" != debian-sid ]; then make package; fi -deploy: - provider: releases - api_key: - secure: d4a+x4Gugpss7JK2DcHjyBZDmEFFh4iVfKDfITSD50T6Mc6At4LMgojvEu+6qT6IyOY2vm3UVT6fhyeuWDTRDwW9tfFlaHVA0h8aTRD+eAXOA7pQ8rEMwQO3+WCKuKTfEqUkpL4wxhww8dpkv54tqeIs0S4TBqz9tk8UhzU7XbE= - file_glob: true - file: - - lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe - - /var/cache/pbuilder/result/lmms_*.tar.xz - skip_cleanup: true - on: - tags: true - all_branches: true - condition: '"$TARGET_DEPLOY" = True' - repo: LMMS/lmms diff --git a/.travis/script.sh b/.travis/script.sh index a6d87b37f..21d27b080 100755 --- a/.travis/script.sh +++ b/.travis/script.sh @@ -13,7 +13,7 @@ if [ "$TYPE" = 'style' ]; then else - export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo" + export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUNDLE_QT_TRANSLATIONS=ON" if [ -z "$TRAVIS_TAG" ]; then export CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_CCACHE=ON" diff --git a/CMakeLists.txt b/CMakeLists.txt index 36e3a699b..4ead95c32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,7 +27,7 @@ INCLUDE(GenerateExportHeader) STRING(TOUPPER "${CMAKE_PROJECT_NAME}" PROJECT_NAME_UCASE) -SET(PROJECT_YEAR 2019) +SET(PROJECT_YEAR 2020) SET(PROJECT_AUTHOR "LMMS Developers") SET(PROJECT_URL "https://lmms.io") @@ -36,7 +36,7 @@ SET(PROJECT_DESCRIPTION "${PROJECT_NAME_UCASE} - Free music production software" SET(PROJECT_COPYRIGHT "2008-${PROJECT_YEAR} ${PROJECT_AUTHOR}") SET(VERSION_MAJOR "1") SET(VERSION_MINOR "2") -SET(VERSION_RELEASE "1") +SET(VERSION_RELEASE "2") SET(VERSION_STAGE "") SET(VERSION_BUILD "0") SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}") @@ -77,6 +77,7 @@ OPTION(WANT_VST_32 "Include 32-bit VST support" ON) OPTION(WANT_VST_64 "Include 64-bit VST support" ON) OPTION(WANT_WINMM "Include WinMM MIDI support" OFF) OPTION(WANT_DEBUG_FPE "Debug floating point exceptions" OFF) +OPTION(BUNDLE_QT_TRANSLATIONS "Install Qt translation files for LMMS" OFF) IF(LMMS_BUILD_APPLE) @@ -101,6 +102,7 @@ IF(LMMS_BUILD_WIN32) SET(WANT_SNDIO OFF) SET(WANT_SOUNDIO OFF) SET(WANT_WINMM ON) + SET(BUNDLE_QT_TRANSLATIONS ON) SET(LMMS_HAVE_WINMM TRUE) SET(STATUS_ALSA "") SET(STATUS_JACK "") @@ -171,6 +173,17 @@ ENDIF() # Resolve Qt5::qmake to full path for use in packaging scripts GET_TARGET_PROPERTY(QT_QMAKE_EXECUTABLE "${Qt5Core_QMAKE_EXECUTABLE}" IMPORTED_LOCATION) +# Find the location of Qt translation files +execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_TRANSLATIONS + OUTPUT_VARIABLE QT_TRANSLATIONS_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET +) +IF(EXISTS "${QT_TRANSLATIONS_DIR}") + MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}") + ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"') +ENDIF() + FIND_PACKAGE(Qt5Test) SET(QT_QTTEST_LIBRARY Qt5::Test) diff --git a/data/locale/CMakeLists.txt b/data/locale/CMakeLists.txt index 9cb25f426..4ce666dcf 100644 --- a/data/locale/CMakeLists.txt +++ b/data/locale/CMakeLists.txt @@ -47,9 +47,9 @@ FOREACH(_item ${qm_targets}) ADD_DEPENDENCIES(finalize-locales "${_item}") ENDFOREACH(_item ${qm_targets}) -IF(LMMS_BUILD_WIN32) - FILE(GLOB QT_QM_FILES "${QT_TRANSLATIONS_DIR}/qt*[^h].qm") +IF(BUNDLE_QT_TRANSLATIONS) + FILE(GLOB QT_QM_FILES "${QT_TRANSLATIONS_DIR}/qt*.qm") LIST(SORT QT_QM_FILES) -ENDIF(LMMS_BUILD_WIN32) +ENDIF() INSTALL(FILES ${QM_FILES} ${QT_QM_FILES} DESTINATION "${LMMS_DATA_DIR}/locale") diff --git a/doc/CONTRIBUTORS b/doc/CONTRIBUTORS index 4a791028f..eb030ad71 100644 --- a/doc/CONTRIBUTORS +++ b/doc/CONTRIBUTORS @@ -9,24 +9,26 @@ Colin Wallace Oskar Wallgren Raine M. Ekman Umcaruje -Michael Gregorius +Hyunjin Song Javier Serrano Polo +Michael Gregorius grejppi Javier Serrano Polo -Hyunjin Song Wong Cho Ching Alexandre Almeida Daniel Winzen LMMS Service Account Steffen Baranowsky Danny McRae +Johannes Lorenz Garrett -Hyunin Song liushuyu +Dominic Clark +Hyunin Song Andrew Kelley +Spekular Andreas Brandmaier Fastigium -Spekular Amadeus Folego Jonas Trappenberg M374LX @@ -35,18 +37,17 @@ grindhold Mike Choi Karmo Rosental Christopher L. Simons -Dominic Clark NoiseByNorthwest -falkTX -Johannes Lorenz Rebecca DeField +falkTX Stian Jørgensrud +David Carlier Ryan Roden-Corrent +Shmuel H midi-pascal Augustin Cavalier BaraMGB Csaba Hruska -David Carlier DeRobyJ Hussam Eddin Alhomsi Rüdiger Ranft @@ -66,11 +67,15 @@ Jonathan Aquilina Mohammad Amin Sameti ra wongcc966422 +Cyp David CARLIER +Douglas <34612565+DouglasDGI@users.noreply.github.com> Gurjot Singh Janne Sinisalo Krzysztof Foltman Lou Herard +Noah Brecht +Olivier Humbert Paul Batchelor Paul Wayper Petter Reinholdtsen @@ -86,9 +91,8 @@ Cyrille Bollu Dan Williams Ian Sannar Jaroslav Petrnoušek -Johannes Lorenz <1042576+JohannesLorenz@users.noreply.github.com> -Johannes Lorenz Kenneth Perry (thothonegan) +Kevin Zander LYF610400210 Lukas W Mark-Agent003 @@ -101,29 +105,37 @@ Rebecca LaVie Roberto Giaconia SecondFlight Steffen Baranowsky +T0NIT0 RMX TheTravelingSpaceman Thomas Clark gnudles liushuyu +makepost miketurn psyomn quadro sarahkeefe +thmueller64 <64359888+thmueller64@users.noreply.github.com> Achim Settelmeier +Alexandra Dutton +Andreas Müller André Hentschel Armin Kazmi +Artur Twardowski <32247490+artur-twardowski@users.noreply.github.com> Attila Herman Bastian Kummer Christopher A. Oliver +Cyp <48363+Cyp@users.noreply.github.com> Devin Venable Diego Ramos Ruggeri -Douglas <34612565+DouglasDGI@users.noreply.github.com> DragonEagle Filip Hron Frank Mather Frederik +Gingka Akiyama <33764485+GingkathFox@users.noreply.github.com> Greg Simpson Hexasoft +Hubert Figuière IvanMaldonado Ivo Wetzel Jens Lang @@ -138,17 +150,17 @@ Lee Avital LocoMatt Léo Andrès Markus Elfring +Martin Pavelek Maurizio Lo Bosco Mehdi Mikobuntu Mingcong Bai Nikos Chantziaras -Noah Brecht Ododo -Olivier Humbert Paul Nasca Peter Nelson Ra +Ron U Ryan Schmidt Shane Ambler Simon Jackson (Netbook) @@ -170,13 +182,15 @@ follower fundamental gandalf3 groboclown +https://gitlab.com/users/CYBERDEViLNL <1148379+CYBERDEViLNL@users.noreply.github.com> irrenhaus3 jasp00 justnope kamnxt +knittl lmmsservice m-xbutterfly -noahb01 +necrashter projectpitchin rgwan xhe diff --git a/src/core/Track.cpp b/src/core/Track.cpp index 15625d87c..8f7b62bcd 100644 --- a/src/core/Track.cpp +++ b/src/core/Track.cpp @@ -774,12 +774,12 @@ void TrackContentObjectView::mousePressEvent( QMouseEvent * me ) m_action = ResizeLeft; setCursor( Qt::SizeHorCursor ); } - else if( me->x() < width() - RESIZE_GRIP_WIDTH ) + else if( m_tco->getAutoResize() || me->x() < width() - RESIZE_GRIP_WIDTH ) { m_action = Move; setCursor( Qt::SizeAllCursor ); } - else if( !m_tco->getAutoResize() ) + else { m_action = Resize; setCursor( Qt::SizeHorCursor ); diff --git a/src/core/main.cpp b/src/core/main.cpp index 9ff894785..897d07abf 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -129,9 +129,10 @@ inline void loadTranslation( const QString & tname, QTranslator * t = new QTranslator( QCoreApplication::instance() ); QString name = tname + ".qm"; - t->load( name, dir ); - - QCoreApplication::instance()->installTranslator( t ); + if (t->load(name, dir)) + { + QCoreApplication::instance()->installTranslator(t); + } } @@ -723,19 +724,17 @@ int main( int argc, char * * argv ) pos = QLocale::system().name().left( 2 ); } -#ifdef LMMS_BUILD_WIN32 -#undef QT_TRANSLATIONS_DIR -#define QT_TRANSLATIONS_DIR ConfigManager::inst()->localeDir() -#endif - -#ifdef QT_TRANSLATIONS_DIR - // load translation for Qt-widgets/-dialogs - loadTranslation( QString( "qt_" ) + pos, - QString( QT_TRANSLATIONS_DIR ) ); -#endif // load actual translation for LMMS loadTranslation( pos ); + // load translation for Qt-widgets/-dialogs +#ifdef QT_TRANSLATIONS_DIR + // load from the original path first + loadTranslation(QString("qt_") + pos, QT_TRANSLATIONS_DIR); +#endif + // override it with bundled/custom one, if exists + loadTranslation(QString("qt_") + pos, ConfigManager::inst()->localeDir()); + // try to set realtime priority #if defined(LMMS_BUILD_LINUX) || defined(LMMS_BUILD_FREEBSD)