Browse Source

improved settings gen [skip ci]

pull/2/head
Skycoder42 7 years ago
parent
commit
cae4bb5737
No known key found for this signature in database GPG Key ID: 8E01AD9EF0578D2B
  1. 34
      mkspecs/features/qsettingstranslator.prf
  2. 4
      src/mvvmcore/settingsentry.h
  3. 3
      tests/auto/mvvmcore/settingsgenerator/.tsdummy.pro.dummy
  4. 2
      tests/auto/mvvmcore/settingsgenerator/test_de.ts
  5. 3
      tests/auto/mvvmcore/settingsgenerator/tst_settingsgenerator.cpp

34
mkspecs/features/qsettingstranslator.prf

@ -19,35 +19,41 @@ QSETTINGSTRANSLATOR_DIR = $$QSETTINGSTRANSLATOR_DIR$$SUFFIX
qsettingstranslator_c.depends += $$QMAKE_QSETTINGSGENERATOR_EXE
QMAKE_EXTRA_COMPILERS += qsettingstranslator_c
} else {
qtmvvm_tsgen_target.target = qtmvvm-tsgen
QMAKE_EXTRA_TARGETS += qtmvvm_tsgen_target
}
{
DBL_DOLLAR = $${LITERAL_DOLLAR}$${LITERAL_DOLLAR}$${LITERAL_DOLLAR}$${LITERAL_DOLLAR}
lupdate_fakepri_c.name = fakepri ${QMAKE_FILE_IN}
lupdate_fakepri_c.input = CPP_DUMMIES GENERATED_SOURCES
lupdate_fakepri_c.variable_out = TS_FAKEPRI_FILES
lupdate_fakepri_c.commands = echo $$shell_quote(BUILD_SOURCES += ${QMAKE_FILE_IN}) > $@ \
$$escape_expand(\\n\\t)echo $$shell_quote(for(src, BUILD_SOURCES): SOURCES += $${DBL_DOLLAR}PWD/$${DBL_DOLLAR}src) >> $@
lupdate_fakepri_c.output = .ts-sources.pri
lupdate_fakepri_c.CONFIG += combine no_link
QMAKE_EXTRA_COMPILERS += lupdate_fakepri_c
lupdate_fakepro_c.name = fakepro ${QMAKE_FILE_IN}
lupdate_fakepro_c.input = CPP_DUMMIES GENERATED_SOURCES
lupdate_fakepro_c.input = TS_FAKEPRI_FILES
lupdate_fakepro_c.variable_out = TS_FAKEPRO_FILES
lupdate_fakepro_c.commands = echo $$shell_quote(BUILD_SOURCES += ${QMAKE_FILE_IN}) > .tspri.pri \
$$escape_expand(\\n\\t)echo $$shell_quote(for(src, BUILD_SOURCES): SOURCES += $${DBL_DOLLAR}PWD/$${DBL_DOLLAR}src) >> .tspri.pri \
$$escape_expand(\\n\\t)echo $$shell_quote(EXTRAPRI =) $(realpath .tspri.pri) > ${QMAKE_FILE_OUT} \
$$escape_expand(\\n\\t)echo $$shell_quote(include($${DBL_DOLLAR}EXTRAPRI)) >> ${QMAKE_FILE_OUT} \
$$escape_expand(\\n\\t)echo $$shell_quote(include($$_PRO_FILE_)) >> ${QMAKE_FILE_OUT}
lupdate_fakepro_c.output = $$_PRO_FILE_PWD_/.tspro.prodummy
lupdate_fakepro_c.commands = echo $$shell_quote(EXTRAPRI =) $(realpath $<) > $@ \
$$escape_expand(\\n\\t)echo $$shell_quote(include($${DBL_DOLLAR}EXTRAPRI)) >> $@ \
$$escape_expand(\\n\\t)echo $$shell_quote(include($$_PRO_FILE_)) >> $@
lupdate_fakepro_c.output = $$_PRO_FILE_PWD_/.tsdummy.pro.dummy
lupdate_fakepro_c.CONFIG += combine no_link
QMAKE_EXTRA_COMPILERS += lupdate_fakepro_c
lupdate_c.name = lupdate ${QMAKE_FILE_IN}
lupdate_c.input = TS_FAKEPRO_FILES SOURCES CPP_DUMMIES GENERATED_SOURCES
lupdate_c.commands = $$QMAKE_LUPDATE -locations relative -pro-out $$shell_quote($$_PRO_FILE_PWD_) -pro $$shell_quote($$_PRO_FILE_PWD_/.tspro.prodummy) \
lupdate_c.commands = $$QMAKE_LUPDATE -locations relative -pro-out $$shell_quote($$_PRO_FILE_PWD_) -pro $< \
$$escape_expand(\\n\\t)$$QMAKE_MKDIR $$QSETTINGSTRANSLATOR_DIR/.lupdate
lupdate_c.output = $$QSETTINGSTRANSLATOR_DIR/.lupdate
lupdate_c.CONFIG += combine no_link
!no_auto_lupdate: lupdate_c.CONFIG += target_predeps
lupdate_c.depends += $$QMAKE_LUPDATE_EXE
!no_auto_lupdate: lupdate_c.CONFIG += target_predeps
QMAKE_EXTRA_COMPILERS += lupdate_c
lupdate_target.target = lupdate
lupdate_target.depends += $$QSETTINGSTRANSLATOR_DIR/.lupdate
QMAKE_EXTRA_TARGETS += lupdate_target
}
QMAKE_DIR_REPLACE += QSETTINGSTRANSLATOR_DIR

4
src/mvvmcore/settingsentry.h

@ -21,7 +21,7 @@ public:
void reset();
SettingsEntry<T> &operator=(const T &value);
operator const T() const;
operator T() const;
void addChangeCallback(const std::function<void(T)> &callback);
void addChangeCallback(QObject *scope, const std::function<void(T)> &callback);
@ -111,7 +111,7 @@ void SettingsEntry<T>::addChangeCallback(QObject *scope, const std::function<voi
}
template<typename T>
SettingsEntry<T>::operator const T() const
SettingsEntry<T>::operator T() const
{
return get();
}

3
tests/auto/mvvmcore/settingsgenerator/.tsdummy.pro.dummy

@ -0,0 +1,3 @@
EXTRAPRI = /home/sky/Programming/QtLibraries/build-qtmvvm-Desktop_Qt_5_11_1_GCC_64bit-Debug/tests/auto/mvvmcore/settingsgenerator/.ts-sources.pri
include($$EXTRAPRI)
include(/home/sky/Programming/QtLibraries/QtMvvm/tests/auto/mvvmcore/settingsgenerator/settingsgenerator.pro)

2
tests/auto/mvvmcore/settingsgenerator/test_de.ts

@ -4,7 +4,7 @@
<context>
<name>SettingsGeneratorTest</name>
<message>
<location filename="tst_settingsgenerator.cpp" line="+90"/>
<location filename="tst_settingsgenerator.cpp" line="+91"/>
<source>somet translated text...</source>
<oldsource>something translated...</oldsource>
<translation type="unfinished"></translation>

3
tests/auto/mvvmcore/settingsgenerator/tst_settingsgenerator.cpp

@ -18,6 +18,7 @@ private:
};
void SettingsGeneratorTest::testSettingsGenerator()
{
auto settings = TestSettings::instance();
@ -61,7 +62,7 @@ void SettingsGeneratorTest::testSettingsGenerator()
QCOMPARE(tBackend->_data.value(tKey).toString(), tValue);
QCOMPARE(cValue, tValue);
QVERIFY(settings->advancedEntry.isSet());
QCOMPARE(static_cast<QString>(settings->advancedEntry), tValue);
QCOMPARE(settings->advancedEntry, tValue);
}
void SettingsGeneratorTest::testImportedSettings()

Loading…
Cancel
Save