gnome-terminal r3181 - branches/gnome-2-24/src
- From: chpe svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-terminal r3181 - branches/gnome-2-24/src
- Date: Sun, 19 Oct 2008 12:40:42 +0000 (UTC)
Author: chpe
Date: Sun Oct 19 12:40:42 2008
New Revision: 3181
URL: http://svn.gnome.org/viewvc/gnome-terminal?rev=3181&view=rev
Log:
Bug 548600 â Can no longer configure keyboard shortcuts for switching tabs
Modified:
branches/gnome-2-24/src/gnome-terminal.schemas.in
branches/gnome-2-24/src/terminal-accels.c
branches/gnome-2-24/src/terminal-tabs-menu.c
Modified: branches/gnome-2-24/src/gnome-terminal.schemas.in
==============================================================================
--- branches/gnome-2-24/src/gnome-terminal.schemas.in (original)
+++ branches/gnome-2-24/src/gnome-terminal.schemas.in Sun Oct 19 12:40:42 2008
@@ -916,6 +916,102 @@
</schema>
<schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_1</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_1</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>1</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_2</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_2</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>2</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_3</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_3</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>3</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_4</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_4</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>4</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_5</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_5</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>5</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_6</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_6</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>6</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_7</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_7</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>7</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_8</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_8</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>8</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_9</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_9</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+ <default><Alt>9</default>
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_10</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_10</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+<!-- no default -->
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_11</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_11</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+<!-- no default -->
+ </schema>
+
+ <schema>
+ <key>/schemas/apps/gnome-terminal/keybindings/switch_to_tab_12</key>
+ <applyto>/apps/gnome-terminal/keybindings/switch_to_tab_12</applyto>
+ <owner>gnome-terminal</owner>
+ <type>string</type>
+<!-- no default -->
+ </schema>
+
+ <schema>
<key>/schemas/apps/gnome-terminal/keybindings/help</key>
<applyto>/apps/gnome-terminal/keybindings/help</applyto>
<owner>gnome-terminal</owner>
Modified: branches/gnome-2-24/src/terminal-accels.c
==============================================================================
--- branches/gnome-2-24/src/terminal-accels.c (original)
+++ branches/gnome-2-24/src/terminal-accels.c Sun Oct 19 12:40:42 2008
@@ -20,11 +20,14 @@
#include <string.h>
+#include <gdk/gdkkeysyms.h>
+
#include "terminal-accels.h"
#include "terminal-app.h"
#include "terminal-intl.h"
#include "terminal-profile.h"
#include "terminal-util.h"
+#include "terminal-accels.h"
#ifdef DEBUG_ACCELS
#define D(x) x
@@ -71,6 +74,7 @@
#define ACCEL_PATH_MOVE_TAB_LEFT ACCEL_PATH_ROOT "TabsMoveLeft"
#define ACCEL_PATH_MOVE_TAB_RIGHT ACCEL_PATH_ROOT "TabsMoveRight"
#define ACCEL_PATH_DETACH_TAB ACCEL_PATH_ROOT "TabsDetach"
+#define ACCEL_PATH_SWITCH_TAB_PREFIX ACCEL_PATH_ROOT "TabsSwitch"
#define KEY_CLOSE_TAB CONF_KEYS_PREFIX "/close_tab"
#define KEY_CLOSE_WINDOW CONF_KEYS_PREFIX "/close_window"
@@ -93,6 +97,7 @@
#define KEY_ZOOM_IN CONF_KEYS_PREFIX "/zoom_in"
#define KEY_ZOOM_NORMAL CONF_KEYS_PREFIX "/zoom_normal"
#define KEY_ZOOM_OUT CONF_KEYS_PREFIX "/zoom_out"
+#define KEY_SWITCH_TAB_PREFIX CONF_KEYS_PREFIX "/switch_to_tab_"
typedef struct
{
@@ -175,6 +180,47 @@
KEY_DETACH_TAB, ACCEL_PATH_DETACH_TAB, 0, 0, NULL, FALSE, TRUE },
};
+#define UN_(x) (x)
+
+static KeyEntry jump_tab_entries[] = {
+ { UN_("Switch to Tab 1"),
+ KEY_SWITCH_TAB_PREFIX "1",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "1", GDK_1, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 2"),
+ KEY_SWITCH_TAB_PREFIX "2",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "2", GDK_2, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 3"),
+ KEY_SWITCH_TAB_PREFIX "3",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "3", GDK_3, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 4"),
+ KEY_SWITCH_TAB_PREFIX "4",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "4", GDK_4, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 5"),
+ KEY_SWITCH_TAB_PREFIX "5",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "5", GDK_5, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 6"),
+ KEY_SWITCH_TAB_PREFIX "6",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "6", GDK_6, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 7"),
+ KEY_SWITCH_TAB_PREFIX "7",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "7", GDK_7, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 8"),
+ KEY_SWITCH_TAB_PREFIX "8",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "8", GDK_8, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 9"),
+ KEY_SWITCH_TAB_PREFIX "9",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "9", GDK_9, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 10"),
+ KEY_SWITCH_TAB_PREFIX "10",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "10", GDK_0, GDK_MOD1_MASK, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 11"),
+ KEY_SWITCH_TAB_PREFIX "11",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "11", 0, 0, NULL, FALSE, TRUE },
+ { UN_("Switch to Tab 12"),
+ KEY_SWITCH_TAB_PREFIX "12",
+ ACCEL_PATH_SWITCH_TAB_PREFIX "12", 0, 0, NULL, FALSE, TRUE }
+};
+
static KeyEntry help_entries[] = {
{ N_("Contents"), KEY_HELP, ACCEL_PATH_HELP, 0, 0, NULL, FALSE, TRUE }
};
@@ -186,7 +232,8 @@
{ view_entries, G_N_ELEMENTS (view_entries), N_("View") },
{ terminal_entries, G_N_ELEMENTS (terminal_entries), N_("Terminal") },
{ tabs_entries, G_N_ELEMENTS (tabs_entries), N_("Tabs") },
- { help_entries, G_N_ELEMENTS (help_entries), N_("Help") }
+ { help_entries, G_N_ELEMENTS (help_entries), N_("Help") },
+ { jump_tab_entries, G_N_ELEMENTS (jump_tab_entries), NULL }
};
enum
@@ -870,7 +917,8 @@
g_signal_connect (tree, "row-changed", G_CALLBACK (row_changed), NULL);
#endif
- for (i = 0; i < G_N_ELEMENTS (all_entries); ++i)
+ /* -1 because we can't add the Tabs entries on gnome-2-24 b/c of string freeze */
+ for (i = 0; i < G_N_ELEMENTS (all_entries) - 1; ++i)
{
GtkTreeIter parent_iter;
int j;
Modified: branches/gnome-2-24/src/terminal-tabs-menu.c
==============================================================================
--- branches/gnome-2-24/src/terminal-tabs-menu.c (original)
+++ branches/gnome-2-24/src/terminal-tabs-menu.c Sun Oct 19 12:40:42 2008
@@ -30,14 +30,16 @@
#include "terminal-screen-container.h"
#include "terminal-intl.h"
+#define TERMINAL_ACCELS_N_TABS_SWITCH (12)
+
#define LABEL_WIDTH_CHARS 32
#define ACTION_VERB_FORMAT_PREFIX "JmpTab"
-#define ACTION_VERB_FORMAT_PREFIX_LEN (6) /* strlen (ACTION_VERB_FORMAT_PREFIX) */
+#define ACTION_VERB_FORMAT_PREFIX_LEN strlen (ACTION_VERB_FORMAT_PREFIX)
#define ACTION_VERB_FORMAT ACTION_VERB_FORMAT_PREFIX "%x"
#define ACTION_VERB_FORMAT_LENGTH strlen (ACTION_VERB_FORMAT) + 14 + 1
#define ACTION_VERB_FORMAT_BASE (16) /* %x is hex */
-#define ACCEL_PATH_FORMAT "<Actions>/TabsActions/%s"
-#define ACCEL_PATH_FORMAT_LENGTH strlen (ACCEL_PATH_FORMAT) -2 + ACTION_VERB_FORMAT_LENGTH
+#define ACCEL_PATH_FORMAT "<Actions>/Main/TabsSwitch%u"
+#define ACCEL_PATH_FORMAT_LENGTH strlen (ACCEL_PATH_FORMAT) + 14 + 1
#define DATA_KEY "TerminalTabsMenu::Action"
#define UI_PATH "/menubar/Tabs"
@@ -379,7 +381,7 @@
g_type_class_add_private (object_class, sizeof (TerminalTabsMenuPrivate));
/* We don't want to save accels, so skip them */
- gtk_accel_map_add_filter ("<Actions>/TabsActions/JmpTab*");
+ gtk_accel_map_add_filter ("<Actions>/Main/TabsSwitch*");
}
static void
@@ -416,40 +418,19 @@
guint tab_number,
gboolean is_single_tab)
{
- const char *verb;
- char accel_path[ACCEL_PATH_FORMAT_LENGTH];
- char accel[7];
- gint accel_number;
- guint accel_key;
- GdkModifierType accel_mods;
-
- verb = gtk_action_get_name (action);
-
- /* set the accel path for the menu item */
- g_snprintf (accel_path, sizeof (accel_path),
- ACCEL_PATH_FORMAT, verb);
- gtk_action_set_accel_path (action, accel_path);
-
- /* Only the first ten tabs get accelerators starting from 1 through 0 */
- if (tab_number < 10 && !is_single_tab)
- {
- accel_key = 0;
- accel_number = (tab_number + 1) % 10;
-
- g_snprintf (accel, sizeof (accel), "<alt>%d", accel_number);
-
- gtk_accelerator_parse (accel, &accel_key, &accel_mods);
+ if (!is_single_tab &&
+ tab_number < TERMINAL_ACCELS_N_TABS_SWITCH)
+ {
+ char accel_path[ACCEL_PATH_FORMAT_LENGTH];
- if (accel_key != 0)
- {
- gtk_accel_map_change_entry (accel_path, accel_key,
- accel_mods, TRUE);
- }
- }
- else
- {
- gtk_accel_map_change_entry (accel_path, 0, 0, TRUE);
- }
+ g_snprintf (accel_path, sizeof (accel_path), ACCEL_PATH_FORMAT, tab_number + 1);
+ gtk_action_set_accel_path (action, accel_path);
+ }
+ else
+ {
+ gtk_action_set_accel_path (action, NULL);
+ return;
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]