[gnome-builder] terminal plugin: port to DzlShortcut classes
- From: Sébastien Lafargue <slafargue src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] terminal plugin: port to DzlShortcut classes
- Date: Wed, 16 Aug 2017 19:24:20 +0000 (UTC)
commit a744340b9d41eef50d52632b1d0bdba64a752ed0
Author: Sebastien Lafargue <slafargue gnome org>
Date: Wed Aug 16 21:20:02 2017 +0200
terminal plugin: port to DzlShortcut classes
plugins/terminal/gb-terminal-application-addin.c | 80 ----------------------
plugins/terminal/gb-terminal-application-addin.h | 32 ---------
plugins/terminal/gb-terminal-plugin.c | 4 -
plugins/terminal/gb-terminal-workbench-addin.c | 46 ++++++++++++
plugins/terminal/meson.build | 2 -
5 files changed, 46 insertions(+), 118 deletions(-)
---
diff --git a/plugins/terminal/gb-terminal-plugin.c b/plugins/terminal/gb-terminal-plugin.c
index 8bb20fd..ce3b04b 100644
--- a/plugins/terminal/gb-terminal-plugin.c
+++ b/plugins/terminal/gb-terminal-plugin.c
@@ -19,7 +19,6 @@
#include <libpeas/peas.h>
#include <ide.h>
-#include "gb-terminal-application-addin.h"
#include "gb-terminal-private.h"
#include "gb-terminal-resources.h"
#include "gb-terminal-workbench-addin.h"
@@ -28,9 +27,6 @@ void
peas_register_types (PeasObjectModule *module)
{
peas_object_module_register_extension_type (module,
- IDE_TYPE_APPLICATION_ADDIN,
- GB_TYPE_TERMINAL_APPLICATION_ADDIN);
- peas_object_module_register_extension_type (module,
IDE_TYPE_WORKBENCH_ADDIN,
GB_TYPE_TERMINAL_WORKBENCH_ADDIN);
}
diff --git a/plugins/terminal/gb-terminal-workbench-addin.c b/plugins/terminal/gb-terminal-workbench-addin.c
index c713296..4ab8c5b 100644
--- a/plugins/terminal/gb-terminal-workbench-addin.c
+++ b/plugins/terminal/gb-terminal-workbench-addin.c
@@ -28,6 +28,8 @@
#include "gb-terminal-view.h"
#include "gb-terminal-workbench-addin.h"
+#define I_(s) g_intern_static_string(s)
+
struct _GbTerminalWorkbenchAddin
{
GObject parent_instance;
@@ -172,6 +174,49 @@ failure:
IDE_EXIT;
}
+static const DzlShortcutEntry gb_terminal_shortcut_entries[] = {
+ { "org.gnome.builder.workbench.new-terminal",
+ 0, NULL,
+ NC_("shortcut winndow", "Workbench shortcuts"),
+ NC_("shortcut winndow", "General"),
+ NC_("shortcut winndow", "Terminal") },
+
+ { "org.gnome.builder.workbench.new-terminal-in-runtime",
+ 0, NULL,
+ NC_("shortcut winndow", "Workbench shortcuts"),
+ NC_("shortcut winndow", "General"),
+ NC_("shortcut winndow", "Terminal in Build Runtime") },
+};
+
+static void
+gb_terminal_workbench_setup_shortcuts (GbTerminalWorkbenchAddin *self,
+ IdeWorkbench *workbench)
+{
+ DzlShortcutController *controller;
+
+ g_assert (GB_IS_TERMINAL_WORKBENCH_ADDIN (self));
+ g_assert (IDE_IS_WORKBENCH (workbench));
+
+ controller = dzl_shortcut_controller_find (GTK_WIDGET (workbench));
+
+ dzl_shortcut_controller_add_command_action (controller,
+ "org.gnome.builder.workbench.new-terminal",
+ I_("<primary><shift>t"),
+ DZL_SHORTCUT_PHASE_DISPATCH,
+ "win.new-terminal");
+
+ dzl_shortcut_controller_add_command_action (controller,
+ "org.gnome.builder.workbench.new-terminal-in-runtime",
+ I_("<primary><alt><shift>t"),
+ DZL_SHORTCUT_PHASE_DISPATCH,
+ "win.new-terminal-in-runtime");
+
+ dzl_shortcut_manager_add_shortcut_entries (NULL,
+ gb_terminal_shortcut_entries,
+ G_N_ELEMENTS (gb_terminal_shortcut_entries),
+ GETTEXT_PACKAGE);
+}
+
static void
gb_terminal_workbench_addin_load (IdeWorkbenchAddin *addin,
IdeWorkbench *workbench)
@@ -194,6 +239,7 @@ gb_terminal_workbench_addin_load (IdeWorkbenchAddin *addin,
ide_set_weak_pointer (&self->workbench, workbench);
g_action_map_add_action_entries (G_ACTION_MAP (workbench), actions, G_N_ELEMENTS (actions), self);
+ gb_terminal_workbench_setup_shortcuts (self, workbench);
if (self->panel_terminal == NULL)
{
diff --git a/plugins/terminal/meson.build b/plugins/terminal/meson.build
index 699bc5d..f5720e7 100644
--- a/plugins/terminal/meson.build
+++ b/plugins/terminal/meson.build
@@ -10,8 +10,6 @@ terminal_sources = [
terminal_resources,
'gb-terminal.c',
'gb-terminal.h',
- 'gb-terminal-application-addin.c',
- 'gb-terminal-application-addin.h',
'gb-terminal-plugin.c',
'gb-terminal-private.h',
'gb-terminal-util.c',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]