[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-07-01 16:06:05
Message-ID: 20140701160605.22318.53135 () probe ! kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> 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.
> 
> Miquel Sabaté Solà wrote:
> 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 :) 
> Dominik Haumann wrote:
> I think what Christoph meant here is that closeView(KTE::View) closes just a the \
> given KTE::View. And the view space then activates the next view. If there is no \
> next view, the view space gets closed. This is how it worked all the years, so the \
> function could just do the same. Or am I mistaken?

Well, the point here is that with Vi's "close" command what I want to do is to close \
the view space entirely (regardless the number of views that this view space \
currently has). Thus, I think that we need this new "closeSplitView" function.

Regarding the "closeView" function, I think that what you say is reasonable, and this \
should be fixed in Kate (frameworks branch). But, regardless of the "closeView" \
function, imho we also need this "closeSplitView" one :)


- Miquel


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


On July 1, 2014, 1:38 p.m., Miquel Sabaté Solà wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119028/
> -----------------------------------------------------------
> 
> (Updated July 1, 2014, 1:38 p.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;">  



<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>





 <p>On June 30th, 2014, 6:58 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;">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>  </blockquote>





 <p>On July 1st, 2014, 3:27 p.m. UTC, <b>Dominik Haumann</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;">I think what Christoph \
meant here is that closeView(KTE::View) closes just a the given KTE::View. And the \
view space then activates the next view. If there is no next view, the view space \
gets closed. This is how it worked all the years, so the function could just do the \
same. Or am I mistaken?</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;">Well, the \
point here is that with Vi&#39;s &quot;close&quot; command what I want to do is to \
close the view space entirely (regardless the number of views that this view space \
currently has). Thus, I think that we need this new &quot;closeSplitView&quot; \
function.

Regarding the &quot;closeView&quot; function, I think that what you say is \
reasonable, and this should be fixed in Kate (frameworks branch). But, regardless of \
the &quot;closeView&quot; function, imho we also need this &quot;closeSplitView&quot; \
one :)</pre> <br />




<p>- Miquel</p>


<br />
<p>On July 1st, 2014, 1:38 p.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 July 1, 2014, 1:38 p.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