Bug 364336 - Yakuake forgets profile settings
Summary: Yakuake forgets profile settings
Status: RESOLVED FIXED
Alias: None
Product: konsole
Classification: Applications
Component: kpart (show other bugs)
Version: 16.04.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Konsole Developer
URL:
Keywords:
: 360424 362751 363449 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-06-15 05:49 UTC by Michael Husmann
Modified: 2018-11-14 19:51 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Husmann 2016-06-15 05:49:33 UTC
I can't change the profile to use another one.
When editing the standard profile all settings are lost when restarting yakuake
Yakuake does not reflect the konsole settings

Reproducible: Always
Comment 1 Wolfgang Bauer 2016-07-02 10:02:31 UTC
(In reply to Michael Husmann from comment #0)
> When editing the standard profile all settings are lost when restarting
> yakuake
I can confirm this here.
The problem seems to be that yakuake writes the modified profile to ~/.local/share/yakuake/, while konsole-part only reads the profiles from ~/.local/share/konsole/ apparently.

I'm not sure whether this is a bug in yakuake or konsole(-part) though.

> Yakuake does not reflect the konsole settings
Modifying the profile in konsole should also affect yakuake.
At least that's the case here.
Comment 2 Wolfgang Bauer 2016-07-02 11:05:34 UTC
This is actually a bug/regression in konsole.

konsole's ProfileWriter.cpp has been changed to:
#if QT_VERSION < QT_VERSION_CHECK(5, 4, 0)
    static const QString localDataLocation = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/konsole");
#else
    static const QString localDataLocation = QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation);
#endif

AppLocalDataLocation contains the application name, which is "yakuake" if it is embedded in yakuake.
But the ProfileReader.cpp still uses:
QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QStringLiteral("/konsole");

So there's a mismatch when built against Qt 5.4.0 or higher (if konsole-part is embedded in another application than konsole).

Reassigning to konsole therefore.
Comment 3 Wolfgang Bauer 2016-07-02 11:06:17 UTC
*** Bug 362751 has been marked as a duplicate of this bug. ***
Comment 4 Kurt Hindenburg 2016-07-03 16:28:24 UTC
Git commit b9261c58ab2cf91ec090e4ad15064286a5366642 by Kurt Hindenburg.
Committed on 03/07/2016 at 16:26.
Pushed by hindenburg into branch 'master'.

Write profile changes to Konsole's location, not KPart's app

Thanks to Wolfgang Bauer (wbauer tmo at) for patch

REVIEW:128342

M  +4    -4    src/ProfileWriter.cpp

http://commits.kde.org/konsole/b9261c58ab2cf91ec090e4ad15064286a5366642
Comment 5 Wolfgang Bauer 2016-07-03 17:29:32 UTC
*** Bug 363449 has been marked as a duplicate of this bug. ***
Comment 6 Wolfgang Bauer 2018-11-14 19:51:25 UTC
*** Bug 360424 has been marked as a duplicate of this bug. ***