[Padre-dev] [Padre] #85: fix a bug (open many window for 1 file)
Gabor Szabo
szabgab at gmail.com
Sat Nov 1 03:23:24 PDT 2008
AFAIK none of us who is contributing to Padre knew any Wx before the
project started.
It can be seen in the code :-)
Gabor
On Sat, Nov 1, 2008 at 12:12 PM, Fayland Lam <fayland at gmail.com> wrote:
> I'm afraid I need know more Wx. never learn that before.
>
> I'll submit again once I get it work.
>
> Thanks.
>
> 2008/11/1 Gabor Szabo <szabgab at gmail.com>:
>> I am diverting this to the mailing list as I saw you have also subscribed.
>>
>> I don't want to silently reload the file from the disk.
>> We should give a warning and let the user decide if he wants to reload or not.
>>
>> Actually I think even the "jump to the currently opened buffer" when trying
>> to open an already opened file should tell the user what happened.
>> Maybe by a pop-up. or just on the status bar?
>>
>> Gabor
>>
>> 2008/11/1 Fayland Lam <fayland at gmail.com>:
>>> Gabor Szabo wrote:
>>>>
>>>> thanks, applied.
>>>>
>>>> Gabor
>>>>
>>>
>>> another patch: when user tries to open an opened file, reload doc if it's
>>> changed.
>>>
>>> hmm, the sub name may not satisfy you, please rename it as u like.
>>> and if you prefers File::Modified than -M, I'll submit another patch with
>>> "File::Modified". but I think -M is enough.
>>>
>>> Thanks.
>>>
>>>> On Fri, Oct 31, 2008 at 3:04 PM, Fayland Lam <fayland at gmail.com> wrote:
>>>>
>>>>>
>>>>> OK. here you are. I hope I'm not making a mistake. but that's pretty
>>>>> simple.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Fri, Oct 31, 2008 at 8:57 PM, Gabor Szabo <szabgab at gmail.com> wrote:
>>>>>
>>>>>>
>>>>>> On Fri, Oct 31, 2008 at 2:56 PM, Fayland Lam <fayland at gmail.com> wrote:
>>>>>>
>>>>>>>
>>>>>>> hi, since I can't reopen it, I'm saying here. hope you don't mind.
>>>>>>>
>>>>>>> "but I think just focus on that tab instead of an error is better."
>>>>>>>
>>>>>>
>>>>>> I'd appreciate a patch against svn for that
>>>>>> Gabor
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> anyway, good job. man
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> On Fri, Oct 31, 2008 at 8:49 PM, Padre <trac at perlide.org> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> #85: fix a bug (open many window for 1 file)
>>>>>>>>
>>>>>>>> ----------------------+-----------------------------------------------------
>>>>>>>> Reporter: fayland | Owner:
>>>>>>>> Type: defect | Status: closed
>>>>>>>> Priority: major | Milestone:
>>>>>>>> Component: editor | Version: 0.14
>>>>>>>> Resolution: fixed | Keywords:
>>>>>>>>
>>>>>>>> ----------------------+-----------------------------------------------------
>>>>>>>> Changes (by fayland):
>>>>>>>>
>>>>>>>> * status: new => closed
>>>>>>>> * resolution: => fixed
>>>>>>>>
>>>>>>>>
>>>>>>>> Comment:
>>>>>>>>
>>>>>>>> oh, thanks. I'm a bit outdated
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ticket URL: <http://padre.perlide.org/ticket/85#comment:2>
>>>>>>>> Padre <http://padre.perlide.org/>
>>>>>>>> Perl Application Development and Refactoring Environment
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Fayland Lam // http://www.fayland.org/
>>>>>>> Foorum based on Catalyst // http://www.foorumbbs.com/
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Gabor Szabo http://szabgab.com/blog.html
>>>>>> Perl Training in Israel http://www.pti.co.il/
>>>>>> Test Automation Tips http://szabgab.com/test_automation_tips.html
>>>>>> Phones: +972-8-975-2897 +972-54-4624648
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Fayland Lam // http://www.fayland.org/
>>>>> Foorum based on Catalyst // http://www.foorumbbs.com/
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Fayland Lam // http://www.fayland.org/ Foorum based on Catalyst //
>>> http://www.foorumbbs.com/
>>>
>>> Index: lib/Padre/Document.pm
>>> ===================================================================
>>> --- lib/Padre/Document.pm (版本 626)
>>> +++ lib/Padre/Document.pm (工作副本)
>>> @@ -255,6 +255,8 @@
>>> sub load_file {
>>> my ($self, $file, $editor) = @_;
>>>
>>> + $self->{last_load_time} = -M $file;
>>> +
>>> my $newline_type = $self->_get_default_newline_type;
>>> my $convert_to;
>>> my $content = eval { File::Slurp::read_file($file, binmode => ':raw')
>>> };
>>> @@ -332,6 +334,14 @@
>>> $_[0]->{filename} = $_[1];
>>> }
>>>
>>> +sub get_last_load_mtime {
>>> + $_[0]->{last_load_mtime};
>>> +}
>>> +
>>> +sub get_last_modify_mtime {
>>> + return -M $_[0]->filename;
>>> +}
>>> +
>>> sub mimetype {
>>> $_[0]->{mimetype};
>>> }
>>> Index: lib/Padre/Wx/MainWindow.pm
>>> ===================================================================
>>> --- lib/Padre/Wx/MainWindow.pm (版本 626)
>>> +++ lib/Padre/Wx/MainWindow.pm (工作副本)
>>> @@ -777,6 +777,11 @@
>>> my $id = $self->find_editor_of_file($file);
>>> if (defined $id) {
>>> $self->on_nth_pane($id);
>>> + # reload if it's changed.
>>> + my $doc = Padre::Documents->by_id($id);
>>> + if ( $doc->get_last_modify_mtime <
>>> $doc->get_last_load_mtime ) {
>>> + $doc->reload;
>>> + }
>>> return;
>>> }
>>> }
>>>
More information about the Padre-dev
mailing list