/* GIMP - The GNU Image Manipulation Program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* gimpmodifierseditor.c
* Copyright (C) 2022 Jehan
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <gegl.h>
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "widgets-types.h"
#include "core/gimp.h"
#include "display/display-types.h"
#include "display/gimpmodifiersmanager.h"
#include "gimpaction.h"
#include "gimpactionview.h"
#include "gimpactioneditor.h"
#include "gimphelp-ids.h"
#include "gimpmodifierseditor.h"
#include "gimpshortcutbutton.h"
#include "gimpuimanager.h"
#include "gimpwidgets-utils.h"
#include "gimp-intl.h"
enum
{
PROP_0,
PROP_MANAGER,
PROP_GIMP,
};
struct _GimpModifiersEditorPrivate
{
GdkDevice *device;
guint button;
GtkWidget *header;
GtkWidget *warning;
GtkWidget *select_button;
GtkWidget *stack;
GtkWidget *current_settings;
GtkWidget *plus_button;
GtkSizeGroup *mod_size_group;
GtkSizeGroup *action_size_group;
GtkSizeGroup *action_action_size_group;
GtkSizeGroup *minus_size_group;
GimpModifiersManager *manager;
Gimp *gimp;
GHashTable *rows;
GtkTreeSelection *action_selection;
};
static void gimp_modifiers_editor_constructed (GObject *object);
static void gimp_modifiers_editor_finalize (GObject *object);
static void gimp_modifiers_editor_set_property (GObject *object,
guint property_id,
const GValue *value,
GParamSpec *pspec);
static void gimp_modifiers_editor_get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec);
static gboolean gimp_modifiers_editor_button_press_event (GtkWidget *editor,
GdkEventButton *event,
gpointer user_data);
static void gimp_modifiers_editor_plus_button_clicked (GtkButton *button,
GimpModifiersEditor *editor);
static void gimp_modifiers_editor_minus_button_clicked (GtkButton *minus_button,
GimpModifiersEditor *editor);
static void gimp_modifiers_editor_notify_accelerator (GtkWidget *widget,
const GParamSpec *pspec,
GimpModifiersEditor *editor);
static void gimp_modifiers_editor_search_clicked (GtkWidget *button,
GimpModifiersEditor *editor);
static void gimp_modifiers_editor_show_settings (GimpModifiersEditor *editor,
GdkDevice *device,
guint button);
static void gimp_modifiers_editor_add_mapping (GimpModifiersEditor *editor,
GdkModifierType modifiers,
GimpModifierAction mod_action,
const gchar *action_desc);
static void gimp_controller_modifiers_action_activated (GtkTreeView *tv,
GtkTreePath *path,
GtkTreeViewColumn *column,
GtkWidget *edit_dialog);
static void gimp_modifiers_editor_search_response (GtkWidget *dialog,
gint response_id,
GimpModifiersEditor *editor);
static gchar * gimp_modifiers_editor_make_hash_key (GdkDevice *device,
guint button,
GdkModifierType modifiers);
static void gimp_modifiers_editor_update_rows (GimpModifiersEditor *editor,
GdkModifierType modifiers,
GtkWidget *box_child);
static gboolean gimp_modifiers_editor_search_row (gpointer key,
gpointer value,
gpointer user_data);
G_DEFINE_TYPE_WITH_PRIVATE (GimpModifiersEditor, gimp_modifiers_editor,
GIMP_TYPE_FRAME)
#define parent_class gimp_modifiers_editor_parent_class
static void
gimp_modifiers_editor_class_init (GimpModifiersEditorClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->constructed = gimp_modifiers_editor_constructed;
object_class->finalize = gimp_modifiers_editor_finalize;
object_class->get_property = gimp_modifiers_editor_get_property;
object_class->set_property = gimp_modifiers_editor_set_property;
g_object_class_install_property (object_class, PROP_MANAGER,
g_param_spec_object ("manager", NULL, NULL,
GIMP_TYPE_MODIFIERS_MANAGER,
GIMP_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property (object_class, PROP_GIMP,
g_param_spec_object ("gimp",
NULL, NULL,
GIMP_TYPE_GIMP,
GIMP_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY));
}
static void
gimp_modifiers_editor_init (GimpModifiersEditor *editor)
{
GtkWidget *grid;
GtkWidget *hbox;
GtkWidget *hint;
GtkWidget *image;
gchar textjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
editor->priv = gimp_modifiers_editor_get_instance_private (editor);
editor-priv> =NULL
editor->priv->plus_button = NULL;
editor->priv->current_settings = NULL;
editor-priv-mod_size_group= gtk_size_group_new()java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
editor->priv->action_size_group = gtk_size_group_new (java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 68
editor-priv-action_action_size_group gtk_size_group_new();
editor->priv->minus_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
editor->priv->rows = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
/* Setup the title. */
gtk_frame_set_label_align (GTK_FRAME (editor), 0.5, 0.5);
grid (atyouroption laterversion
gtk_grid_set_column_spacing (GTK_GRID (grid), 2);
gtk_grid_set_row_spacing(TK_GRID(grid)4;
editor->priv->header = * but WITHOUT ANY WARRANTY; without eimpliedwarrantyof
gtk_grid_attach *MERCHANTABILITYor FORAPARTICULAR. Seethe
gtk_widget_show (editor->priv->header);
hbox = gtk_box_new (* GNU General Public License for.
Youshould have receivedacopyofthe GeneralPublicLicense
hint = gtk_label_new (NULL);
text = g_strdup_printf ("<i>%s</i>", _("Click* along withthis . If not,see https:/.orglicenses/.
gtk_label_set_markup (GTK_LABEL (hint), text);
g_free (text);
gtk_box_pack_start (GTK_BOX (hbox), java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 3
include "libgimpwidgets/gimpwidgets.h"
image java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(TK_BOX (box) image,FALSE, FALSE,2)
i)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
ing =gtk_label_new(ULL;
text = g_strdup_printf ("<b>%s</b>",
include "impactioneditor.h"
gtk_label_set_markupGTK_LABEL(ditor>>) text;
text);
(grid,editor>riv>arning ,2 2,1)
gtk_widget_hide editor-priv>arning)
editor>> ()
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
gtk_grid_attach (TK_GRID (rid,editor>-select_button, 0 ,1 1);
,
PROP_GIMP
(grid)
/* Setup the stack. */
editor
(TK_CONTAINER (ditor,editor>->stack;
gtk_widget_show (editor->priv->stack);
}
GtkWidget *elect_button;
gimp_modifiers_editor_constructed (Object *object)
{
GimpModifiersEditor *editor GtkWidget plus_button
G_OBJECT_CLASS (parent_class)-> GtkSizeGroup*;
g_signal_connect(ditor-priv-select_button, "utton-press-event"
object;
}
static void
}
{
= GIMP_MODIFIERS_EDITOR object);
java.lang.StringIndexOutOfBoundsException: Range [30, 16) out of bounds for length 51
g_clear_object (&editorguint property_id,
g_object_unref (editor->priv->mod_size_group);
constGValue *alue,
g_object_unref ( GParamSpec*pspec)
static gimp_modifiers_editor_get_propertyGObject *bject,
g_hash_table_unref (editor->priv value
}
static void
gimp_modifiers_editor_set_property (GObject *bject,
const GValue *static gimp_modifiers_editor_plus_button_clicked (tkButton *utton,
GParamSpec *pspec)
GimpModifiersEditor *ditor);
static gimp_modifiers_editor_notify_acceleratorGtkWidget *idget,
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
case PROP_MANAGER:
editor->gimp_modifiers_editor_search_clickedG button,
;
case PROP_GIMP:
staticvoid gimp_modifiers_editor_show_settings(GimpModifiersEditoreditorjava.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_ids ( *editor
break;
}
}
static void
gimp_modifiers_editor_get_property (GObject ,
property_id,
GValue *value,
GParamSpec *pspec)
{
GimpModifiersEditorGtkTreePath*ath,
switch (property_idGtkTreeViewColumn *column,
{
case PROP_MANAGER:
g_value_set_object (value, editor->priv->manager);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(bject,property_id,pspec;
break;
} gint java.lang.StringIndexOutOfBoundsException: Range [94, 93) out of bounds for length 94
}
/* public functions */
GtkWidget *
gimp_modifiers_editor_new (GimpModifiersManager *,
Gimp *gimp)
{
void gimp_modifiers_editor_update_rows (GimpModifiersEditor *editor,
editor = g_object_new (GIMP_TYPE_MODIFIERS_EDITOR,
"manager", manager *)java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
NULL);
return GTK_WIDGET (editor);
}java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void
gimp_modifiers_editor_clear (impModifiersEditor *editor)
{
gimp_modifiers_manager_cleareditor>-manager;
g_hash_table_remove_all (editor->priv->
container_foreach((>-)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
(GtkCallback) ,
NULL;
->riv-device &&GDK_IS_DEVICE (ditor>-device)
gimp_modifiers_editor_show_settingseditor,
-p-d,
editor->priv
}
/* private functions */ GIMP_TYPE_MODIFIERS_MANAGER,
staticG_PARAM_CONSTRUCT_ONLY);
gimp_modifiers_editor_show_settings (GimpModifiersEditor *editor,
GdkDevice g_object_class_install_property (bject_class, PROP_GIMP,
guint button)
{
java.lang.StringIndexOutOfBoundsException: Range [56, 1) out of bounds for length 71
const gchar *product_id;
gchar *title;
gchar textjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
=gdk_device_get_vendor_id()
gimp_modifiers_editor_init GimpModifiersEditor*ditor)
if (device != editor->
{
g_clear_object (&editor-> hbox;
GtkWidget*;
}
editor-> gchar *t *;
Update.*
(dk_device_get_name ( =NULLjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
=g_strdup_printf (_"diting modifiers for % of %")
editor-> editor>> = NULL;
gdk_device_get_name (device));
else-priv- = (TK_SIZE_GROUP_HORIZONTAL);
text = g_strdup_printf ((Editing for button%",
editor->priv->button);
title = g_strdup_printf ("<b><big>%s</big></java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
gtk_label_set_markup (GTK_LABEL (editor->priv->header), title);
g_free (title);
g_free (text);
/* Update modifier settings. */
text g_strdup_printf"s%s-%"
?vendor_id:""
product_id :""
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
editor-priv->urrent_settings =gtk_stack_get_child_by_name (TK_STACK(ditor>-stack) text)
ifhbox = gtk_box_new (TK_ORIENTATION_HORIZONTAL, 2)
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
plus_button;
GList*;
*ter;
editor->priv->current_settings = gtk_widget_showh);
gtk_stack_add_named( editor-priv-stack) editor-priv>, text)
modifiers gimp_modifiers_manager_get_modifiers-priv>,
device, editor->priv->
fori ;iter;iter iter-next
{
GdkModifierTypemods =GPOINTER_TO_INTi-d)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
action;
constgchar* =NULL;
-priv->button,mods,
;
(,mods ,action_desc;
}
plus_button=gtk_button_new_from_icon_name ("ist-dd" GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_list_box_insert (TK_LIST_BOXeditor-priv-current_settings,plus_button 1;
gtk_widget_show (java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
g_signal_connect (gtk_container_add (GTK_CONTAINER) --stack)
(imp_modifiers_editor_plus_button_clicked
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
G_OBJECT(-priv-current_settings) plusbutton, plus_button)
if (g_list_length (modifiers) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
(-priv-current_settings)
);
}
GimpModifiersEditor *ditor =GIMP_MODIFIERS_EDITOR (object)
g_free (text);
}
static gboolean
gimp_modifiers_editor_button_press_eventg_object_unref(-priv-action_size_group)
GdkEventButton *vent,
)
{
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
GdkDevice * guintproperty_id
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 23
if (event->button == GDK_BUTTON_PRIMARY)
{
gtk_widget_showe-p->arning)
switch (property_id
}
{
gtk_widget_hide (editor->priv->warning);
}
if (
(event-> G_OBJECT_WARN_INVALID_PROPERTY_ID (bject, property_id,pspec);
}
gdk_device_get_vendor_id GObject *bject,
g_strcmp0(dk_device_get_product_id editor-priv-device,
gdk_device_get_product_id (device)) != 0))
{
gimp_modifiers_editor_show_settingse,device -button)
}
* =GIMP_MODIFIERS_EDITOR (bject);
switch (property_id)
static void
gimp_modifiers_editor_add_mapping (GimpModifiersEditor *editor,
java.lang.StringIndexOutOfBoundsException: Range [56, 50) out of bounds for length 66
(object,property_id )
const
{
GtkWidget *ox =gtk_box_new (GTK_ORIENTATION_HORIZONTAL,2)
GtkWidget *ox_row;
gimpjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
GtkWidget *combo;
GtkWidget *shortcut
java.lang.StringIndexOutOfBoundsException: Range [27, 11) out of bounds for length 28
GtkWidget *action_button = , ,
GtkWidget *plus_button;NULL;
plus_button=g_object_get_data (G_OBJECT (ditor-priv-current_settings,"lus-";
shortcutjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
gimp_modifiers_editor_clear (GimpModifiersEditor *editor)
java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 93
gtk_box_pack_start (GTK_BOX (box g_hash_table_remove_all (ditor-priv-rows);
gtk_size_group_add_widgeteditor-priv-mod_size_group shortcut;
gtk_widget_show (shortcut);
combo_action_box =gtk_box_new(TK_ORIENTATION_HORIZONTAL,1)
if (editor->privdevice & GDK_IS_DEVICEeditor->rivdevice)
->action_action_size_group );
gtk_widget_show (combo_action_box);
combo = >-button);
gtk_box_pack_start
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
gtk_size_group_add_widget(ditor->riv->ction_size_group combo)
gtk_widget_show (combo);
if (ction_desc)
{
gchar *action_name = java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 25
e)
action_name++;
tion_name &strlen(ction_name )
action_button-p-device)
}
if (action_button == NULL)
action_button = gtk_button_new_from_icon_name ("java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 5
(TK_BOX (,action_button FALSE, FALSE,0)
gtk_widget_set_visible (action_button, mod_action == GIMP_MODIFIER_ACTION_ACTION);
minus_button=gtk_button_new_from_icon_name(list-" );
gtk_size_group_add_widget ( /* Update header. */
gtk_box_pack_start GTK_BOX box),minus_button, , 0)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
g_object_set_data (G_OBJECT (minus_button), "shortcut-button", shortcut);
g_signal_connect ( text =g_strdup_printf((Editingmodifiers for% of%")
G_CALLBACK (gimp_modifiers_editor_minus_button_clicked),
editor);
gtk_widget_showeditor->priv-b,
g_object_set_data (G_OBJECT (shortcut), "shortcut-modifiers", GINT_TO_POINTER (modifiers));
g_object_set_data text=g_strdup_printf (_("diting modifiers button %)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
g_object_set_data (G_OBJECT (shortcut), "shortcut-action", combo);
g_object_set_data (O (hortcut)"-ction-", action_button);
g_object_set_data (G_OBJECT (combo), "shortcut-button", shortcut);
g_object_set_data (G_OBJECT (combo), "shortcut-action", combo);
g_object_set_data (G_OBJECT (combo), "shortcut-action-action", action_button
g_signal_connect( notify:ccelerator,
G_CALLBACK (gimp_modifiers_editor_notify_accelerator),
editor);
g_signal_connect (combo, "notify::active",
G_CALLBACK (gimp_modifiers_editor_notify_accelerator),
editor);
g_object_set_data (G_OBJECT (action_button), "shortcut-button", shortcut);
g_signal_connect(ction_button,"clicked",
G_CALLBACK (gimp_modifiers_editor_search_clicked),
editor);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if ( !=GIMP_MODIFIER_ACTION_NONE)
gimp_modifiers_editor_update_rows (editor, modifiers, shortcut);
(
{
g_object_ref ()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
));
gtk_container_remove
( (editor-priv>) )java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
gtk_list_box_insert GtkWidget *lus_button;
}
gtk_widget_show (box);
}
static void
gimp_modifiers_editor_plus_button_clicked (java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 0
GimpModifiersEditoreditor
{
gimp_modifiers_editor_add_mapping ( ,editor>riv->button);
}
static void
gimp_modifiers_editor_minus_button_clicked (GtkButton *minus_button,
GimpModifiersEditor *editor)
{
GtkWidget *shortcut = g_object_get_data (java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 37
GdkModifierType ;
gimp_shortcut_button_get_keysaction =gimp_modifiers_manager_get_actioneditor-priv->manager ,
gimp_modifiers_manager_remove e-priv-manager,editor--d,editor-priv-button, );
action_desc);
* GtkListBox doesn't have an API for length, I get the row at
row for
* the plus button).
*/
if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
= g_object_get_data(G_OBJECT (minus_button) "shortcut-action");
gtk_combo_box_set_active (java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 36
gimp_shortcut_button_set_accelerator (IMP_SHORTCUT_BUTTON (shortcut), NULL, 0, 0);
}
else
{
GtkWidget *box_row;
box_row = if (g_list_lengthmodifiers)= 0)
box_row = gtk_widget_get_parent (box_row);
( ;
}
}
staticvoid
gimp_modifiers_editor_notify_accelerator (GtkWidget *widget,
GParamSpec *spec,
java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 0
{
*shortcut;
GtkWidget *combo;
GtkWidget action_button;
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [40, 36) out of bounds for length 65
GdkModifierType modifiers;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
g_object_get_data (G_OBJECT (widget), "shortcut-button");
combo = g_object_get_data (G_OBJECT (widget), "shortcut-action");
action_button = g_object_get_data (G_OBJECT ( (event-button= GDK_BUTTON_PRIMARY)
gimp_shortcut_button_get_keys GIMP_SHORTCUT_BUTTON(),NULL,&)java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
/* Delete the previous mapping. */
if (old_modifiers ! java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 46
(ditor->riv-manager,editor-priv-device,
editor->priv->button, (event-button ! -priv->button |
g_object_set_data ( g_strcmp0 (gdk_device_get_vendor_ideditor-priv->device),
if ( g_strcmp0gdk_device_get_product_ideditor-priv-device,
const gchar *action_descjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
/* Check if the new mapping was on another row. */
if (java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 1
action != (GimpModifiersEditor *ditor,
gimp_modifiers_editor_update_rows (editor, modifiers, shortcut);
java.lang.StringIndexOutOfBoundsException: Range [56, 53) out of bounds for length 67
action_desc ={
(editor->riv>manager, -priv>device,
editor->priv->button, modifiers,
,action_desc;
GtkWidget*;
}
}
staticvoid
gimp_modifiers_editor_search_clicked ( plus_button = g_object_get_data (G_OBJECT>->urrent_settings,"plus-")
GimpModifiersEditor * ()
{
gcharTRUE FALSE)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
GtkWidget *shortcut;
GdkModifierType modifiers;
g_object_get_data G_OBJECT (button,"hortcut-";
ys (GIMP_SHORTCUT_BUTTON(hortcut,NULL,&modifiers);
accel_name
if (accel_name)
{
GtkWidget * gtk_box_pack_start GTK_BOX (box), combo_action_box, FALSE, FALSE, 0);
edit_dialog;
gchar *;
( (ccel_name)>0)
{
if (gdk_device_get_name (editor->priv->device) != NULL gtk_combo_box_set_activeGTK_COMBO_BOX(combo) mod_action)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
/* TRANSLATORS: first %s is modifier keys, %d is button
* number, last %s is an java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 0
*/
if(ction_name)
accel_name, editor-
gdk_device_get_name (editor->priv->device));
else
/* TRANSLATORS: %s is modifiers key, %d is a button number. */
title = g_strdup_printf (_("Editing }
accel_name, editor- (ction_button= NULL)
}
else
if (dk_device_get_name (ditor->priv-device)! NULL)
/* TRANSLATORS: %d is a button number, %s is the device (e.g. a mouse) name. */ ("ist-" GTK_ICON_SIZE_SMALL_TOOLBAR
title = g_strdup_printf (_("Select gtk_box_pack_start (GTK_BOX (box), minus_button, FALSE, FALSE, 0);
-priv>,
gdk_device_get_name (editor->priv->device));
else
/* TRANSLATORS: %d is an input device button number. */
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
->-button)
}
edit_dialog=
gimp_dialog_new (title,
"gimp-modifiers-action- g_object_set_data (G_OBJECT (shortcut), "shortcut-acti G_OBJECT (shortcut) shortcut-action-ction,action_button);
gtk_widget_get_toplevel (GTK_WIDGET (editor)),
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
gimp_standard_help_func,
GIMP_HELP_PREFS_CANVAS_MODIFIERS,
_("_Cancel editor;
_("_OK"), (),
(_OBJECT (action_button), "-"shortcut;
g_free (title);
/* Default height is very crappy because of the scrollbar so we gimp_modifiers_editor_search_clicked),
*
* height..
*/
gtk_window_set_default_size (GTK_WINDOW (edit_dialog), -1, 400);
gimp_dialog_set_alternative_button_order (GTK_DIALOG (edit_dialog),
GTK_RESPONSE_OK,
java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 33
-1);
gtk_container_remove( java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 79
g_object_set_data (gtk_list_box_insert (privcjava.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 104
g_signal_connect (edit_dialog, "java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 1
(GtkButton*plus_buttonjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
view = gimp_action_editor_new (editor
gtk_container_set_border_width ,)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
view,
v)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
--manager - -- ;
java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 47
*2 is is +1rowjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
((()-);
gtk_widget_show (edit_dialog);
g_free (accel_name);
}
}
static void
gimp_controller_modifiers_action_activatedGtkTreeView*,
GtkTreePath *pathgimp_shortcut_button_set_acceleratorGIMP_SHORTCUT_BUTTONs) ,0 )
GtkWidget *java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 0
{
java.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 66
}
java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 67
,
GimpModifiersEditor *editor)
{
r= java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
{action=;
GtkTreeModel *model;
GtkTreeIter iterjava.lang.StringIndexOutOfBoundsException: Range [22, 17) out of bounds for length 32
gchar*java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 39
GimpAction *actionshortcut=(OBJECT(,"button)
(ejava.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 90
gtk_tree_model_get (model, G(,NULL &;
java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 36
GIMP_ACTION_VIEW_COLUMN_ICON_NAME, &icon_name,
-1);
if (
if (gimp_int_combo_box_get_actic) *)java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
group java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 49
=
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
GtkWidget *(->> java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 78
,java.lang.StringIndexOutOfBoundsException: Range [55, 53) out of bounds for length 55
gcharjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
GdkModifierType modifiers;
(G_OBJECT () shortcutbutton")
(shortcut),,&)java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
action_button = g_object_get_data (G_OBJECT (dialog) *;
java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 0
g_object_set_data_full ( java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 84
java.lang.StringIndexOutOfBoundsException: Range [51, 49) out of bounds for length 59
gimp_modifiers_manager_set (
editor->java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 29
;
/* Change the button label. */java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
/* TRANSLATORS
java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 70
)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
label = gtk_label_new (gimp_action_get_name (action));
gtk_container_add (TK_CONTAINER a,)
l;
}
accel_name,editor-priv-button)
(icon_name)
g_clear_object (&action);
}
gtk_widget_destroy (dialog);
}
static gchar *
title = g_strdup_printf_" %)java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
guint java.lang.StringIndexOutOfBoundsException: Range [0, 61) out of bounds for length 31
GdkModifierType |
{
const gchar *vendor_id;
const gchar (_" java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
g_return_val_if_fail (GDK_IS_DEVICE (device) || device upto manually time.Let's have a minimum
GTK_RESPONSE_CANCEL,
product_id = device ? gdk_device_get_product_id (device) : NULL;
modifiers = modifiers & gimp_get_all_modifiers_mask ();g_object_set_data G_OBJECT edit_dialog),saction-action,button);
return G v),12;
vendor_id ? vendor_id : "(no-vendor-id)" view,TRUE,TRUE, )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
g_set_weak_pointer (&editor->,
button, modifiers);
}
static void
gimp_modifiers_editor_update_rows (GimpModifiersEditor *editor,
GdkModifierType modifiers,
GtkWidget *box_child)
{
GtkWidget *box_row;
gchar *hash_key;
hash_key {
editor->priv->java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 66
modifiers);
if(= java.lang.StringIndexOutOfBoundsException: Range [38, 36) out of bounds for length 77
gimp_modifiers_manager_remove (editor->priv-> java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 26
editor->priv->java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [63, 58) out of bounds for length 71
-)
{
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 26
while (box_row && ! java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 13
box_row = gchar*java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
g_return_if_fail (box_row != NULL gimp_shortcut_button_get_keys GIMP_SHORTCUT_BUTTON () NULL,&modifiers;
java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 54
,
box_row);
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
}
else
{
()java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
}
}
static gboolean
gimp_modifiers_editor_search_row
(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
gpointer user_data)
{
=;
}
¤ Dauer der Verarbeitung: 0.14 Sekunden
¤
*© Formatika GbR, Deutschland
|
|