<font size="4"><font face="georgia,serif"><br></font></font><br><div class="gmail_quote">On Mon, Mar 19, 2012 at 4:28 AM, Jekyll Wu <span dir="ltr"><<a href="mailto:adaptee@gmail.com">adaptee@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</div>于 2012年03月18日 21:08, Kurt Hindenburg 写道:<br>
<div class="im">> On Fri, Mar 16, 2012 at 11:52 PM, Jekyll Wu <<a href="mailto:adaptee@gmail.com">adaptee@gmail.com</a>><br>
> wrote:<br>
><br>
</div><div class="im">> Such duplication is definitely not good. What is the better way to<br>
> eliminate those duplication ?<br>
><br>
> a). Make TerminalDisplay, HistorySizeDialog, etc all #inlucde<br>
> "Profile.h"<br>
><br>
> b). Move those enum definition into another separate small<br>
> header(like Enumeration.h), and all other related files #include<br>
> "Enumeration.h"<br>
><br>
> Hi,<br>
>> Definitely b - also can you look at using Qt QFlags if you find<br>
>> that useful.<br>
<br>
</div>Hi:<br>
<br>
I have pushed a few commits for merging those enumeration definitions.<br>
<br>
I'm sure the result is still not good enough. Feel free to correct my<br>
stupid mistakes.<br>
<br>
Thanks for the suggestion, but I wonder whether you actually meant to<br>
say QMetaType.<br>
<br></blockquote><div>Hi,</div><div>  <a href="https://qt-project.org/doc/qt-4.8/QFlags.html">https://qt-project.org/doc/qt-4.8/QFlags.html</a></div><div><br></div><div>Kurt</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


There are still other related problems. For example, the following<br>
code does not look quite good:<br>
<br>
void ViewManager::applyProfileToView(...)<br>
{<br>
    ...<br>
    // set scroll-bar position<br>
    int scrollBarPosition =<br>
profile->property<int>(Profile::ScrollBarPosition);<br>
<br>
    if (scrollBarPosition == Enum::ScrollBarLeft)<br>
        view->setScrollBarPosition(Enum::ScrollBarLeft);<br>
    else if (scrollBarPosition == Enum::ScrollBarRight)<br>
        view->setScrollBarPosition(Enum::ScrollBarRight);<br>
    else if (scrollBarPosition == Enum::ScrollBarHidden)<br>
        view->setScrollBarPosition(Enum::ScrollBarHidden);<br>
<br>
    ....<br>
}<br>
<br>
problem 1: it is not type safety. if profile->property<int> returns<br>
a strange value(image use modifies the profile manually and sets a<br>
invalid number), the result would be strange.<br>
<br>
problem 2: I prefer to hide all those "profile->property<xxx>()"<br>
within class Profile itself.<br>
<div class="im"><br>
Regards<br>
Jekyll<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2.0.18 (GNU/Linux)<br>
Comment: Using GnuPG with Mozilla - <a href="http://enigmail.mozdev.org/" target="_blank">http://enigmail.mozdev.org/</a><br>
<br>
</div>iQIcBAEBAgAGBQJPZu4cAAoJEOemZ9znWXlAL6IP/2RIYS9hfF+rSPzHBzvaZGng<br>
tRL9NYSYQLG8zN4q5qTfZ/xKedEHUyuj81MWVVOB17my1KOfKBNwkSO5UG9UUnHI<br>
KI+fxw5ymBC2EheSQZvjeVcGdkSlCj7Yw7aVl1LaSdRknLFAmAc7Pd+UA2Ni8Qov<br>
TC5qNeKzxpctQTYEFHam+dRpoxu9cEqrX7Dvns7bet8xgU6rDC9gsFCyY5C7wXfz<br>
rKcAAMhRsEAxmtzcUaRYC6dyDihUIXn8YQMW5nFGYAfTPXJFKRjeCy6TCgeKU999<br>
Ooc+IS4qKC4/R0UC2y3TwkCh/cBG9fZ10TYx4uKhM+y/RhbmFlOIviBqx8mp8TNz<br>
o9s2r9jFMTHJYleQ9VpwKraHJkXieS2Cm8/RceOzmmzyFk2GE+GBZ539Ra7nMohE<br>
1iXp85gKCpuZdKFFQp3CnbH0QVsmxrvDwBudYU4iwBvyFHvupBdijpJljTysBJ3A<br>
SG6epvJR6Fj+09MihhsPIIdcHhj6C6y2qzrSS8uBK+0eiJLoozMLWvUPUmmfR0ve<br>
/2d7hpRrSS406rJB1I6j7t+kPaU4rbFoHlhXHnO4q6GZ+vmGueXH4HqoflWIwtZB<br>
w9vFrLrketrhAeN39td+57zfo3ojuD8bXJTSKaB5U0xw0N52SPxYFVXRy+i9p1H6<br>
Vjgv81TD0R7LfiugTfG1<br>
=rqJd<br>
<div class="HOEnZb"><div class="h5">-----END PGP SIGNATURE-----<br>
_______________________________________________<br>
konsole-devel mailing list<br>
<a href="mailto:konsole-devel@kde.org">konsole-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/konsole-devel" target="_blank">https://mail.kde.org/mailman/listinfo/konsole-devel</a><br>
</div></div></blockquote></div><br>