Commit Graph

4459 Commits

Author SHA1 Message Date
Philip Müller
6cf365e11d Merge branch 'master' of https://github.com/calamares/calamares into development 2019-05-28 07:34:20 +02:00
Adriaan de Groot
2e39f24bb0 [libcalamaresui] Make sure finished() is processed once
- Avoid races which might double-delete the timer, or enter
   the if twice (which would lead to duplicate emissions of
   requirementsComplete and the associated UI glitches).
2019-05-27 17:15:49 +02:00
Adriaan de Groot
2b91608b82 [libcalamaresui] Avoid requirements-results UI duplication
If the requirements checking is **really fast**, e.g. you don't
have a check for internet connectivity, then the checks
might be done as fast as the 0-timeout single-shot timer,
which means that finished() is called once by the QFutureWatcher,
and then after that by the QTimer .. leading to two messages
"All requirements have been checked", but also twice
requirementsComplete being emitted, so you end up with two
results lists being added by the CheckerContainer.

Stop that by using the results-progress timer as an additional
flag: the first time everything is complete, delete that timer
and set the pointer back to nullptr.
2019-05-27 17:10:21 +02:00
Adriaan de Groot
f64e55f0dc [libcalamaresui] Use meaningful asserts
- In debug mode, hitting assert(false) is meaningless,
 - In release mode, the assert is optimized out.
 - So assert the condition we're actually testing, for better messages.
2019-05-27 15:38:37 +02:00
Adriaan de Groot
976ad7e3e7 [libcalamaresui] Look up icons via theme
- Don't cache icons, because they could be changed via
   the active desktop theme.
2019-05-27 15:35:56 +02:00
Adriaan de Groot
822bbaad9c [libcalamaresui] Allow icon names in branding images
- It's ok to use path / filenames in images, but you can also
   use icon names according to the FDO icon spec. This makes
   sense for at least *productLogo*, possibly *productIcon*, but
   not really for *productWelcome*.
2019-05-27 15:26:57 +02:00
Adriaan de Groot
b41cac6556 [interactiveterminal] Warn when called in exec: context
FIXES #1157
2019-05-27 14:57:28 +02:00
Adriaan de Groot
7f5e61480b [calamares] Once the steps are loaded, activate the first view step
- Using next and back buttons calls onActivate() on the view step
   that you end up on.
 - The first view step to be shown, though, doesn't get an onActivate()
   (unless you go, say, next and then back).
 - Explicitly call onActivate() on the first view step once they're
   all loaded.

FIXES #1156
2019-05-27 14:38:27 +02:00
Adriaan de Groot
36fe3ed188 [packages] Add -Su --noconfirm
- When updating the system (-Su) it may want to install newer
   packages; it asks for confirmation before doing so.

FIXES #1154
2019-05-27 14:06:05 +02:00
Adriaan de Groot
c741470b60 [calamares] Name the debug button for styling purposes 2019-05-23 13:30:37 +02:00
Philip Müller
52541c786b Merge branch 'master' of https://github.com/calamares/calamares into development 2019-05-22 21:08:47 +02:00
Adriaan de Groot
cd38ded8d5 [libcalamaresui] Support os-release substitutions in images
- Branding images might want to use os-release data as well.
 - Refactor a little to keep the number of #ifdefs the same;
   an intermediate expand() lambda handles expansion (or not,
   if it's not enabled).

FIXES #1153
2019-05-21 17:12:00 +02:00
Adriaan de Groot
368e7aac16 Merge branch 'issue-1149' 2019-05-21 13:36:18 +02:00
Adriaan de Groot
18b111218a [libcalamaresui] Sort includes in DebugWindow.cpp 2019-05-21 13:35:58 +02:00
Adriaan de Groot
ac941e6756 [libcalamares] Implement reload-stylesheet
- From the debug-window, clicking *reload stylesheet* does just
   that, and applies the new stylesheet to the Calamares window.
 - Remove stylesheet caching from the Branding class; we only
   need the sheet once (on Calamares startup) or when updating
   the stylesheet, which is seldom-enough that we don't need
   to keep an extra copy around.
 - To use, start Calamares, open the debug window, open stylesheet.qss
   in an editor. Make changes, save, then click *reload stylesheet*.

SEE #1149
2019-05-21 13:21:47 +02:00
Adriaan de Groot
877cb0e999 [libcalamaresui] Debug-tool to dump widget tree
- Adds another tool to the debug window, which dumps (to the debug
   log) a tree-like view of all the widgets in the application.
   This can be used when writing stylesheets.
2019-05-21 13:07:34 +02:00
Adriaan de Groot
b5625fc14d [libcalamares] Add a reload-stylesheet button
- This is a debugging-option to test stylesheet changes quickly.
 - Right now, the stylesheet is cached, so it doesn't even work.
2019-05-21 12:52:50 +02:00
Calamares CI
a1f7cb4f49 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-05-21 12:17:16 +02:00
Adriaan de Groot
ee3a2bcbe8 CMake: tidy
- remove weird message about debugging updates
 - add some space after the QML dirs information
2019-05-21 12:14:47 +02:00
Adriaan de Groot
38485f675c [branding] In the stylesheet, mention how styling works
SEE #1149
2019-05-21 12:11:55 +02:00
Adriaan de Groot
6a7c2f541e [branding] Mention the stylesheet in the docs 2019-05-21 12:07:52 +02:00
Philip Müller
b58bc964c3 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-05-20 23:31:22 +02:00
Adriaan de Groot
a30edb194a [branding] Update branding.desc with new os-release feature
- Point to supported keys on the fd.o site
 - Point out need for quoting
 - Update example with "@{NAME}" for the window-title
2019-05-20 23:07:10 +02:00
Adriaan de Groot
af73d90b7b [libcalamaresui] Fix build with KOSRelease
- initialization of the hash was all wrong
 - special-case ID_LIKE
 - typo's
 - link to CoreAddons
2019-05-20 22:54:54 +02:00
Adriaan de Groot
fbbbe63642 [libcalamaresui] WIP: Use KOSRelease and KMacroExpander in branding
- allows you to use -- at runtime -- values from os-release in the
   branding file.
 - WIP because the only machine I have with sufficiently new KF5
   is the FreeBSD box.
2019-05-20 22:11:11 +02:00
Adriaan de Groot
92d0e71029 [libcalamaresui] one more refactor for string-loading
- Do the checking for IsMap inside loadStrings() and use
   YAML::Exception to get to bail() (since we're already dealing
   with exceptions here, no extra costs). This tidies up the code
   somewhat.
2019-05-20 17:03:32 +02:00
Adriaan de Groot
667f78c016 [libcalamaresui] if there's a YAML exception in branding, bail
- all kinds of type errors result in bailing out, but a totally
   broken branding file does not?
2019-05-20 17:03:28 +02:00
Adriaan de Groot
62328c9940 [libcalamaresui] images-strings loading fixed
- move the string-munge into a lambda and use the generic loadStrings()
2019-05-20 17:03:17 +02:00
Adriaan de Groot
544d905b2f [libcalamaresui] WIP: refactor again
- the string-manipulation can be done through a lambda. That makes
   handling *strings* and *styles* simple.
 - still doesn't compile.
2019-05-20 17:03:17 +02:00
Adriaan de Groot
5a126816f4 [libcalamaresui] WIP: refactor copying strings from config to Branding
- this is mostly to make the constructor easier to read by
   moving parts of the story to easily-understood methods.
 - doesn't actually compile.
2019-05-20 17:03:08 +02:00
Adriaan de Groot
5bae7b7b52 [libcalamaresui] check for sufficiently-new KF5CoreAddons
- From 5.58, KOSRelease is available (not used yet, though)
2019-05-20 17:03:04 +02:00
Adriaan de Groot
a9f3b4050c [libcalamaresui] don't over-complicate PythonQt library linking 2019-05-20 17:02:59 +02:00
Adriaan de Groot
0c4d77541f [plasmalnf] simplify KF5-finding
- No need to double-up package finding.
2019-05-20 17:02:54 +02:00
Adriaan de Groot
1cf3ac810a [calamares] avoid extra defines for KCrash
- Don't need an extra indirection from WITH_KF5Crash to WITH_KCRASH,
   just use the cmakedefine directly.
 - Since the setting is only used in main.cpp, move the define
   down there and remove cmakedefine entirely.
2019-05-20 17:02:47 +02:00
Philip Müller
e23c92de5e Merge branch 'master' of https://github.com/calamares/calamares into development 2019-05-17 17:48:31 +02:00
Adriaan de Groot
81c4114de9 welcome: disable geoip by default (and document how)
FIXES #1148
2019-05-16 22:49:27 +02:00
Philip Müller
5329b77df6 Merge branch 'master' of https://github.com/calamares/calamares into development 2019-05-15 06:18:59 +02:00
Adriaan de Groot
f3bfc81e52 [libcalamares] Rename dontCancel to disableCancelDuringExec
- This way the name actually refers to what it does, rather
   than being a somewhat ambiguous overload of disableCancel.
2019-05-14 08:30:34 -04:00
Adriaan de Groot
a5cba02769 [calamares] Leave a note about changing close-window hint 2019-05-14 14:07:33 +02:00
Adriaan de Groot
2208ff95fe [calamares] Simplify disable-window-close-button code 2019-05-14 14:03:53 +02:00
Adriaan de Groot
d4f4a40fa5 [libcalamaresui] Refactor quit-enabling
- Add signal for change-of-quit-enabledness
 - Minor tidying
2019-05-14 13:43:07 +02:00
Adriaan de Groot
088fa5004c [libcalamaresui] Disallow closing the window during execution
- If the disable-cancel-during-exec setting is on, and the user clicks
   the window-close button, then disregard the close message.
2019-05-14 13:21:05 +02:00
Adriaan de Groot
ad4352b65c [libcalamaresui] Make stepIsExecute() more general
- Checking if the **next** step is an execute-step is a little
   weird, so make the API more general (and add the +1 to indexes
   where it was using NextWillExecute before).
2019-05-14 13:18:51 +02:00
Adriaan de Groot
25099ae854 [libcalamaresui] Remove duplicate setEnabled
- If executing is set to true, then later setEnabled( !executing && ... )
   fill be false, so we don't need to call setEnabled( false ) here as well.
2019-05-14 13:10:36 +02:00
Adriaan de Groot
5868657101 [calamares] Hide the window-close decoration when disable-cancel is set 2019-05-14 13:06:54 +02:00
Adriaan de Groot
d78bc0c5c5 [libcalamaresui] When disable-cancel is on, never confirm
- This function is also reached by clicking the window-close decoration.
2019-05-14 13:04:24 +02:00
Adriaan de Groot
34ffc7a20a [libcalamares] Consistent namespace usage in partition service
- The sub-directories under libcalamares (e.g. Utils, ..)
   all live in namespace CalamaresUtils (well, except for Logger).
   The services (e.g. subdirs other than utils/) live in their
   own nested namespace, so partitioning should go into
   CalamaresUtils::Partition for consistency.
2019-05-14 05:52:58 -04:00
Adriaan de Groot
e520c66bb9 [fsresizer] Give the FSResizerJob some accessors
- This is primarily for the tests: then they can drop the
   #define private public hack and be "proper" consumers.
2019-05-14 05:29:19 -04:00
Adriaan de Groot
80606cc38d [partition] Reduce test warnings through consistent signedness 2019-05-14 05:29:19 -04:00
Adriaan de Groot
7e12b65c94 [partition] Silence warnings about missing vtable 2019-05-14 05:29:19 -04:00