[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Re: Review Request 119028: Added the closeViewSpace to the KTextEditor::MainWindow class.
From:       Miquel_Sabaté_Solà <mikisabate () gmail ! com>
Date:       2014-06-30 18:58:25
Message-ID: 20140630185825.17520.75475 () probe ! kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> On June 30, 2014, 4:28 p.m., Michal Humpula wrote:
> > @Dominik: is it still possible to add new methods to the interface?
> > 
> > To bad, when drafting the splitView I didn't think of more general abstraction \
> > like group of views. Methods like "splitView" and "closeViewSpace" seems to \
> > enable only one way to implement grouping of views. Oh, well, let's hope there \
> > will be KF6 one day:o)
> 
> Christoph Cullmann wrote:
> We can add still functions, as they are non-virtual, as we use the "ugly" but BC \
> hack of internal invokeMethod.

I wasn't sure about this either. That's a relief :)


> On June 30, 2014, 4:28 p.m., Michal Humpula wrote:
> > src/include/ktexteditor/mainwindow.h, line 155
> > <https://git.reviewboard.kde.org/r/119028/diff/1/?file=285415#file285415line155>
> > 
> > I would recommend passing KTextEditor::View here, to let app know, which \
> > ViewSpace is to be closed. Worst case scenario, the implementation would have to \
> > call activeView() before calling closeViewSpace.
> 
> Miquel Sabaté Solà wrote:
> Yes, that was my initial take on this :) But then I realized that I only needed to \
> close the current view. If we pass a view, then in the application you have to pick \
> the viewspace that contains the given view. This is quite easy to do for Kate. 
> I'll wait for more opinions on this ;)
> 
> Christoph Cullmann wrote:
> The question is: should not "closeView" be fixed instead. Somehow, the current \
> behavior looks like a bug, I would think that it shall close the viewspace, if the \
> last view got closed there (and no other document is around). 
> If not, I would vote for calling the new function:
> 
> "closeSplitView", which matches the splitView operation, which creates it.

I also thought about this but I think it's ok to keep "closeView" as it is. If we say \
that "closeView" closes the viewspace, it's going to be messy, because there are \
multiple applications using the katepart with a different understanding of "group of \
views". So, I think that we should keep "closeView" as it is (closing a single view), \
and let the "let's close a group of views" function handle groups of views (so every \
application will have a different take on this). Thus, to me, it's a semantic \
difference that we should keep :)

In regards to the name, I called it "closeViewSpace" because it's how it's called in \
Kate. I agree, I should rename it to "closeSplitView". But, should it take a "view" \
parameter as Michal said? I honestly don't know :)


- Miquel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119028/#review61294
-----------------------------------------------------------


On June 30, 2014, 11:51 a.m., Miquel Sabaté Solà wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119028/
> -----------------------------------------------------------
> 
> (Updated June 30, 2014, 11:51 a.m.)
> 
> 
> Review request for Kate.
> 
> 
> Repository: ktexteditor
> 
> 
> Description
> -------
> 
> This is a method that I needed in order to implement the "close" command in \
> vi-mode. The close command in vim closes the current "window". This concept of \
> "window" is basically a splitted view. That's why other commands in vi-mode such as \
> "split" and "vsplit" have been implemented by just splitting the current view. \
> However, it's not possible to close a splitted view. The only thing that is close \
> is the "closeView" method, but it's not really what we want, since calling this \
> function will result in the image that I have uploaded. Therefore, before this \
> patch, the KatePart allowed the creation of splitted views, but it didn't allow the \
> deletion of splitted views (and that's inconsistent imho). 
> With this function, now we can close splitted views as expected. In Kate \
> (frameworks branch), the implementation of this function is trivial because the \
> KateMainWindow class has access to the KateViewManager class (through \
> m_viewManager). 
> 
> Diffs
> -----
> 
> src/include/ktexteditor/mainwindow.h fda80a2 
> src/utils/mainwindow.cpp 1231f9a 
> 
> Diff: https://git.reviewboard.kde.org/r/119028/diff/
> 
> 
> Testing
> -------
> 
> Manual testing.
> 
> 
> File Attachments
> ----------------
> 
> closeView in action
> https://git.reviewboard.kde.org/media/uploaded/files/2014/06/30/fa7ce216-cc21-4647-8f72-f663374623c4__kate.png
>  
> 
> Thanks,
> 
> Miquel Sabaté Solà 
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/119028/">https://git.reviewboard.kde.org/r/119028/</a>
  </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <p style="margin-top: 0;">On June 30th, 2014, 4:28 p.m. UTC, <b>Michal \
Humpula</b> wrote:</p>  <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">  <pre style="white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">@Dominik: is it still possible to add new methods to the interface?

To bad, when drafting the splitView I didn&#39;t think of more general abstraction \
like group of views. Methods like &quot;splitView&quot; and \
&quot;closeViewSpace&quot; seems to enable only one way to implement grouping of \
views. Oh, well, let&#39;s hope there will be KF6 one day:o)</pre>  </blockquote>






 <p>On June 30th, 2014, 6:38 p.m. UTC, <b>Christoph Cullmann</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">We can add still \
functions, as they are non-virtual, as we use the &quot;ugly&quot; but BC hack of \
internal invokeMethod.</pre>  </blockquote>










</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I wasn&#39;t sure about \
this either. That&#39;s a relief :)</pre> <br />







<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <p style="margin-top: 0;">On June 30th, 2014, 4:28 p.m. UTC, <b>Michal \
Humpula</b> wrote:</p>  <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="https://git.reviewboard.kde.org/r/119028/diff/1/?file=285415#file285415line155" \
style="color: black; font-weight: bold; text-decoration: \
underline;">src/include/ktexteditor/mainwindow.h</a>  <span style="font-weight: \
normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; \
">public:</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">155</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="kt">bool</span> <span class="nf">closeViewSpace</span><span \
class="p">();</span></pre></td>  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I would recommend \
passing KTextEditor::View here, to let app know, which ViewSpace is to be closed. \
Worst case scenario, the implementation would have to call activeView() before \
calling closeViewSpace.</pre>  </blockquote>



 <p>On June 30th, 2014, 4:43 p.m. UTC, <b>Miquel Sabaté Solà </b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Yes, that was my initial \
take on this :) But then I realized that I only needed to close the current view. If \
we pass a view, then in the application you have to pick the viewspace that contains \
the given view. This is quite easy to do for Kate.

I&#39;ll wait for more opinions on this ;)</pre>
 </blockquote>





 <p>On June 30th, 2014, 6:39 p.m. UTC, <b>Christoph Cullmann</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The question is: should \
not &quot;closeView&quot; be fixed instead. Somehow, the current behavior looks like \
a bug, I would think that it shall close the viewspace, if the last view got closed \
there (and no other document is around).

If not, I would vote for calling the new function:

&quot;closeSplitView&quot;, which matches the splitView operation, which creates \
it.</pre>  </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I also \
thought about this but I think it&#39;s ok to keep &quot;closeView&quot; as it is. If \
we say that &quot;closeView&quot; closes the viewspace, it&#39;s going to be messy, \
because there are multiple applications using the katepart with a different \
understanding of &quot;group of views&quot;. So, I think that we should keep \
&quot;closeView&quot; as it is (closing a single view), and let the &quot;let&#39;s \
close a group of views&quot; function handle groups of views (so every application \
will have a different take on this). Thus, to me, it&#39;s a semantic difference that \
we should keep :)

In regards to the name, I called it &quot;closeViewSpace&quot; because it&#39;s how \
it&#39;s called in Kate. I agree, I should rename it to &quot;closeSplitView&quot;. \
But, should it take a &quot;view&quot; parameter as Michal said? I honestly don&#39;t \
know :)</pre> <br />




<p>- Miquel</p>


<br />
<p>On June 30th, 2014, 11:51 a.m. UTC, Miquel Sabaté Solà wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for Kate.</div>
<div>By Miquel Sabaté Solà .</div>


<p style="color: grey;"><i>Updated June 30, 2014, 11:51 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
ktexteditor
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">This is a method that I needed in order to implement the \
&quot;close&quot; command in vi-mode. The close command in vim closes the current \
&quot;window&quot;. This concept of &quot;window&quot; is basically a splitted view. \
That&#39;s why other commands in vi-mode such as &quot;split&quot; and \
&quot;vsplit&quot; have been implemented by just splitting the current view. However, \
it&#39;s not possible to close a splitted view. The only thing that is close is the \
&quot;closeView&quot; method, but it&#39;s not really what we want, since calling \
this function will result in the image that I have uploaded. Therefore, before this \
patch, the KatePart allowed the creation of splitted views, but it didn&#39;t allow \
the deletion of splitted views (and that&#39;s inconsistent imho).

With this function, now we can close splitted views as expected. In Kate (frameworks \
branch), the implementation of this function is trivial because the KateMainWindow \
class has access to the KateViewManager class (through m_viewManager).</pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Manual testing.</pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/include/ktexteditor/mainwindow.h <span style="color: \
grey">(fda80a2)</span></li>

 <li>src/utils/mainwindow.cpp <span style="color: grey">(1231f9a)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/119028/diff/" style="margin-left: \
3em;">View Diff</a></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments \
</h1>

<ul>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/06/30/fa7ce216-cc21-4647-8f72-f663374623c4__kate.png">closeView \
in action</a></li>

</ul>





  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic