diff --git a/actiondb.cc b/actiondb.cc index 6b35f47c..d76192df 100644 --- a/actiondb.cc +++ b/actiondb.cc @@ -119,14 +119,9 @@ template void StrokeInfo::serialize(Archive & ar, const unsigned using namespace std; void Command::run() { - pid_t pid = fork(); - switch (pid) { - case 0: - execlp("/bin/sh", "sh", "-c", cmd.c_str(), nullptr); - exit(1); - case -1: - printf(_("Error: can't execute command \"%s\": fork() failed\n"), cmd.c_str()); - } + gchar* argv[] = {(gchar*) "/bin/sh", (gchar*) "-c", NULL, NULL}; + argv[2] = (gchar *) cmd.c_str(); + g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); } ButtonInfo Button::get_button_info() const { diff --git a/actions.cc b/actions.cc index 45c03761..399e33a8 100644 --- a/actions.cc +++ b/actions.cc @@ -51,10 +51,11 @@ void TreeViewMulti::on_drag_begin(const Glib::RefPtr &context) context->set_icon(pb, pb->get_width(), pb->get_height()); } -bool negate(bool b) { return !b; } - TreeViewMulti::TreeViewMulti() : Gtk::TreeView(), pending(false) { - get_selection()->set_select_function(sigc::group(&negate, sigc::ref(pending))); + get_selection()->set_select_function( + [this](Glib::RefPtr const&, Gtk::TreeModel::Path const&, bool) { + return !pending; + }); } enum Type { COMMAND, KEY, TEXT, SCROLL, IGNORE, BUTTON, MISC }; @@ -474,7 +475,7 @@ void Actions::on_type_edited(const Glib::ustring &path, const Glib::ustring &new update_actions(); } editing_new = false; - focus(row[cols.id], 3, edit); + if (new_type != MISC) focus(row[cols.id], 3, edit); } void Actions::on_button_delete() { diff --git a/cellrenderertextish.c b/cellrenderertextish.c index e9f4f59e..5bd8b720 100644 --- a/cellrenderertextish.c +++ b/cellrenderertextish.c @@ -1,8 +1,9 @@ -/* cellrenderertextish.c generated by valac 0.18.1, the Vala compiler +/* cellrenderertextish.c generated by valac 0.40.23, the Vala compiler * generated from cellrenderertextish.vala, do not modify */ /* compile with valac -c cellrenderertextish.vala --pkg gtk+-3.0 -C -H cellrenderertextish.h */ + #include #include #include @@ -22,8 +23,20 @@ typedef struct _CellRendererTextish CellRendererTextish; typedef struct _CellRendererTextishClass CellRendererTextishClass; typedef struct _CellRendererTextishPrivate CellRendererTextishPrivate; +typedef enum { + CELL_RENDERER_TEXTISH_MODE_Text, + CELL_RENDERER_TEXTISH_MODE_Key, + CELL_RENDERER_TEXTISH_MODE_Popup, + CELL_RENDERER_TEXTISH_MODE_Combo +} CellRendererTextishMode; + #define CELL_RENDERER_TEXTISH_TYPE_MODE (cell_renderer_textish_mode_get_type ()) +enum { + CELL_RENDERER_TEXTISH_0_PROPERTY, + CELL_RENDERER_TEXTISH_NUM_PROPERTIES +}; +static GParamSpec* cell_renderer_textish_properties[CELL_RENDERER_TEXTISH_NUM_PROPERTIES]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define TYPE_CELL_EDITABLE_ACCEL (cell_editable_accel_get_type ()) @@ -55,19 +68,35 @@ typedef struct _CellEditableComboClass CellEditableComboClass; typedef struct _CellEditableDummy CellEditableDummy; typedef struct _CellEditableDummyClass CellEditableDummyClass; +enum { + CELL_RENDERER_TEXTISH_KEY_EDITED_SIGNAL, + CELL_RENDERER_TEXTISH_COMBO_EDITED_SIGNAL, + CELL_RENDERER_TEXTISH_NUM_SIGNALS +}; +static guint cell_renderer_textish_signals[CELL_RENDERER_TEXTISH_NUM_SIGNALS] = {0}; typedef struct _CellEditableDummyPrivate CellEditableDummyPrivate; +enum { + CELL_EDITABLE_DUMMY_0_PROPERTY, + CELL_EDITABLE_DUMMY_EDITING_CANCELED_PROPERTY, + CELL_EDITABLE_DUMMY_NUM_PROPERTIES +}; +static GParamSpec* cell_editable_dummy_properties[CELL_EDITABLE_DUMMY_NUM_PROPERTIES]; typedef struct _CellEditableAccelPrivate CellEditableAccelPrivate; +enum { + CELL_EDITABLE_ACCEL_0_PROPERTY, + CELL_EDITABLE_ACCEL_EDITING_CANCELED_PROPERTY, + CELL_EDITABLE_ACCEL_NUM_PROPERTIES +}; +static GParamSpec* cell_editable_accel_properties[CELL_EDITABLE_ACCEL_NUM_PROPERTIES]; #define _g_free0(var) (var = (g_free (var), NULL)) typedef struct _CellEditableComboPrivate CellEditableComboPrivate; +enum { + CELL_EDITABLE_COMBO_0_PROPERTY, + CELL_EDITABLE_COMBO_NUM_PROPERTIES +}; +static GParamSpec* cell_editable_combo_properties[CELL_EDITABLE_COMBO_NUM_PROPERTIES]; typedef struct _Block1Data Block1Data; -typedef enum { - CELL_RENDERER_TEXTISH_MODE_Text, - CELL_RENDERER_TEXTISH_MODE_Key, - CELL_RENDERER_TEXTISH_MODE_Popup, - CELL_RENDERER_TEXTISH_MODE_Combo -} CellRendererTextishMode; - struct _CellRendererTextish { GtkCellRendererText parent_instance; CellRendererTextishPrivate * priv; @@ -121,6 +150,7 @@ struct _CellEditableCombo { struct _CellEditableComboClass { GtkComboBoxTextClass parent_class; + void (*start_editing) (CellEditableCombo* self, GdkEvent* event); }; struct _CellEditableComboPrivate { @@ -130,7 +160,7 @@ struct _CellEditableComboPrivate { struct _Block1Data { int _ref_count_; - CellEditableCombo * self; + CellEditableCombo* self; CellRendererTextish* parent; gchar* path; }; @@ -138,77 +168,131 @@ struct _Block1Data { static gpointer cell_renderer_textish_parent_class = NULL; static gpointer cell_editable_dummy_parent_class = NULL; -static GtkCellEditableIface* cell_editable_dummy_gtk_cell_editable_parent_iface = NULL; +static GtkCellEditableIface * cell_editable_dummy_gtk_cell_editable_parent_iface = NULL; static gpointer cell_editable_accel_parent_class = NULL; -static GtkCellEditableIface* cell_editable_accel_gtk_cell_editable_parent_iface = NULL; +static GtkCellEditableIface * cell_editable_accel_gtk_cell_editable_parent_iface = NULL; static gpointer cell_editable_combo_parent_class = NULL; +static GtkCellEditableIface * cell_editable_combo_gtk_cell_editable_parent_iface = NULL; GType cell_renderer_textish_get_type (void) G_GNUC_CONST; GType cell_renderer_textish_mode_get_type (void) G_GNUC_CONST; #define CELL_RENDERER_TEXTISH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CELL_RENDERER_TEXTISH, CellRendererTextishPrivate)) -enum { - CELL_RENDERER_TEXTISH_DUMMY_PROPERTY -}; CellRendererTextish* cell_renderer_textish_new (void); CellRendererTextish* cell_renderer_textish_construct (GType object_type); -CellRendererTextish* cell_renderer_textish_new_with_items (gchar** items, int items_length1); -CellRendererTextish* cell_renderer_textish_construct_with_items (GType object_type, gchar** items, int items_length1); -static gchar** _vala_array_dup1 (gchar** self, int length); -static GtkCellEditable* cell_renderer_textish_real_start_editing (GtkCellRenderer* base, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags); -CellEditableAccel* cell_editable_accel_new (CellRendererTextish* parent, const gchar* path, GtkWidget* widget); -CellEditableAccel* cell_editable_accel_construct (GType object_type, CellRendererTextish* parent, const gchar* path, GtkWidget* widget); +CellRendererTextish* cell_renderer_textish_new_with_items (gchar** items, + int items_length1); +CellRendererTextish* cell_renderer_textish_construct_with_items (GType object_type, + gchar** items, + int items_length1); +static gchar** _vala_array_dup1 (gchar** self, + int length); +static GtkCellEditable* cell_renderer_textish_real_start_editing (GtkCellRenderer* base, + GdkEvent* event, + GtkWidget* widget, + const gchar* path, + GdkRectangle* background_area, + GdkRectangle* cell_area, + GtkCellRendererState flags); +CellEditableAccel* cell_editable_accel_new (CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget); +CellEditableAccel* cell_editable_accel_construct (GType object_type, + CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget); GType cell_editable_accel_get_type (void) G_GNUC_CONST; -CellEditableCombo* cell_editable_combo_new (CellRendererTextish* parent, const gchar* path, GtkWidget* widget, gchar** items, int items_length1); -CellEditableCombo* cell_editable_combo_construct (GType object_type, CellRendererTextish* parent, const gchar* path, GtkWidget* widget, gchar** items, int items_length1); +CellEditableCombo* cell_editable_combo_new (CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget, + gchar** items, + int items_length1); +CellEditableCombo* cell_editable_combo_construct (GType object_type, + CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget, + gchar** items, + int items_length1); GType cell_editable_combo_get_type (void) G_GNUC_CONST; CellEditableDummy* cell_editable_dummy_new (void); CellEditableDummy* cell_editable_dummy_construct (GType object_type); GType cell_editable_dummy_get_type (void) G_GNUC_CONST; -static void g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); -static void g_cclosure_user_marshal_VOID__STRING_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); -static void cell_renderer_textish_finalize (GObject* obj); +static void g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT (GClosure * closure, + GValue * return_value, + guint n_param_values, + const GValue * param_values, + gpointer invocation_hint, + gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__STRING_UINT (GClosure * closure, + GValue * return_value, + guint n_param_values, + const GValue * param_values, + gpointer invocation_hint, + gpointer marshal_data); +static void cell_renderer_textish_finalize (GObject * obj); #define CELL_EDITABLE_DUMMY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CELL_EDITABLE_DUMMY, CellEditableDummyPrivate)) -enum { - CELL_EDITABLE_DUMMY_DUMMY_PROPERTY, - CELL_EDITABLE_DUMMY_EDITING_CANCELED -}; -void cell_editable_dummy_start_editing (CellEditableDummy* self, GdkEvent* event); -static void cell_editable_dummy_real_start_editing (CellEditableDummy* self, GdkEvent* event); +void cell_editable_dummy_start_editing (CellEditableDummy* self, + GdkEvent* event); +static void cell_editable_dummy_real_start_editing (CellEditableDummy* self, + GdkEvent* event); gboolean cell_editable_dummy_get_editing_canceled (CellEditableDummy* self); -void cell_editable_dummy_set_editing_canceled (CellEditableDummy* self, gboolean value); -static void cell_editable_dummy_finalize (GObject* obj); -static void _vala_cell_editable_dummy_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); -static void _vala_cell_editable_dummy_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +void cell_editable_dummy_set_editing_canceled (CellEditableDummy* self, + gboolean value); +static void cell_editable_dummy_finalize (GObject * obj); +static void _vala_cell_editable_dummy_get_property (GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec); +static void _vala_cell_editable_dummy_set_property (GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec); #define CELL_EDITABLE_ACCEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CELL_EDITABLE_ACCEL, CellEditableAccelPrivate)) -enum { - CELL_EDITABLE_ACCEL_DUMMY_PROPERTY, - CELL_EDITABLE_ACCEL_EDITING_CANCELED -}; static void cell_editable_accel_on_editing_done (CellEditableAccel* self); -static void _cell_editable_accel_on_editing_done_gtk_cell_editable_editing_done (GtkCellEditable* _sender, gpointer self); -void cell_editable_accel_start_editing (CellEditableAccel* self, GdkEvent* event); -static void cell_editable_accel_real_start_editing (CellEditableAccel* self, GdkEvent* event); -static gboolean cell_editable_accel_on_key (CellEditableAccel* self, GdkEventKey* event); -static gboolean _cell_editable_accel_on_key_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); +static void _cell_editable_accel_on_editing_done_gtk_cell_editable_editing_done (GtkCellEditable* _sender, + gpointer self); +void cell_editable_accel_start_editing (CellEditableAccel* self, + GdkEvent* event); +static void cell_editable_accel_real_start_editing (CellEditableAccel* self, + GdkEvent* event); +static gboolean cell_editable_accel_on_key (CellEditableAccel* self, + GdkEventKey* event); +static gboolean _cell_editable_accel_on_key_gtk_widget_key_press_event (GtkWidget* _sender, + GdkEventKey* event, + gpointer self); gboolean cell_editable_accel_get_editing_canceled (CellEditableAccel* self); -void cell_editable_accel_set_editing_canceled (CellEditableAccel* self, gboolean value); -static void cell_editable_accel_finalize (GObject* obj); -static void _vala_cell_editable_accel_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); -static void _vala_cell_editable_accel_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +void cell_editable_accel_set_editing_canceled (CellEditableAccel* self, + gboolean value); +static void cell_editable_accel_finalize (GObject * obj); +static void _vala_cell_editable_accel_get_property (GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec); +static void _vala_cell_editable_accel_set_property (GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec); #define CELL_EDITABLE_COMBO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CELL_EDITABLE_COMBO, CellEditableComboPrivate)) -enum { - CELL_EDITABLE_COMBO_DUMMY_PROPERTY -}; static Block1Data* block1_data_ref (Block1Data* _data1_); static void block1_data_unref (void * _userdata_); -static void __lambda2_ (Block1Data* _data1_); -static void ___lambda2__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); -static void cell_editable_combo_finalize (GObject* obj); -static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); -static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); - - -GType cell_renderer_textish_mode_get_type (void) { +static void __lambda4_ (Block1Data* _data1_); +static void ___lambda4__gtk_combo_box_changed (GtkComboBox* _sender, + gpointer self); +void cell_editable_combo_start_editing (CellEditableCombo* self, + GdkEvent* event); +static void cell_editable_combo_real_start_editing (CellEditableCombo* self, + GdkEvent* event); +static void cell_editable_combo_finalize (GObject * obj); +static void _vala_array_destroy (gpointer array, + gint array_length, + GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, + gint array_length, + GDestroyNotify destroy_func); + + +GType +cell_renderer_textish_mode_get_type (void) +{ static volatile gsize cell_renderer_textish_mode_type_id__volatile = 0; if (g_once_init_enter (&cell_renderer_textish_mode_type_id__volatile)) { static const GEnumValue values[] = {{CELL_RENDERER_TEXTISH_MODE_Text, "CELL_RENDERER_TEXTISH_MODE_Text", "text"}, {CELL_RENDERER_TEXTISH_MODE_Key, "CELL_RENDERER_TEXTISH_MODE_Key", "key"}, {CELL_RENDERER_TEXTISH_MODE_Popup, "CELL_RENDERER_TEXTISH_MODE_Popup", "popup"}, {CELL_RENDERER_TEXTISH_MODE_Combo, "CELL_RENDERER_TEXTISH_MODE_Combo", "combo"}, {0, NULL, NULL}}; @@ -220,7 +304,9 @@ GType cell_renderer_textish_mode_get_type (void) { } -CellRendererTextish* cell_renderer_textish_construct (GType object_type) { +CellRendererTextish* +cell_renderer_textish_construct (GType object_type) +{ CellRendererTextish * self = NULL; self = (CellRendererTextish*) g_object_new (object_type, NULL); self->mode = CELL_RENDERER_TEXTISH_MODE_Text; @@ -233,12 +319,17 @@ CellRendererTextish* cell_renderer_textish_construct (GType object_type) { } -CellRendererTextish* cell_renderer_textish_new (void) { +CellRendererTextish* +cell_renderer_textish_new (void) +{ return cell_renderer_textish_construct (TYPE_CELL_RENDERER_TEXTISH); } -static gchar** _vala_array_dup1 (gchar** self, int length) { +static gchar** +_vala_array_dup1 (gchar** self, + int length) +{ gchar** result; int i; result = g_new0 (gchar*, length + 1); @@ -251,44 +342,57 @@ static gchar** _vala_array_dup1 (gchar** self, int length) { } -CellRendererTextish* cell_renderer_textish_construct_with_items (GType object_type, gchar** items, int items_length1) { +CellRendererTextish* +cell_renderer_textish_construct_with_items (GType object_type, + gchar** items, + int items_length1) +{ CellRendererTextish * self = NULL; gchar** _tmp0_; gint _tmp0__length1; - gchar** _tmp1_; - gint _tmp1__length1; self = (CellRendererTextish*) g_object_new (object_type, NULL); self->mode = CELL_RENDERER_TEXTISH_MODE_Text; _g_object_unref0 (self->priv->cell); self->priv->cell = NULL; - _tmp0_ = items; + _tmp0_ = (items != NULL) ? _vala_array_dup1 (items, items_length1) : ((gpointer) items); _tmp0__length1 = items_length1; - _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup1 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); - _tmp1__length1 = _tmp0__length1; self->items = (_vala_array_free (self->items, self->items_length1, (GDestroyNotify) g_free), NULL); - self->items = _tmp1_; - self->items_length1 = _tmp1__length1; + self->items = _tmp0_; + self->items_length1 = _tmp0__length1; return self; } -CellRendererTextish* cell_renderer_textish_new_with_items (gchar** items, int items_length1) { +CellRendererTextish* +cell_renderer_textish_new_with_items (gchar** items, + int items_length1) +{ return cell_renderer_textish_construct_with_items (TYPE_CELL_RENDERER_TEXTISH, items, items_length1); } -static gpointer _g_object_ref0 (gpointer self) { +static gpointer +_g_object_ref0 (gpointer self) +{ return self ? g_object_ref (self) : NULL; } -static GtkCellEditable* cell_renderer_textish_real_start_editing (GtkCellRenderer* base, GdkEvent* event, GtkWidget* widget, const gchar* path, GdkRectangle* background_area, GdkRectangle* cell_area, GtkCellRendererState flags) { +static GtkCellEditable* +cell_renderer_textish_real_start_editing (GtkCellRenderer* base, + GdkEvent* event, + GtkWidget* widget, + const gchar* path, + GdkRectangle* background_area, + GdkRectangle* cell_area, + GtkCellRendererState flags) +{ CellRendererTextish * self; GtkCellEditable* result = NULL; - gboolean _tmp0_ = FALSE; + gboolean _tmp0_; gboolean _tmp1_; CellRendererTextishMode _tmp3_; - GtkCellEditable* _tmp20_; + GtkCellEditable* _tmp12_; self = (CellRendererTextish*) base; g_return_val_if_fail (widget != NULL, NULL); g_return_val_if_fail (path != NULL, NULL); @@ -308,76 +412,67 @@ static GtkCellEditable* cell_renderer_textish_real_start_editing (GtkCellRendere switch (_tmp3_) { case CELL_RENDERER_TEXTISH_MODE_Text: { - GdkEvent* _tmp4_; - GtkWidget* _tmp5_; - const gchar* _tmp6_; - GdkRectangle _tmp7_; - GdkRectangle _tmp8_; - GtkCellRendererState _tmp9_; - GtkCellEditable* _tmp10_ = NULL; - GtkCellEditable* _tmp11_; - _tmp4_ = event; - _tmp5_ = widget; - _tmp6_ = path; - _tmp7_ = *background_area; - _tmp8_ = *cell_area; - _tmp9_ = flags; - _tmp10_ = GTK_CELL_RENDERER_CLASS (cell_renderer_textish_parent_class)->start_editing ((GtkCellRenderer*) G_TYPE_CHECK_INSTANCE_CAST (self, GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererText), _tmp4_, _tmp5_, _tmp6_, &_tmp7_, &_tmp8_, _tmp9_); - _tmp11_ = _g_object_ref0 (_tmp10_); + GdkRectangle _tmp4_; + GdkRectangle _tmp5_; + GtkCellEditable* _tmp6_; + GtkCellEditable* _tmp7_; + _tmp4_ = *background_area; + _tmp5_ = *cell_area; + _tmp6_ = GTK_CELL_RENDERER_CLASS (cell_renderer_textish_parent_class)->start_editing ((GtkCellRenderer*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_cell_renderer_text_get_type (), GtkCellRendererText), event, widget, path, &_tmp4_, &_tmp5_, flags); + _tmp7_ = _g_object_ref0 (_tmp6_); _g_object_unref0 (self->priv->cell); - self->priv->cell = _tmp11_; + self->priv->cell = _tmp7_; break; } case CELL_RENDERER_TEXTISH_MODE_Key: { - const gchar* _tmp12_; - GtkWidget* _tmp13_; - CellEditableAccel* _tmp14_; - _tmp12_ = path; - _tmp13_ = widget; - _tmp14_ = cell_editable_accel_new (self, _tmp12_, _tmp13_); - g_object_ref_sink (_tmp14_); + CellEditableAccel* _tmp8_; + _tmp8_ = cell_editable_accel_new (self, path, widget); + g_object_ref_sink (_tmp8_); _g_object_unref0 (self->priv->cell); - self->priv->cell = (GtkCellEditable*) _tmp14_; + self->priv->cell = (GtkCellEditable*) _tmp8_; break; } case CELL_RENDERER_TEXTISH_MODE_Combo: { - const gchar* _tmp15_; - GtkWidget* _tmp16_; - gchar** _tmp17_; - gint _tmp17__length1; - CellEditableCombo* _tmp18_; - _tmp15_ = path; - _tmp16_ = widget; - _tmp17_ = self->items; - _tmp17__length1 = self->items_length1; - _tmp18_ = cell_editable_combo_new (self, _tmp15_, _tmp16_, _tmp17_, _tmp17__length1); - g_object_ref_sink (_tmp18_); + gchar** _tmp9_; + gint _tmp9__length1; + CellEditableCombo* _tmp10_; + _tmp9_ = self->items; + _tmp9__length1 = self->items_length1; + _tmp10_ = cell_editable_combo_new (self, path, widget, _tmp9_, _tmp9__length1); + g_object_ref_sink (_tmp10_); _g_object_unref0 (self->priv->cell); - self->priv->cell = (GtkCellEditable*) _tmp18_; + self->priv->cell = (GtkCellEditable*) _tmp10_; break; } case CELL_RENDERER_TEXTISH_MODE_Popup: { - CellEditableDummy* _tmp19_; - _tmp19_ = cell_editable_dummy_new (); - g_object_ref_sink (_tmp19_); + CellEditableDummy* _tmp11_; + _tmp11_ = cell_editable_dummy_new (); + g_object_ref_sink (_tmp11_); _g_object_unref0 (self->priv->cell); - self->priv->cell = (GtkCellEditable*) _tmp19_; + self->priv->cell = (GtkCellEditable*) _tmp11_; break; } default: break; } - _tmp20_ = self->priv->cell; - result = _tmp20_; + _tmp12_ = self->priv->cell; + result = _tmp12_; return result; } -static void g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { - typedef void (*GMarshalFunc_VOID__STRING_FLAGS_UINT) (gpointer data1, const char* arg_1, gint arg_2, guint arg_3, gpointer data2); +static void +g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT (GClosure * closure, + GValue * return_value, + guint n_param_values, + const GValue * param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__STRING_FLAGS_UINT) (gpointer data1, const char* arg_1, guint arg_2, guint arg_3, gpointer data2); register GMarshalFunc_VOID__STRING_FLAGS_UINT callback; register GCClosure * cc; register gpointer data1; @@ -396,7 +491,14 @@ static void g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT (GClosure * closure, } -static void g_cclosure_user_marshal_VOID__STRING_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { +static void +g_cclosure_user_marshal_VOID__STRING_UINT (GClosure * closure, + GValue * return_value, + guint n_param_values, + const GValue * param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ typedef void (*GMarshalFunc_VOID__STRING_UINT) (gpointer data1, const char* arg_1, guint arg_2, gpointer data2); register GMarshalFunc_VOID__STRING_UINT callback; register GCClosure * cc; @@ -416,22 +518,28 @@ static void g_cclosure_user_marshal_VOID__STRING_UINT (GClosure * closure, GValu } -static void cell_renderer_textish_class_init (CellRendererTextishClass * klass) { +static void +cell_renderer_textish_class_init (CellRendererTextishClass * klass) +{ cell_renderer_textish_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (CellRendererTextishPrivate)); - GTK_CELL_RENDERER_CLASS (klass)->start_editing = cell_renderer_textish_real_start_editing; + ((GtkCellRendererClass *) klass)->start_editing = (GtkCellEditable* (*) (GtkCellRenderer*, GdkEvent*, GtkWidget*, const gchar*, GdkRectangle*, GdkRectangle*, GtkCellRendererState)) cell_renderer_textish_real_start_editing; G_OBJECT_CLASS (klass)->finalize = cell_renderer_textish_finalize; - g_signal_new ("key_edited", TYPE_CELL_RENDERER_TEXTISH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT, G_TYPE_NONE, 3, G_TYPE_STRING, gdk_modifier_type_get_type (), G_TYPE_UINT); - g_signal_new ("combo_edited", TYPE_CELL_RENDERER_TEXTISH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_UINT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_UINT); + cell_renderer_textish_signals[CELL_RENDERER_TEXTISH_KEY_EDITED_SIGNAL] = g_signal_new ("key-edited", TYPE_CELL_RENDERER_TEXTISH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_FLAGS_UINT, G_TYPE_NONE, 3, G_TYPE_STRING, gdk_modifier_type_get_type (), G_TYPE_UINT); + cell_renderer_textish_signals[CELL_RENDERER_TEXTISH_COMBO_EDITED_SIGNAL] = g_signal_new ("combo-edited", TYPE_CELL_RENDERER_TEXTISH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_UINT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_UINT); } -static void cell_renderer_textish_instance_init (CellRendererTextish * self) { +static void +cell_renderer_textish_instance_init (CellRendererTextish * self) +{ self->priv = CELL_RENDERER_TEXTISH_GET_PRIVATE (self); } -static void cell_renderer_textish_finalize (GObject* obj) { +static void +cell_renderer_textish_finalize (GObject * obj) +{ CellRendererTextish * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CELL_RENDERER_TEXTISH, CellRendererTextish); self->items = (_vala_array_free (self->items, self->items_length1, (GDestroyNotify) g_free), NULL); @@ -440,43 +548,57 @@ static void cell_renderer_textish_finalize (GObject* obj) { } -GType cell_renderer_textish_get_type (void) { +GType +cell_renderer_textish_get_type (void) +{ static volatile gsize cell_renderer_textish_type_id__volatile = 0; if (g_once_init_enter (&cell_renderer_textish_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CellRendererTextishClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) cell_renderer_textish_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CellRendererTextish), 0, (GInstanceInitFunc) cell_renderer_textish_instance_init, NULL }; GType cell_renderer_textish_type_id; - cell_renderer_textish_type_id = g_type_register_static (GTK_TYPE_CELL_RENDERER_TEXT, "CellRendererTextish", &g_define_type_info, 0); + cell_renderer_textish_type_id = g_type_register_static (gtk_cell_renderer_text_get_type (), "CellRendererTextish", &g_define_type_info, 0); g_once_init_leave (&cell_renderer_textish_type_id__volatile, cell_renderer_textish_type_id); } return cell_renderer_textish_type_id__volatile; } -static void cell_editable_dummy_real_start_editing (CellEditableDummy* self, GdkEvent* event) { +static void +cell_editable_dummy_real_start_editing (CellEditableDummy* self, + GdkEvent* event) +{ gtk_cell_editable_editing_done ((GtkCellEditable*) self); gtk_cell_editable_remove_widget ((GtkCellEditable*) self); } -void cell_editable_dummy_start_editing (CellEditableDummy* self, GdkEvent* event) { +void +cell_editable_dummy_start_editing (CellEditableDummy* self, + GdkEvent* event) +{ g_return_if_fail (self != NULL); CELL_EDITABLE_DUMMY_GET_CLASS (self)->start_editing (self, event); } -CellEditableDummy* cell_editable_dummy_construct (GType object_type) { +CellEditableDummy* +cell_editable_dummy_construct (GType object_type) +{ CellEditableDummy * self = NULL; self = (CellEditableDummy*) g_object_new (object_type, NULL); return self; } -CellEditableDummy* cell_editable_dummy_new (void) { +CellEditableDummy* +cell_editable_dummy_new (void) +{ return cell_editable_dummy_construct (TYPE_CELL_EDITABLE_DUMMY); } -gboolean cell_editable_dummy_get_editing_canceled (CellEditableDummy* self) { +gboolean +cell_editable_dummy_get_editing_canceled (CellEditableDummy* self) +{ gboolean result; gboolean _tmp0_; g_return_val_if_fail (self != NULL, FALSE); @@ -486,63 +608,81 @@ gboolean cell_editable_dummy_get_editing_canceled (CellEditableDummy* self) { } -void cell_editable_dummy_set_editing_canceled (CellEditableDummy* self, gboolean value) { - gboolean _tmp0_; +void +cell_editable_dummy_set_editing_canceled (CellEditableDummy* self, + gboolean value) +{ g_return_if_fail (self != NULL); - _tmp0_ = value; - self->priv->_editing_canceled = _tmp0_; - g_object_notify ((GObject *) self, "editing-canceled"); + if (cell_editable_dummy_get_editing_canceled (self) != value) { + self->priv->_editing_canceled = value; + g_object_notify_by_pspec ((GObject *) self, cell_editable_dummy_properties[CELL_EDITABLE_DUMMY_EDITING_CANCELED_PROPERTY]); + } } -static void cell_editable_dummy_class_init (CellEditableDummyClass * klass) { +static void +cell_editable_dummy_class_init (CellEditableDummyClass * klass) +{ cell_editable_dummy_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (CellEditableDummyPrivate)); - CELL_EDITABLE_DUMMY_CLASS (klass)->start_editing = cell_editable_dummy_real_start_editing; + ((CellEditableDummyClass *) klass)->start_editing = (void (*) (CellEditableDummy*, GdkEvent*)) cell_editable_dummy_real_start_editing; G_OBJECT_CLASS (klass)->get_property = _vala_cell_editable_dummy_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_cell_editable_dummy_set_property; G_OBJECT_CLASS (klass)->finalize = cell_editable_dummy_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), CELL_EDITABLE_DUMMY_EDITING_CANCELED, g_param_spec_boolean ("editing-canceled", "editing-canceled", "editing-canceled", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), CELL_EDITABLE_DUMMY_EDITING_CANCELED_PROPERTY, cell_editable_dummy_properties[CELL_EDITABLE_DUMMY_EDITING_CANCELED_PROPERTY] = g_param_spec_boolean ("editing-canceled", "editing-canceled", "editing-canceled", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); } -static void cell_editable_dummy_gtk_cell_editable_interface_init (GtkCellEditableIface * iface) { +static void +cell_editable_dummy_gtk_cell_editable_interface_init (GtkCellEditableIface * iface) +{ cell_editable_dummy_gtk_cell_editable_parent_iface = g_type_interface_peek_parent (iface); - iface->start_editing = (void (*)(GtkCellEditable*, GdkEvent*)) cell_editable_dummy_start_editing; + iface->start_editing = (void (*) (GtkCellEditable*, GdkEvent*)) cell_editable_dummy_start_editing; } -static void cell_editable_dummy_instance_init (CellEditableDummy * self) { +static void +cell_editable_dummy_instance_init (CellEditableDummy * self) +{ self->priv = CELL_EDITABLE_DUMMY_GET_PRIVATE (self); } -static void cell_editable_dummy_finalize (GObject* obj) { +static void +cell_editable_dummy_finalize (GObject * obj) +{ CellEditableDummy * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CELL_EDITABLE_DUMMY, CellEditableDummy); G_OBJECT_CLASS (cell_editable_dummy_parent_class)->finalize (obj); } -GType cell_editable_dummy_get_type (void) { +GType +cell_editable_dummy_get_type (void) +{ static volatile gsize cell_editable_dummy_type_id__volatile = 0; if (g_once_init_enter (&cell_editable_dummy_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CellEditableDummyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) cell_editable_dummy_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CellEditableDummy), 0, (GInstanceInitFunc) cell_editable_dummy_instance_init, NULL }; static const GInterfaceInfo gtk_cell_editable_info = { (GInterfaceInitFunc) cell_editable_dummy_gtk_cell_editable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType cell_editable_dummy_type_id; - cell_editable_dummy_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "CellEditableDummy", &g_define_type_info, 0); - g_type_add_interface_static (cell_editable_dummy_type_id, GTK_TYPE_CELL_EDITABLE, >k_cell_editable_info); + cell_editable_dummy_type_id = g_type_register_static (gtk_event_box_get_type (), "CellEditableDummy", &g_define_type_info, 0); + g_type_add_interface_static (cell_editable_dummy_type_id, gtk_cell_editable_get_type (), >k_cell_editable_info); g_once_init_leave (&cell_editable_dummy_type_id__volatile, cell_editable_dummy_type_id); } return cell_editable_dummy_type_id__volatile; } -static void _vala_cell_editable_dummy_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { +static void +_vala_cell_editable_dummy_get_property (GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec) +{ CellEditableDummy * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CELL_EDITABLE_DUMMY, CellEditableDummy); switch (property_id) { - case CELL_EDITABLE_DUMMY_EDITING_CANCELED: + case CELL_EDITABLE_DUMMY_EDITING_CANCELED_PROPERTY: g_value_set_boolean (value, cell_editable_dummy_get_editing_canceled (self)); break; default: @@ -552,11 +692,16 @@ static void _vala_cell_editable_dummy_get_property (GObject * object, guint prop } -static void _vala_cell_editable_dummy_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { +static void +_vala_cell_editable_dummy_set_property (GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ CellEditableDummy * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CELL_EDITABLE_DUMMY, CellEditableDummy); switch (property_id) { - case CELL_EDITABLE_DUMMY_EDITING_CANCELED: + case CELL_EDITABLE_DUMMY_EDITING_CANCELED_PROPERTY: cell_editable_dummy_set_editing_canceled (self, g_value_get_boolean (value)); break; default: @@ -566,126 +711,126 @@ static void _vala_cell_editable_dummy_set_property (GObject * object, guint prop } -static void _cell_editable_accel_on_editing_done_gtk_cell_editable_editing_done (GtkCellEditable* _sender, gpointer self) { - cell_editable_accel_on_editing_done (self); +static void +_cell_editable_accel_on_editing_done_gtk_cell_editable_editing_done (GtkCellEditable* _sender, + gpointer self) +{ + cell_editable_accel_on_editing_done ((CellEditableAccel*) self); } -CellEditableAccel* cell_editable_accel_construct (GType object_type, CellRendererTextish* parent, const gchar* path, GtkWidget* widget) { +CellEditableAccel* +cell_editable_accel_construct (GType object_type, + CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget) +{ CellEditableAccel * self = NULL; CellRendererTextish* _tmp0_; - CellRendererTextish* _tmp1_; - const gchar* _tmp2_; - gchar* _tmp3_; - const gchar* _tmp4_ = NULL; - GtkLabel* _tmp5_; - GtkLabel* label; - GtkWidget* _tmp6_; - GtkStyleContext* _tmp7_ = NULL; - GdkRGBA _tmp8_ = {0}; - GtkWidget* _tmp9_; - GtkStyleContext* _tmp10_ = NULL; - GdkRGBA _tmp11_ = {0}; + gchar* _tmp1_; + GtkLabel* label = NULL; + GtkLabel* _tmp2_; + GtkStyleContext* _tmp3_; + GdkRGBA _tmp4_ = {0}; + GtkStyleContext* _tmp5_; + GdkRGBA _tmp6_ = {0}; g_return_val_if_fail (parent != NULL, NULL); g_return_val_if_fail (path != NULL, NULL); g_return_val_if_fail (widget != NULL, NULL); self = (CellEditableAccel*) g_object_new (object_type, NULL); - _tmp0_ = parent; - _tmp1_ = _g_object_ref0 (_tmp0_); + _tmp0_ = _g_object_ref0 (parent); _g_object_unref0 (self->priv->parent); - self->priv->parent = _tmp1_; - _tmp2_ = path; - _tmp3_ = g_strdup (_tmp2_); + self->priv->parent = _tmp0_; + _tmp1_ = g_strdup (path); _g_free0 (self->priv->path); - self->priv->path = _tmp3_; + self->priv->path = _tmp1_; g_signal_connect_object ((GtkCellEditable*) self, "editing-done", (GCallback) _cell_editable_accel_on_editing_done_gtk_cell_editable_editing_done, self, 0); - _tmp4_ = _ ("Key combination..."); - _tmp5_ = (GtkLabel*) gtk_label_new (_tmp4_); - g_object_ref_sink (_tmp5_); - label = _tmp5_; + _tmp2_ = (GtkLabel*) gtk_label_new (_ ("Key combination...")); + g_object_ref_sink (_tmp2_); + label = _tmp2_; gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); gtk_container_add ((GtkContainer*) self, (GtkWidget*) label); - _tmp6_ = widget; - _tmp7_ = gtk_widget_get_style_context (_tmp6_); - gtk_style_context_get_background_color (_tmp7_, GTK_STATE_FLAG_SELECTED, &_tmp8_); - gtk_widget_override_background_color ((GtkWidget*) self, GTK_STATE_FLAG_NORMAL, &_tmp8_); - _tmp9_ = widget; - _tmp10_ = gtk_widget_get_style_context (_tmp9_); - gtk_style_context_get_color (_tmp10_, GTK_STATE_FLAG_SELECTED, &_tmp11_); - gtk_widget_override_color ((GtkWidget*) label, GTK_STATE_FLAG_NORMAL, &_tmp11_); + _tmp3_ = gtk_widget_get_style_context (widget); + gtk_style_context_get_background_color (_tmp3_, GTK_STATE_FLAG_SELECTED, &_tmp4_); + gtk_widget_override_background_color ((GtkWidget*) self, GTK_STATE_FLAG_NORMAL, &_tmp4_); + _tmp5_ = gtk_widget_get_style_context (widget); + gtk_style_context_get_color (_tmp5_, GTK_STATE_FLAG_SELECTED, &_tmp6_); + gtk_widget_override_color ((GtkWidget*) label, GTK_STATE_FLAG_NORMAL, &_tmp6_); gtk_widget_show_all ((GtkWidget*) self); _g_object_unref0 (label); return self; } -CellEditableAccel* cell_editable_accel_new (CellRendererTextish* parent, const gchar* path, GtkWidget* widget) { +CellEditableAccel* +cell_editable_accel_new (CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget) +{ return cell_editable_accel_construct (TYPE_CELL_EDITABLE_ACCEL, parent, path, widget); } -static gboolean _cell_editable_accel_on_key_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) { +static gboolean +_cell_editable_accel_on_key_gtk_widget_key_press_event (GtkWidget* _sender, + GdkEventKey* event, + gpointer self) +{ gboolean result; - result = cell_editable_accel_on_key (self, event); + result = cell_editable_accel_on_key ((CellEditableAccel*) self, event); return result; } -static void cell_editable_accel_real_start_editing (CellEditableAccel* self, GdkEvent* event) { +static void +cell_editable_accel_real_start_editing (CellEditableAccel* self, + GdkEvent* event) +{ guint32 _tmp0_ = 0U; - GdkEvent* _tmp1_; - GdkWindow* _tmp4_ = NULL; - guint32 _tmp5_; + GdkWindow* _tmp1_; gtk_grab_add ((GtkWidget*) self); - _tmp1_ = event; - if (_tmp1_ != NULL) { - GdkEvent* _tmp2_; - guint32 _tmp3_ = 0U; - _tmp2_ = event; - _tmp3_ = gdk_event_get_time (_tmp2_); - _tmp0_ = _tmp3_; + if (event != NULL) { + _tmp0_ = gdk_event_get_time (event); } else { _tmp0_ = (guint32) GDK_CURRENT_TIME; } - _tmp4_ = gtk_widget_get_window ((GtkWidget*) self); - _tmp5_ = _tmp0_; - gdk_keyboard_grab (_tmp4_, FALSE, _tmp5_); + _tmp1_ = gtk_widget_get_window ((GtkWidget*) self); + gdk_keyboard_grab (_tmp1_, FALSE, _tmp0_); g_signal_connect_object ((GtkWidget*) self, "key-press-event", (GCallback) _cell_editable_accel_on_key_gtk_widget_key_press_event, self, 0); } -void cell_editable_accel_start_editing (CellEditableAccel* self, GdkEvent* event) { +void +cell_editable_accel_start_editing (CellEditableAccel* self, + GdkEvent* event) +{ g_return_if_fail (self != NULL); CELL_EDITABLE_ACCEL_GET_CLASS (self)->start_editing (self, event); } -static gboolean cell_editable_accel_on_key (CellEditableAccel* self, GdkEventKey* event) { +static gboolean +cell_editable_accel_on_key (CellEditableAccel* self, + GdkEventKey* event) +{ gboolean result = FALSE; - GdkEventKey _tmp0_; + guint _tmp0_; guint _tmp1_; - GdkEventKey _tmp2_; - guint _tmp3_; - GdkEventKey _tmp4_; + GdkModifierType mods = 0U; + GdkModifierType _tmp2_; + CellRendererTextish* _tmp3_; + const gchar* _tmp4_; GdkModifierType _tmp5_; - GdkModifierType _tmp6_ = 0; - GdkModifierType mods; - CellRendererTextish* _tmp7_; - const gchar* _tmp8_; - GdkModifierType _tmp9_; - GdkEventKey _tmp10_; - guint16 _tmp11_; + guint16 _tmp6_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (event != NULL, FALSE); - _tmp0_ = *event; - _tmp1_ = _tmp0_.is_modifier; - if (_tmp1_ != ((guint) 0)) { + _tmp0_ = event->is_modifier; + if (_tmp0_ != ((guint) 0)) { result = TRUE; return result; } - _tmp2_ = *event; - _tmp3_ = _tmp2_.keyval; - switch (_tmp3_) { + _tmp1_ = event->keyval; + switch (_tmp1_) { case GDK_KEY_Super_L: case GDK_KEY_Super_R: case GDK_KEY_Hyper_L: @@ -697,31 +842,32 @@ static gboolean cell_editable_accel_on_key (CellEditableAccel* self, GdkEventKey default: break; } - _tmp4_ = *event; - _tmp5_ = _tmp4_.state; - _tmp6_ = gtk_accelerator_get_default_mod_mask (); - mods = _tmp5_ & _tmp6_; + _tmp2_ = event->state; + mods = _tmp2_ & gtk_accelerator_get_default_mod_mask (); gtk_cell_editable_editing_done ((GtkCellEditable*) self); gtk_cell_editable_remove_widget ((GtkCellEditable*) self); - _tmp7_ = self->priv->parent; - _tmp8_ = self->priv->path; - _tmp9_ = mods; - _tmp10_ = *event; - _tmp11_ = _tmp10_.hardware_keycode; - g_signal_emit_by_name (_tmp7_, "key-edited", _tmp8_, _tmp9_, (guint) _tmp11_); + _tmp3_ = self->priv->parent; + _tmp4_ = self->priv->path; + _tmp5_ = mods; + _tmp6_ = event->hardware_keycode; + g_signal_emit (_tmp3_, cell_renderer_textish_signals[CELL_RENDERER_TEXTISH_KEY_EDITED_SIGNAL], 0, _tmp4_, _tmp5_, (guint) _tmp6_); result = TRUE; return result; } -static void cell_editable_accel_on_editing_done (CellEditableAccel* self) { +static void +cell_editable_accel_on_editing_done (CellEditableAccel* self) +{ g_return_if_fail (self != NULL); gtk_grab_remove ((GtkWidget*) self); gdk_keyboard_ungrab ((guint32) GDK_CURRENT_TIME); } -gboolean cell_editable_accel_get_editing_canceled (CellEditableAccel* self) { +gboolean +cell_editable_accel_get_editing_canceled (CellEditableAccel* self) +{ gboolean result; gboolean _tmp0_; g_return_val_if_fail (self != NULL, FALSE); @@ -731,38 +877,49 @@ gboolean cell_editable_accel_get_editing_canceled (CellEditableAccel* self) { } -void cell_editable_accel_set_editing_canceled (CellEditableAccel* self, gboolean value) { - gboolean _tmp0_; +void +cell_editable_accel_set_editing_canceled (CellEditableAccel* self, + gboolean value) +{ g_return_if_fail (self != NULL); - _tmp0_ = value; - self->priv->_editing_canceled = _tmp0_; - g_object_notify ((GObject *) self, "editing-canceled"); + if (cell_editable_accel_get_editing_canceled (self) != value) { + self->priv->_editing_canceled = value; + g_object_notify_by_pspec ((GObject *) self, cell_editable_accel_properties[CELL_EDITABLE_ACCEL_EDITING_CANCELED_PROPERTY]); + } } -static void cell_editable_accel_class_init (CellEditableAccelClass * klass) { +static void +cell_editable_accel_class_init (CellEditableAccelClass * klass) +{ cell_editable_accel_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (CellEditableAccelPrivate)); - CELL_EDITABLE_ACCEL_CLASS (klass)->start_editing = cell_editable_accel_real_start_editing; + ((CellEditableAccelClass *) klass)->start_editing = (void (*) (CellEditableAccel*, GdkEvent*)) cell_editable_accel_real_start_editing; G_OBJECT_CLASS (klass)->get_property = _vala_cell_editable_accel_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_cell_editable_accel_set_property; G_OBJECT_CLASS (klass)->finalize = cell_editable_accel_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), CELL_EDITABLE_ACCEL_EDITING_CANCELED, g_param_spec_boolean ("editing-canceled", "editing-canceled", "editing-canceled", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), CELL_EDITABLE_ACCEL_EDITING_CANCELED_PROPERTY, cell_editable_accel_properties[CELL_EDITABLE_ACCEL_EDITING_CANCELED_PROPERTY] = g_param_spec_boolean ("editing-canceled", "editing-canceled", "editing-canceled", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); } -static void cell_editable_accel_gtk_cell_editable_interface_init (GtkCellEditableIface * iface) { +static void +cell_editable_accel_gtk_cell_editable_interface_init (GtkCellEditableIface * iface) +{ cell_editable_accel_gtk_cell_editable_parent_iface = g_type_interface_peek_parent (iface); - iface->start_editing = (void (*)(GtkCellEditable*, GdkEvent*)) cell_editable_accel_start_editing; + iface->start_editing = (void (*) (GtkCellEditable*, GdkEvent*)) cell_editable_accel_start_editing; } -static void cell_editable_accel_instance_init (CellEditableAccel * self) { +static void +cell_editable_accel_instance_init (CellEditableAccel * self) +{ self->priv = CELL_EDITABLE_ACCEL_GET_PRIVATE (self); } -static void cell_editable_accel_finalize (GObject* obj) { +static void +cell_editable_accel_finalize (GObject * obj) +{ CellEditableAccel * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CELL_EDITABLE_ACCEL, CellEditableAccel); _g_object_unref0 (self->priv->parent); @@ -771,25 +928,32 @@ static void cell_editable_accel_finalize (GObject* obj) { } -GType cell_editable_accel_get_type (void) { +GType +cell_editable_accel_get_type (void) +{ static volatile gsize cell_editable_accel_type_id__volatile = 0; if (g_once_init_enter (&cell_editable_accel_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CellEditableAccelClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) cell_editable_accel_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CellEditableAccel), 0, (GInstanceInitFunc) cell_editable_accel_instance_init, NULL }; static const GInterfaceInfo gtk_cell_editable_info = { (GInterfaceInitFunc) cell_editable_accel_gtk_cell_editable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType cell_editable_accel_type_id; - cell_editable_accel_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "CellEditableAccel", &g_define_type_info, 0); - g_type_add_interface_static (cell_editable_accel_type_id, GTK_TYPE_CELL_EDITABLE, >k_cell_editable_info); + cell_editable_accel_type_id = g_type_register_static (gtk_event_box_get_type (), "CellEditableAccel", &g_define_type_info, 0); + g_type_add_interface_static (cell_editable_accel_type_id, gtk_cell_editable_get_type (), >k_cell_editable_info); g_once_init_leave (&cell_editable_accel_type_id__volatile, cell_editable_accel_type_id); } return cell_editable_accel_type_id__volatile; } -static void _vala_cell_editable_accel_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { +static void +_vala_cell_editable_accel_get_property (GObject * object, + guint property_id, + GValue * value, + GParamSpec * pspec) +{ CellEditableAccel * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CELL_EDITABLE_ACCEL, CellEditableAccel); switch (property_id) { - case CELL_EDITABLE_ACCEL_EDITING_CANCELED: + case CELL_EDITABLE_ACCEL_EDITING_CANCELED_PROPERTY: g_value_set_boolean (value, cell_editable_accel_get_editing_canceled (self)); break; default: @@ -799,11 +963,16 @@ static void _vala_cell_editable_accel_get_property (GObject * object, guint prop } -static void _vala_cell_editable_accel_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { +static void +_vala_cell_editable_accel_set_property (GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ CellEditableAccel * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CELL_EDITABLE_ACCEL, CellEditableAccel); switch (property_id) { - case CELL_EDITABLE_ACCEL_EDITING_CANCELED: + case CELL_EDITABLE_ACCEL_EDITING_CANCELED_PROPERTY: cell_editable_accel_set_editing_canceled (self, g_value_get_boolean (value)); break; default: @@ -813,17 +982,21 @@ static void _vala_cell_editable_accel_set_property (GObject * object, guint prop } -static Block1Data* block1_data_ref (Block1Data* _data1_) { +static Block1Data* +block1_data_ref (Block1Data* _data1_) +{ g_atomic_int_inc (&_data1_->_ref_count_); return _data1_; } -static void block1_data_unref (void * _userdata_) { +static void +block1_data_unref (void * _userdata_) +{ Block1Data* _data1_; _data1_ = (Block1Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { - CellEditableCombo * self; + CellEditableCombo* self; self = _data1_->self; _g_object_unref0 (_data1_->parent); _g_free0 (_data1_->path); @@ -833,111 +1006,144 @@ static void block1_data_unref (void * _userdata_) { } -static void __lambda2_ (Block1Data* _data1_) { - CellEditableCombo * self; - CellRendererTextish* _tmp0_; - const gchar* _tmp1_; - gint _tmp2_; - gint _tmp3_; +static void +__lambda4_ (Block1Data* _data1_) +{ + CellEditableCombo* self; + gint _tmp0_; + gint _tmp1_; self = _data1_->self; - _tmp0_ = _data1_->parent; - _tmp1_ = _data1_->path; - _tmp2_ = gtk_combo_box_get_active ((GtkComboBox*) self); - _tmp3_ = _tmp2_; - g_signal_emit_by_name (_tmp0_, "combo-edited", _tmp1_, (guint) _tmp3_); + _tmp0_ = gtk_combo_box_get_active ((GtkComboBox*) self); + _tmp1_ = _tmp0_; + g_signal_emit (_data1_->parent, cell_renderer_textish_signals[CELL_RENDERER_TEXTISH_COMBO_EDITED_SIGNAL], 0, _data1_->path, (guint) _tmp1_); } -static void ___lambda2__gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { - __lambda2_ (self); +static void +___lambda4__gtk_combo_box_changed (GtkComboBox* _sender, + gpointer self) +{ + __lambda4_ (self); } -CellEditableCombo* cell_editable_combo_construct (GType object_type, CellRendererTextish* parent, const gchar* path, GtkWidget* widget, gchar** items, int items_length1) { +CellEditableCombo* +cell_editable_combo_construct (GType object_type, + CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget, + gchar** items, + int items_length1) +{ CellEditableCombo * self = NULL; Block1Data* _data1_; CellRendererTextish* _tmp0_; - CellRendererTextish* _tmp1_; - const gchar* _tmp2_; + gchar* _tmp1_; + CellRendererTextish* _tmp2_; gchar* _tmp3_; - CellRendererTextish* _tmp4_; - CellRendererTextish* _tmp5_; - const gchar* _tmp6_; - gchar* _tmp7_; - gchar** _tmp8_; - gint _tmp8__length1; g_return_val_if_fail (parent != NULL, NULL); g_return_val_if_fail (path != NULL, NULL); g_return_val_if_fail (widget != NULL, NULL); _data1_ = g_slice_new0 (Block1Data); _data1_->_ref_count_ = 1; - _tmp0_ = parent; - _tmp1_ = _g_object_ref0 (_tmp0_); + _tmp0_ = _g_object_ref0 (parent); _g_object_unref0 (_data1_->parent); - _data1_->parent = _tmp1_; - _tmp2_ = path; - _tmp3_ = g_strdup (_tmp2_); + _data1_->parent = _tmp0_; + _tmp1_ = g_strdup (path); _g_free0 (_data1_->path); - _data1_->path = _tmp3_; + _data1_->path = _tmp1_; self = (CellEditableCombo*) g_object_new (object_type, NULL); _data1_->self = g_object_ref (self); - _tmp4_ = _data1_->parent; - _tmp5_ = _g_object_ref0 (_tmp4_); + _tmp2_ = _g_object_ref0 (_data1_->parent); _g_object_unref0 (self->priv->parent); - self->priv->parent = _tmp5_; - _tmp6_ = _data1_->path; - _tmp7_ = g_strdup (_tmp6_); + self->priv->parent = _tmp2_; + _tmp3_ = g_strdup (_data1_->path); _g_free0 (self->priv->path); - self->priv->path = _tmp7_; - _tmp8_ = items; - _tmp8__length1 = items_length1; + self->priv->path = _tmp3_; { gchar** item_collection = NULL; gint item_collection_length1 = 0; gint _item_collection_size_ = 0; gint item_it = 0; - item_collection = _tmp8_; - item_collection_length1 = _tmp8__length1; - for (item_it = 0; item_it < _tmp8__length1; item_it = item_it + 1) { - gchar* _tmp9_; + item_collection = items; + item_collection_length1 = items_length1; + for (item_it = 0; item_it < item_collection_length1; item_it = item_it + 1) { + gchar* _tmp4_; gchar* item = NULL; - _tmp9_ = g_strdup (item_collection[item_it]); - item = _tmp9_; + _tmp4_ = g_strdup (item_collection[item_it]); + item = _tmp4_; { - const gchar* _tmp10_; - const gchar* _tmp11_ = NULL; - _tmp10_ = item; - _tmp11_ = _ (_tmp10_); - gtk_combo_box_text_append_text ((GtkComboBoxText*) self, _tmp11_); + const gchar* _tmp5_; + _tmp5_ = item; + gtk_combo_box_text_append_text ((GtkComboBoxText*) self, _ (_tmp5_)); _g_free0 (item); } } } - g_signal_connect_data ((GtkComboBox*) self, "changed", (GCallback) ___lambda2__gtk_combo_box_changed, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); + g_signal_connect_data ((GtkComboBox*) self, "changed", (GCallback) ___lambda4__gtk_combo_box_changed, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); block1_data_unref (_data1_); _data1_ = NULL; return self; } -CellEditableCombo* cell_editable_combo_new (CellRendererTextish* parent, const gchar* path, GtkWidget* widget, gchar** items, int items_length1) { +CellEditableCombo* +cell_editable_combo_new (CellRendererTextish* parent, + const gchar* path, + GtkWidget* widget, + gchar** items, + int items_length1) +{ return cell_editable_combo_construct (TYPE_CELL_EDITABLE_COMBO, parent, path, widget, items, items_length1); } -static void cell_editable_combo_class_init (CellEditableComboClass * klass) { +static void +cell_editable_combo_real_start_editing (CellEditableCombo* self, + GdkEvent* event) +{ + cell_editable_combo_gtk_cell_editable_parent_iface->start_editing ((GtkCellEditable*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_combo_box_text_get_type (), GtkComboBoxText), event); + gtk_widget_show_all ((GtkWidget*) self); +} + + +void +cell_editable_combo_start_editing (CellEditableCombo* self, + GdkEvent* event) +{ + g_return_if_fail (self != NULL); + CELL_EDITABLE_COMBO_GET_CLASS (self)->start_editing (self, event); +} + + +static void +cell_editable_combo_class_init (CellEditableComboClass * klass) +{ cell_editable_combo_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (CellEditableComboPrivate)); + ((CellEditableComboClass *) klass)->start_editing = (void (*) (CellEditableCombo*, GdkEvent*)) cell_editable_combo_real_start_editing; G_OBJECT_CLASS (klass)->finalize = cell_editable_combo_finalize; } -static void cell_editable_combo_instance_init (CellEditableCombo * self) { +static void +cell_editable_combo_gtk_cell_editable_interface_init (GtkCellEditableIface * iface) +{ + cell_editable_combo_gtk_cell_editable_parent_iface = g_type_interface_peek_parent (iface); + iface->start_editing = (void (*) (GtkCellEditable*, GdkEvent*)) cell_editable_combo_start_editing; +} + + +static void +cell_editable_combo_instance_init (CellEditableCombo * self) +{ self->priv = CELL_EDITABLE_COMBO_GET_PRIVATE (self); } -static void cell_editable_combo_finalize (GObject* obj) { +static void +cell_editable_combo_finalize (GObject * obj) +{ CellEditableCombo * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CELL_EDITABLE_COMBO, CellEditableCombo); _g_object_unref0 (self->priv->parent); @@ -946,19 +1152,27 @@ static void cell_editable_combo_finalize (GObject* obj) { } -GType cell_editable_combo_get_type (void) { +GType +cell_editable_combo_get_type (void) +{ static volatile gsize cell_editable_combo_type_id__volatile = 0; if (g_once_init_enter (&cell_editable_combo_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (CellEditableComboClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) cell_editable_combo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CellEditableCombo), 0, (GInstanceInitFunc) cell_editable_combo_instance_init, NULL }; + static const GInterfaceInfo gtk_cell_editable_info = { (GInterfaceInitFunc) cell_editable_combo_gtk_cell_editable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType cell_editable_combo_type_id; - cell_editable_combo_type_id = g_type_register_static (GTK_TYPE_COMBO_BOX_TEXT, "CellEditableCombo", &g_define_type_info, 0); + cell_editable_combo_type_id = g_type_register_static (gtk_combo_box_text_get_type (), "CellEditableCombo", &g_define_type_info, 0); + g_type_add_interface_static (cell_editable_combo_type_id, gtk_cell_editable_get_type (), >k_cell_editable_info); g_once_init_leave (&cell_editable_combo_type_id__volatile, cell_editable_combo_type_id); } return cell_editable_combo_type_id__volatile; } -static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { +static void +_vala_array_destroy (gpointer array, + gint array_length, + GDestroyNotify destroy_func) +{ if ((array != NULL) && (destroy_func != NULL)) { int i; for (i = 0; i < array_length; i = i + 1) { @@ -970,7 +1184,11 @@ static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNoti } -static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { +static void +_vala_array_free (gpointer array, + gint array_length, + GDestroyNotify destroy_func) +{ _vala_array_destroy (array, array_length, destroy_func); g_free (array); } diff --git a/cellrenderertextish.h b/cellrenderertextish.h index a9d217d0..c7aeee84 100644 --- a/cellrenderertextish.h +++ b/cellrenderertextish.h @@ -1,4 +1,4 @@ -/* cellrenderertextish.h generated by valac 0.18.1, the Vala compiler, do not modify */ +/* cellrenderertextish.h generated by valac 0.40.23, the Vala compiler, do not modify */ #ifndef __CELLRENDERERTEXTISH_H__ @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -22,9 +23,6 @@ G_BEGIN_DECLS typedef struct _CellRendererTextish CellRendererTextish; typedef struct _CellRendererTextishClass CellRendererTextishClass; typedef struct _CellRendererTextishPrivate CellRendererTextishPrivate; - -#define CELL_RENDERER_TEXTISH_TYPE_MODE (cell_renderer_textish_mode_get_type ()) - typedef enum { CELL_RENDERER_TEXTISH_MODE_Text, CELL_RENDERER_TEXTISH_MODE_Key, @@ -32,6 +30,9 @@ typedef enum { CELL_RENDERER_TEXTISH_MODE_Combo } CellRendererTextishMode; + +#define CELL_RENDERER_TEXTISH_TYPE_MODE (cell_renderer_textish_mode_get_type ()) + struct _CellRendererTextish { GtkCellRendererText parent_instance; CellRendererTextishPrivate * priv; @@ -49,8 +50,11 @@ GType cell_renderer_textish_get_type (void) G_GNUC_CONST; GType cell_renderer_textish_mode_get_type (void) G_GNUC_CONST; CellRendererTextish* cell_renderer_textish_new (void); CellRendererTextish* cell_renderer_textish_construct (GType object_type); -CellRendererTextish* cell_renderer_textish_new_with_items (gchar** items, int items_length1); -CellRendererTextish* cell_renderer_textish_construct_with_items (GType object_type, gchar** items, int items_length1); +CellRendererTextish* cell_renderer_textish_new_with_items (gchar** items, + int items_length1); +CellRendererTextish* cell_renderer_textish_construct_with_items (GType object_type, + gchar** items, + int items_length1); G_END_DECLS diff --git a/cellrenderertextish.vala b/cellrenderertextish.vala index b6aade9a..932ac49a 100644 --- a/cellrenderertextish.vala +++ b/cellrenderertextish.vala @@ -22,7 +22,7 @@ public class CellRendererTextish : Gtk.CellRendererText { this.items = items; } - public override unowned Gtk.CellEditable start_editing (Gdk.Event? event, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { + public override unowned Gtk.CellEditable? start_editing (Gdk.Event? event, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags) { cell = null; if (!editable) return cell; @@ -112,7 +112,7 @@ class CellEditableAccel : Gtk.EventBox, Gtk.CellEditable { } -class CellEditableCombo : Gtk.ComboBoxText { +class CellEditableCombo : Gtk.ComboBoxText, Gtk.CellEditable { new CellRendererTextish parent; new string path; @@ -124,4 +124,10 @@ class CellEditableCombo : Gtk.ComboBoxText { } changed.connect(() => parent.combo_edited(path, active)); } + + public virtual void start_editing(Gdk.Event? event) { + base.start_editing(event); + show_all(); + } } + diff --git a/gesture.cc b/gesture.cc index 8531c084..f97bce3a 100644 --- a/gesture.cc +++ b/gesture.cc @@ -14,7 +14,6 @@ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "gesture.h" -#include "prefdb.h" #include #include @@ -35,41 +34,6 @@ RTriple create_triple(float x, float y, Time t) { return e; } -template void Stroke::save(Archive & ar, const unsigned int version) const { - std::vector ps; - for (unsigned int i = 0; i < size(); i++) - ps.push_back(points(i)); - ar & ps; - ar & button; - ar & trigger; - ar & timeout; - ar & modifiers; -} - -template void Stroke::load(Archive & ar, const unsigned int version) { - std::vector ps; - ar & ps; - if (ps.size()) { - stroke_t *s = stroke_alloc(ps.size()); - for (std::vector::iterator i = ps.begin(); i != ps.end(); ++i) - stroke_add_point(s, i->x, i->y); - stroke_finish(s); - stroke.reset(s, &stroke_free); - } - if (version == 0) return; - ar & button; - if (version >= 2) - ar & trigger; - if (version < 4 && (!button || trigger == (int)prefs.button.get().button)) - trigger = 0; - if (version < 3) - return; - ar & timeout; - if (version < 5) - return; - ar & modifiers; -} - Stroke::Stroke(PreStroke &ps, int trigger_, int button_, unsigned int modifiers_, bool timeout_) : trigger(trigger_), button(button_), modifiers(modifiers_), timeout(timeout_) { if (ps.valid()) { stroke_t *s = stroke_alloc(ps.size()); diff --git a/gesture.h b/gesture.h index accecdfe..1c318872 100644 --- a/gesture.h +++ b/gesture.h @@ -16,6 +16,7 @@ #ifndef __GESTURE_H__ #define __GESTURE_H__ +#include "prefdb.h" #include "stroke.h" #include #include @@ -83,8 +84,40 @@ class Stroke { static Glib::RefPtr pbEmpty; BOOST_SERIALIZATION_SPLIT_MEMBER() - template void load(Archive & ar, const unsigned int version); - template void save(Archive & ar, const unsigned int version) const; + template void load(Archive & ar, const unsigned int version) { + std::vector ps; + ar & ps; + if (ps.size()) { + stroke_t *s = stroke_alloc(ps.size()); + for (std::vector::iterator i = ps.begin(); i != ps.end(); ++i) + stroke_add_point(s, i->x, i->y); + stroke_finish(s); + stroke.reset(s, &stroke_free); + } + if (version == 0) return; + ar & button; + if (version >= 2) + ar & trigger; + if (version < 4 && (!button || trigger == (int)prefs.button.get().button)) + trigger = 0; + if (version < 3) + return; + ar & timeout; + if (version < 5) + return; + ar & modifiers; + + } + template void save(Archive & ar, const unsigned int version) const { + std::vector ps; + for (unsigned int i = 0; i < size(); i++) + ps.push_back(points(i)); + ar & ps; + ar & button; + ar & trigger; + ar & timeout; + ar & modifiers; + } public: int trigger; int button; diff --git a/handler.cc b/handler.cc index 8830ea28..b72228d6 100644 --- a/handler.cc +++ b/handler.cc @@ -23,6 +23,8 @@ #include #include #include +#include // std::abs(float) +using std::abs; XState *xstate = nullptr; @@ -533,7 +535,7 @@ class WaitForPongHandler : public Handler, protected Timeout { virtual Grabber::State grab_mode() { return parent->grab_mode(); } }; -static inline float abs(float x) { return x > 0 ? x : -x; } +/* static inline float abs(float x) { return x > 0 ? x : -x; } */ class AbstractScrollHandler : public Handler { bool have_x, have_y; @@ -563,7 +565,7 @@ class AbstractScrollHandler : public Handler { } protected: void move_back() { - if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute)) + if (!prefs.move_back.get()) return; XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0); } @@ -968,7 +970,7 @@ class StrokeHandler : public Handler, public sigc::trackable { virtual void release(guint b, RTriple e) { RStroke s = finish(0); - if (prefs.move_back.get() && !xstate->current_dev->absolute) + if (prefs.move_back.get()) XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig->x, orig->y, 0); else XTestFakeMotionEvent(dpy, DefaultScreen(dpy), e->x, e->y, 0); diff --git a/po/fr.po b/po/fr.po index ad856369..cd36c142 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,15 +8,16 @@ msgstr "" "Project-Id-Version: easystroke\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2013-03-14 00:24-0400\n" -"PO-Revision-Date: 2012-10-28 10:42+0000\n" -"Last-Translator: Penegal \n" +"PO-Revision-Date: 2015-07-07 13:11+0200\n" +"Last-Translator: Raphael Rochet \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-03-14 04:28+0000\n" -"X-Generator: Launchpad (build 16532)\n" +"X-Generator: Poedit 1.8.2\n" +"Language: fr\n" #, c-format msgid "Error: can't execute command \"%s\": fork() failed\n" @@ -46,8 +47,7 @@ msgstr "rename() a échoué" #, c-format msgid "Error: Couldn't save action database: %s.\n" -msgstr "" -"Erreur : impossible d'enregistrer la base de données des actions %s.\n" +msgstr "Erreur : impossible d'enregistrer la base de données des actions %s.\n" msgid "" "Couldn't save %1. Your changes will be lost. Make sure that \"%2\" is a " @@ -292,7 +292,7 @@ msgid "D_isabled" msgstr "D_ésactivé" msgid "" -msgstr "" +msgstr "" msgid "Connection to DBus failed" msgstr "La connexion à DBus a échoué" @@ -390,7 +390,7 @@ msgid "Show popups (" msgstr "Afficher les popups (" msgid "to the right of the cursor)" -msgstr "" +msgstr "à droite du curseur)" msgid "Show tray icon" msgstr "Afficher l'icône dans la barre des tâches" @@ -418,6 +418,8 @@ msgstr "Préférences" msgid "Only enable easystroke for applications listed on 'Actions' tab" msgstr "" +"N'activer easystroke que pour les applications listées dans l'onglet " +"'Actions'" msgid "Timeout Gestures" msgstr "Gestes de temps mort" @@ -483,6 +485,5 @@ msgstr "Désactiver" #~ msgid "(window manager frame)" #~ msgstr "(cadre du gestionnaire de fenêtres)" -#, c-format #~ msgid "Error: A grab failed. Resetting...\n" #~ msgstr "Erreur : une saisie a échoué. Redémarrage...\n" diff --git a/win.cc b/win.cc index da41b0e8..36746430 100644 --- a/win.cc +++ b/win.cc @@ -275,7 +275,7 @@ void Win::timeout() { } void Win::set_icon(RStroke stroke, bool invert) { - if (!icon) + if (!icon || icon->get_size() <= 0) return; icon->set(stroke->draw(icon->get_size(), 2.0, invert)); set_timeout(10000);