<table><tr><td style="">pedroarthurp added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D16138">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D16138#347398" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D16138#347398</a>, <a href="https://phabricator.kde.org/p/hindenburg/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@hindenburg</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Without this patch, when you change any profile settings, it creates a 'Profile 1.profile'.  This is my understanding of how it is suppose to work.</p></div>
</blockquote>

<p>I consistently lose any settings I make the first time I run konsole (ie, no <tt style="background: #ebebeb; font-size: 13px;">.config/konsolerc</tt> and no files in <tt style="background: #ebebeb; font-size: 13px;">.local/share/konsole/</tt>). I confirmed this with other users.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>With this patch, when you change any profile settings, it creates a Default.profile and a 'Profile 1.profile'.</p></blockquote>

<p>Are you sure? I tested it by removing <tt style="background: #ebebeb; font-size: 13px;">.config/konsolerc</tt> and all profiles in <tt style="background: #ebebeb; font-size: 13px;">.local/share/konsole/</tt>. It only creates one entry named <tt style="background: #ebebeb; font-size: 13px;">Default.profile</tt> (though I expected it to be <tt style="background: #ebebeb; font-size: 13px;">default.profile</tt> as I hardcoded it in the patch).</p>

<p>If you are getting two profiles, you may have a <tt style="background: #ebebeb; font-size: 13px;">Profile 1.profile</tt> that is not set as your default profile in <tt style="background: #ebebeb; font-size: 13px;">.config/konsolerc</tt>; this would cause <tt style="background: #ebebeb; font-size: 13px;">defaultProfileName.isEmpty()</tt> to return <tt style="background: #ebebeb; font-size: 13px;">true</tt> and hence create <tt style="background: #ebebeb; font-size: 13px;">Default.profile</tt>.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>I agree the issue of switch-> menu doesn't get updated needs fixed</p></blockquote>

<p>This bug haunted me. If you test, you will see that the context menu works just fine, but the application menu behaves randomly, even though they are the same <tt style="background: #ebebeb; font-size: 13px;">QActionGroup</tt>, <tt style="background: #ebebeb; font-size: 13px;">_group</tt> member of <tt style="background: #ebebeb; font-size: 13px;">ProfileList</tt>.</p>

<p>The logic to populate <tt style="background: #ebebeb; font-size: 13px;">_group</tt> was a bit complicated (<tt style="background: #ebebeb; font-size: 13px;">ProfileList::updateEmptyAction</tt>), hence I tried to create two <tt style="background: #ebebeb; font-size: 13px;">QActionGroup</tt>: a <tt style="background: #ebebeb; font-size: 13px;">_fallback</tt> for when the user has no favorite profile (with only the default profile in it), and a <tt style="background: #ebebeb; font-size: 13px;">_populated</tt> for when the user has favorite profiles (with all his favorite entries, obviously). Then, I changed <tt style="background: #ebebeb; font-size: 13px;">ProfileList::actions()</tt> to return the correct <tt style="background: #ebebeb; font-size: 13px;">QActionGroup</tt> (<tt style="background: #ebebeb; font-size: 13px;">_populated->actions()</tt> if user has favorites else <tt style="background: #ebebeb; font-size: 13px;">_fallback->actions()</tt>). It worked just fine as a context menu, but still behaves randomly in the application menu. The code got much cleaner, though.</p>

<p>Besides that, the menu is misleading as it says "Switch Profile", while in the code it lists "Favorite" profiles only.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R319 Konsole</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D16138">https://phabricator.kde.org/D16138</a></div></div><br /><div><strong>To: </strong>pedroarthurp, tcanabrava, ngraham, Konsole, hindenburg<br /><strong>Cc: </strong>ngraham, konsole-devel, maximilianocuria, hindenburg<br /></div>