blob: 72ff8238c15554ce19d08ab68f373fb4090e09f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
From ec861a8ba1f35070ea70496dd9d18976cfa6cca3 Mon Sep 17 00:00:00 2001
From: Merikz <merikz.code@gmail.com>
Date: Sun, 20 Mar 2016 19:55:47 +0100
Subject: [PATCH] bugfix: ctrl-tab in last-focused mode
When active tab was changed by mouse, ctrl-tab did not go to correct tab.
The mouse click did not update the meaning of "previous" tab.
Fixes: #1
---
lib/PACMain.pm | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/lib/PACMain.pm b/lib/PACMain.pm
index d8dbe87..29b4eef 100644
--- a/lib/PACMain.pm
+++ b/lib/PACMain.pm
@@ -1810,7 +1810,6 @@ sub _setupCallbacks {
if ( $$self{_CFG}{defaults}{'ctrl tab'} eq 'last' ) {
$$self{_GUI}{nb} -> set_current_page( $$self{_PREVTAB} );
- $$self{_PREVTAB} = $curr_page;
} else {
if ( $curr_page == 0 ) { $$self{_GUI}{nb} -> set_current_page( $$self{_GUI}{nb} -> get_n_pages - 1 ); }
else { $$self{_GUI}{nb} -> prev_page; }
@@ -1821,26 +1820,22 @@ sub _setupCallbacks {
elsif ( $ctrl && ( ! $$self{_CFG}{'defaults'}{'disable CTRL key bindings'} ) ) {
# Capture <Ctrl>PgUp/Left --> select previous tab
if ( $keyval eq 'Page_Up' && ! $$self{_CFG}{'defaults'}{'how to switch tabs'} ) {
- $$self{_PREVTAB} = $curr_page;
if ( $curr_page == 0 ) { $$self{_GUI}{nb} -> set_current_page( -1 ); }
else { $$self{_GUI}{nb} -> prev_page; }
}
# Capture <Ctrl>PgDwn/Right --> select next tab
elsif ( $keyval eq 'Page_Down' && ! $$self{_CFG}{'defaults'}{'how to switch tabs'} ) {
- $$self{_PREVTAB} = $curr_page;
if ( $curr_page == $$self{_GUI}{nb} -> get_n_pages - 1 ) { $$self{_GUI}{nb} -> set_current_page( 0 ); }
else { $$self{_GUI}{nb} -> next_page; }
}
# Capture <Ctrl>number --> select number tab
elsif ( $keyval =~ /^\d$/go ) {
- $$self{_PREVTAB} = $curr_page;
$$self{_GUI}{nb} -> set_current_page( $keyval - ( $$self{_CFG}{'defaults'}{'tabs in main window'} ? 0 : 1 ) );
}
# Capture <Ctrl>TAB --> switch between tabs
elsif ( $keyval eq 'Tab' ) {
if ( $$self{_CFG}{defaults}{'ctrl tab'} eq 'last' ) {
$$self{_GUI}{nb} -> set_current_page( $$self{_PREVTAB} );
- $$self{_PREVTAB} = $curr_page;
} else {
if ( $curr_page == $$self{_GUI}{nb} -> get_n_pages - 1 ) { $$self{_GUI}{nb} -> set_current_page( 0 ); }
else { $$self{_GUI}{nb} -> next_page; }
@@ -1852,13 +1847,11 @@ sub _setupCallbacks {
} elsif ( $alt && ( ! $$self{_CFG}{'defaults'}{'disable ALT key bindings'} ) && $$self{_CFG}{'defaults'}{'how to switch tabs'} ) {
# Capture <Alt>PgUp/Left --> select previous tab
if ( $keyval eq 'Left' ) {
- $$self{_PREVTAB} = $curr_page;
if ( $curr_page == 0 ) { $$self{_GUI}{nb} -> set_current_page( -1 ); }
else { $$self{_GUI}{nb} -> prev_page; }
}
# Capture <Alt>PgDwn/Right --> select next tab
elsif ( $keyval eq 'Right' ) {
- $$self{_PREVTAB} = $curr_page;
if ( $curr_page == $$self{_GUI}{nb} -> get_n_pages - 1 ) { $$self{_GUI}{nb} -> set_current_page( 0 ); }
else { $$self{_GUI}{nb} -> next_page; }
} else { return 0; }
@@ -1904,6 +1897,8 @@ sub _setupCallbacks {
#if ( $pnum == 0 && $$self{_CFG}{defaults}{'tabs in main window'} && $$self{'_CFG'}{'defaults'}{'auto hide connections list'} ) { $$self{_GUI}{showConnBtn} -> set_active( 1 ); }
#elsif ( $$self{_CFG}{defaults}{'tabs in main window'} && $$self{'_CFG'}{'defaults'}{'auto hide connections list'} ) { $$self{_GUI}{showConnBtn} -> set_active( 0 ); }
+ $$self{_PREVTAB}=$nb->get_current_page;
+
my $tab_page = $nb -> get_nth_page( $pnum );
$$self{_HAS_FOCUS} = '';
|