Added tab-key-action setting
parent
50a7ed93df
commit
f41112a35a
|
@ -291,16 +291,16 @@
|
|||
</kdevdoctreeview>
|
||||
<kdevfilecreate>
|
||||
<filetypes>
|
||||
<type icon="source" ext="g" name="GAP source" create="template" >
|
||||
<type icon="source" ext="g" create="template" name="GAP source" >
|
||||
<descr>A new empty GAP source file</descr>
|
||||
</type>
|
||||
<type icon="source_cpp" ext="cpp" name="C++ Source" create="template" >
|
||||
<type icon="source_cpp" ext="cpp" create="template" name="C++ Source" >
|
||||
<descr>A new empty C++ file.</descr>
|
||||
</type>
|
||||
<type icon="source_h" ext="h" name="C/C++ Header" create="template" >
|
||||
<type icon="source_h" ext="h" create="template" name="C/C++ Header" >
|
||||
<descr>A new empty header file for C/C++.</descr>
|
||||
</type>
|
||||
<type icon="source_c" ext="c" name="C Source" create="template" >
|
||||
<type icon="source_c" ext="c" create="template" name="C Source" >
|
||||
<descr>A new empty C file.</descr>
|
||||
</type>
|
||||
</filetypes>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -929,8 +929,6 @@ static gboolean handle_backspace (MooTextView *view,
|
|||
GdkEventKey *event);
|
||||
static gboolean handle_enter (MooTextView *view,
|
||||
GdkEventKey *event);
|
||||
static gboolean handle_shift_tab (MooTextView *view,
|
||||
GdkEventKey *event);
|
||||
static gboolean handle_ctrl_up (MooTextView *view,
|
||||
GdkEventKey *event,
|
||||
gboolean up);
|
||||
|
@ -988,7 +986,7 @@ _moo_text_view_key_press_event (GtkWidget *widget,
|
|||
/* TODO TODO stupid X and gtk !!! */
|
||||
case GDK_ISO_Left_Tab:
|
||||
case GDK_KP_Tab:
|
||||
handled = handle_shift_tab (view, event);
|
||||
handled = handle_tab (view, event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1085,42 +1083,42 @@ set_invisible_cursor (GdkWindow *window)
|
|||
}
|
||||
|
||||
|
||||
static void
|
||||
move_focus (GtkWidget *widget,
|
||||
GtkDirectionType direction)
|
||||
static gboolean
|
||||
tab_unindent (MooTextView *view)
|
||||
{
|
||||
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
|
||||
g_signal_emit_by_name (toplevel, "move-focus", direction);
|
||||
GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
|
||||
GtkTextIter start, end;
|
||||
int first_line, last_line;
|
||||
|
||||
if (!view->priv->indenter)
|
||||
return FALSE;
|
||||
|
||||
gtk_text_buffer_get_selection_bounds (buffer, &start, &end);
|
||||
|
||||
first_line = gtk_text_iter_get_line (&start);
|
||||
last_line = gtk_text_iter_get_line (&end);
|
||||
|
||||
if (gtk_text_iter_starts_line (&end) && first_line != last_line)
|
||||
last_line -= 1;
|
||||
|
||||
gtk_text_buffer_begin_user_action (buffer);
|
||||
moo_indenter_shift_lines (view->priv->indenter, buffer, first_line, last_line, -1);
|
||||
gtk_text_buffer_end_user_action (buffer);
|
||||
|
||||
gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW (view),
|
||||
gtk_text_buffer_get_insert (buffer));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
handle_tab (MooTextView *view,
|
||||
GdkEventKey *event)
|
||||
tab_indent (MooTextView *view)
|
||||
{
|
||||
GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
|
||||
GtkTextIter insert, bound, start, end;
|
||||
gboolean starts_line, insert_last, has_selection;
|
||||
int first_line, last_line;
|
||||
|
||||
switch (view->priv->tab_key_action)
|
||||
{
|
||||
case MOO_TEXT_TAB_KEY_DO_NOTHING:
|
||||
move_focus (GTK_WIDGET (view),
|
||||
event->state & GDK_SHIFT_MASK ?
|
||||
GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD);
|
||||
return TRUE;
|
||||
|
||||
case MOO_TEXT_TAB_KEY_FIND_PLACEHOLDER:
|
||||
if (event->state & GDK_SHIFT_MASK)
|
||||
moo_text_view_prev_placeholder (view);
|
||||
else
|
||||
moo_text_view_next_placeholder (view);
|
||||
return TRUE;
|
||||
|
||||
case MOO_TEXT_TAB_KEY_INDENT:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!view->priv->indenter)
|
||||
return FALSE;
|
||||
|
||||
|
@ -1174,32 +1172,41 @@ handle_tab (MooTextView *view,
|
|||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
handle_shift_tab (MooTextView *view,
|
||||
G_GNUC_UNUSED GdkEventKey *event)
|
||||
static void
|
||||
move_focus (GtkWidget *widget,
|
||||
GtkDirectionType direction)
|
||||
{
|
||||
GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
|
||||
GtkTextIter start, end;
|
||||
int first_line, last_line;
|
||||
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
|
||||
g_signal_emit_by_name (toplevel, "move-focus", direction);
|
||||
}
|
||||
|
||||
if (!view->priv->shift_tab_unindents || !view->priv->indenter)
|
||||
return FALSE;
|
||||
static gboolean
|
||||
handle_tab (MooTextView *view,
|
||||
GdkEventKey *event)
|
||||
{
|
||||
switch (view->priv->tab_key_action)
|
||||
{
|
||||
case MOO_TEXT_TAB_KEY_DO_NOTHING:
|
||||
move_focus (GTK_WIDGET (view),
|
||||
event->state & GDK_SHIFT_MASK ?
|
||||
GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD);
|
||||
return TRUE;
|
||||
|
||||
gtk_text_buffer_get_selection_bounds (buffer, &start, &end);
|
||||
case MOO_TEXT_TAB_KEY_FIND_PLACEHOLDER:
|
||||
if (event->state & GDK_SHIFT_MASK)
|
||||
moo_text_view_prev_placeholder (view);
|
||||
else
|
||||
moo_text_view_next_placeholder (view);
|
||||
return TRUE;
|
||||
|
||||
first_line = gtk_text_iter_get_line (&start);
|
||||
last_line = gtk_text_iter_get_line (&end);
|
||||
case MOO_TEXT_TAB_KEY_INDENT:
|
||||
if (event->state & GDK_SHIFT_MASK)
|
||||
return tab_unindent (view);
|
||||
else
|
||||
return tab_indent (view);
|
||||
}
|
||||
|
||||
if (gtk_text_iter_starts_line (&end) && first_line != last_line)
|
||||
last_line -= 1;
|
||||
|
||||
gtk_text_buffer_begin_user_action (buffer);
|
||||
moo_indenter_shift_lines (view->priv->indenter, buffer, first_line, last_line, -1);
|
||||
gtk_text_buffer_end_user_action (buffer);
|
||||
|
||||
gtk_text_view_scroll_mark_onscreen (GTK_TEXT_VIEW (view),
|
||||
gtk_text_buffer_get_insert (buffer));
|
||||
return TRUE;
|
||||
g_return_val_if_reached (FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1268,7 +1275,7 @@ handle_enter (MooTextView *view,
|
|||
GtkTextIter start, end;
|
||||
gboolean has_selection;
|
||||
|
||||
if (!view->priv->indenter)
|
||||
if (!view->priv->indenter || !view->priv->enter_indents)
|
||||
return FALSE;
|
||||
|
||||
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
|
||||
|
|
|
@ -62,6 +62,10 @@ _moo_edit_init_settings (void)
|
|||
|
||||
NEW_KEY_BOOL (MOO_EDIT_PREFS_SPACES_NO_TABS, FALSE);
|
||||
NEW_KEY_INT (MOO_EDIT_PREFS_INDENT_WIDTH, 8);
|
||||
NEW_KEY_ENUM (MOO_EDIT_PREFS_TAB_KEY_ACTION,
|
||||
MOO_TYPE_TEXT_TAB_KEY_ACTION, MOO_TEXT_TAB_KEY_INDENT);
|
||||
NEW_KEY_BOOL (MOO_EDIT_PREFS_AUTO_INDENT, TRUE);
|
||||
NEW_KEY_BOOL (MOO_EDIT_PREFS_BACKSPACE_INDENTS, FALSE);
|
||||
|
||||
NEW_KEY_BOOL (MOO_EDIT_PREFS_AUTO_SAVE, FALSE);
|
||||
NEW_KEY_INT (MOO_EDIT_PREFS_AUTO_SAVE_INTERVAL, 5);
|
||||
|
@ -124,8 +128,18 @@ _moo_edit_apply_settings (MooEdit *edit)
|
|||
"draw-tabs", get_bool (MOO_EDIT_PREFS_SHOW_TABS),
|
||||
"draw-trailing-spaces", get_bool (MOO_EDIT_PREFS_SHOW_TRAILING_SPACES),
|
||||
"quick-search-flags", get_flags (MOO_EDIT_PREFS_QUICK_SEARCH_FLAGS),
|
||||
"tab-key-action", get_enum (MOO_EDIT_PREFS_TAB_KEY_ACTION),
|
||||
"auto-indent", get_bool (MOO_EDIT_PREFS_AUTO_INDENT),
|
||||
"backspace-indents", get_bool (MOO_EDIT_PREFS_BACKSPACE_INDENTS),
|
||||
NULL);
|
||||
|
||||
moo_edit_config_set (edit->config,
|
||||
"indent-use-tabs", MOO_EDIT_CONFIG_SOURCE_PREFS,
|
||||
!get_bool (MOO_EDIT_PREFS_SPACES_NO_TABS),
|
||||
"indent-width", MOO_EDIT_CONFIG_SOURCE_PREFS,
|
||||
get_int (MOO_EDIT_PREFS_INDENT_WIDTH),
|
||||
NULL);
|
||||
|
||||
if (get_bool (MOO_EDIT_PREFS_WRAP_ENABLE))
|
||||
{
|
||||
if (get_bool (MOO_EDIT_PREFS_WRAP_WORDS))
|
||||
|
|
|
@ -30,8 +30,11 @@ const char *moo_edit_setting (const char *setting_name);
|
|||
|
||||
#define MOO_EDIT_PREFS_DEFAULT_LANG "default_lang"
|
||||
|
||||
#define MOO_EDIT_PREFS_TAB_KEY_ACTION "tab_key_action"
|
||||
#define MOO_EDIT_PREFS_SPACES_NO_TABS "spaces_instead_of_tabs"
|
||||
#define MOO_EDIT_PREFS_INDENT_WIDTH "indent_width"
|
||||
#define MOO_EDIT_PREFS_AUTO_INDENT "auto_indent"
|
||||
#define MOO_EDIT_PREFS_BACKSPACE_INDENTS "backspace_indents"
|
||||
|
||||
#define MOO_EDIT_PREFS_AUTO_SAVE "auto_save"
|
||||
#define MOO_EDIT_PREFS_AUTO_SAVE_INTERVAL "auto_save_interval"
|
||||
|
|
|
@ -125,9 +125,6 @@ struct _MooTextViewPrivate {
|
|||
/* Indentation
|
||||
/*/
|
||||
MooIndenter *indenter;
|
||||
gboolean tab_indents;
|
||||
gboolean tab_inserts_indent_chars;
|
||||
gboolean shift_tab_unindents;
|
||||
gboolean backspace_indents;
|
||||
gboolean enter_indents;
|
||||
MooTextTabKeyAction tab_key_action;
|
||||
|
|
|
@ -183,7 +183,11 @@ static guint signals[LAST_SIGNAL];
|
|||
enum {
|
||||
PROP_0,
|
||||
PROP_BUFFER,
|
||||
|
||||
PROP_INDENTER,
|
||||
PROP_AUTO_INDENT,
|
||||
PROP_BACKSPACE_INDENTS,
|
||||
|
||||
PROP_HIGHLIGHT_CURRENT_LINE,
|
||||
PROP_HIGHLIGHT_MATCHING_BRACKETS,
|
||||
PROP_HIGHLIGHT_MISMATCHING_BRACKETS,
|
||||
|
@ -450,6 +454,18 @@ static void moo_text_view_class_init (MooTextViewClass *klass)
|
|||
MOO_TEXT_TAB_KEY_INDENT,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_AUTO_INDENT,
|
||||
g_param_spec_boolean ("auto-indent",
|
||||
"auto-indent", "auto-indent",
|
||||
TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_BACKSPACE_INDENTS,
|
||||
g_param_spec_boolean ("backspace-indents",
|
||||
"backspace-indents", "backspace-indents",
|
||||
FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||
|
||||
gtk_widget_class_install_style_property (widget_class,
|
||||
g_param_spec_int ("expander-size",
|
||||
"Expander Size",
|
||||
|
@ -606,9 +622,8 @@ static void moo_text_view_init (MooTextView *view)
|
|||
view->priv->last_search_stamp = -1;
|
||||
|
||||
view->priv->saved_cursor_visible = TRUE;
|
||||
view->priv->tab_indents = TRUE;
|
||||
view->priv->shift_tab_unindents = TRUE;
|
||||
view->priv->backspace_indents = TRUE;
|
||||
view->priv->tab_key_action = MOO_TEXT_TAB_KEY_INDENT;
|
||||
view->priv->backspace_indents = FALSE;
|
||||
view->priv->enter_indents = TRUE;
|
||||
view->priv->ctrl_up_down_scrolls = TRUE;
|
||||
view->priv->ctrl_page_up_down_scrolls = TRUE;
|
||||
|
@ -621,13 +636,6 @@ static void moo_text_view_init (MooTextView *view)
|
|||
|
||||
view->priv->qs.flags = MOO_TEXT_SEARCH_CASELESS;
|
||||
|
||||
#if 0
|
||||
gtk_drag_dest_unset (GTK_WIDGET (view));
|
||||
gtk_drag_dest_set (GTK_WIDGET (view), 0, NULL, 0, GDK_ACTION_DEFAULT);
|
||||
view->priv->targets = gtk_target_list_new (NULL, 0);
|
||||
gtk_target_list_add_text_targets (view->priv->targets, DND_TARGET_TEXT);
|
||||
#endif
|
||||
|
||||
name = g_strdup_printf ("moo-text-view-%p", view);
|
||||
gtk_widget_set_name (GTK_WIDGET (view), name);
|
||||
g_free (name);
|
||||
|
@ -1051,6 +1059,16 @@ moo_text_view_set_property (GObject *object,
|
|||
moo_text_view_set_tab_key_action (view, g_value_get_enum (value));
|
||||
break;
|
||||
|
||||
case PROP_AUTO_INDENT:
|
||||
view->priv->enter_indents = g_value_get_boolean (value);
|
||||
g_object_notify (object, "auto-indent");
|
||||
break;
|
||||
|
||||
case PROP_BACKSPACE_INDENTS:
|
||||
view->priv->backspace_indents = g_value_get_boolean (value);
|
||||
g_object_notify (object, "backspace-indents");
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
|
@ -1071,92 +1089,77 @@ moo_text_view_get_property (GObject *object,
|
|||
case PROP_BUFFER:
|
||||
g_value_set_object (value, get_buffer (view));
|
||||
break;
|
||||
|
||||
case PROP_INDENTER:
|
||||
g_value_set_object (value, view->priv->indenter);
|
||||
break;
|
||||
|
||||
case PROP_HIGHLIGHT_CURRENT_LINE:
|
||||
g_value_set_boolean (value, view->priv->highlight_current_line);
|
||||
break;
|
||||
|
||||
case PROP_HIGHLIGHT_MATCHING_BRACKETS:
|
||||
g_object_get (get_buffer (view), "highlight-matching-brackets", &val, NULL);
|
||||
g_value_set_boolean (value, val);
|
||||
break;
|
||||
|
||||
case PROP_HIGHLIGHT_MISMATCHING_BRACKETS:
|
||||
g_object_get (get_buffer (view), "highlight-mismatching-brackets", &val, NULL);
|
||||
g_value_set_boolean (value, val);
|
||||
break;
|
||||
|
||||
case PROP_CURRENT_LINE_COLOR_GDK:
|
||||
g_value_set_boxed (value, &view->priv->current_line_color);
|
||||
break;
|
||||
|
||||
case PROP_DRAW_TABS:
|
||||
g_value_set_boolean (value, view->priv->draw_tabs != 0);
|
||||
break;
|
||||
case PROP_DRAW_TRAILING_SPACES:
|
||||
g_value_set_boolean (value, view->priv->draw_trailing_spaces != 0);
|
||||
break;
|
||||
|
||||
case PROP_HAS_TEXT:
|
||||
g_value_set_boolean (value, moo_text_view_has_text (view));
|
||||
break;
|
||||
|
||||
case PROP_HAS_SELECTION:
|
||||
g_value_set_boolean (value, moo_text_view_has_selection (view));
|
||||
break;
|
||||
|
||||
case PROP_CAN_UNDO:
|
||||
g_value_set_boolean (value, moo_text_view_can_undo (view));
|
||||
break;
|
||||
|
||||
case PROP_CAN_REDO:
|
||||
g_value_set_boolean (value, moo_text_view_can_redo (view));
|
||||
break;
|
||||
|
||||
case PROP_MANAGE_CLIPBOARD:
|
||||
g_value_set_boolean (value, view->priv->manage_clipboard != 0);
|
||||
break;
|
||||
|
||||
case PROP_SMART_HOME_END:
|
||||
g_value_set_boolean (value, view->priv->smart_home_end != 0);
|
||||
break;
|
||||
|
||||
case PROP_ENABLE_HIGHLIGHT:
|
||||
g_value_set_boolean (value, moo_text_buffer_get_highlight (get_moo_buffer (view)));
|
||||
break;
|
||||
|
||||
case PROP_SHOW_LINE_NUMBERS:
|
||||
g_value_set_boolean (value, view->priv->show_line_numbers);
|
||||
break;
|
||||
|
||||
case PROP_SHOW_SCROLLBAR_MARKS:
|
||||
g_value_set_boolean (value, view->priv->show_scrollbar_marks);
|
||||
break;
|
||||
|
||||
case PROP_SHOW_LINE_MARKS:
|
||||
g_value_set_boolean (value, view->priv->show_line_marks);
|
||||
break;
|
||||
|
||||
case PROP_ENABLE_FOLDING:
|
||||
g_value_set_boolean (value, view->priv->enable_folding);
|
||||
break;
|
||||
|
||||
case PROP_ENABLE_QUICK_SEARCH:
|
||||
g_value_set_boolean (value, view->priv->qs.enable);
|
||||
break;
|
||||
|
||||
case PROP_QUICK_SEARCH_FLAGS:
|
||||
g_value_set_flags (value, view->priv->qs.flags);
|
||||
break;
|
||||
|
||||
case PROP_TAB_KEY_ACTION:
|
||||
g_value_set_enum (value, view->priv->tab_key_action);
|
||||
break;
|
||||
|
||||
case PROP_AUTO_INDENT:
|
||||
g_value_set_boolean (value, view->priv->enter_indents != 0);
|
||||
break;
|
||||
case PROP_BACKSPACE_INDENTS:
|
||||
g_value_set_boolean (value, view->priv->backspace_indents != 0);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "mooutils/moocompat.h"
|
||||
#include "mooutils/mooprefs.h"
|
||||
#include "mooutils/mooprefsdialogpage.h"
|
||||
#include "mooutils/mooutils-gobject.h"
|
||||
#include <string.h>
|
||||
|
||||
|
||||
|
@ -318,8 +319,16 @@ connect_signals (MooGladeXML *xml,
|
|||
{
|
||||
if (!strcmp (signal, "moo-prefs-key"))
|
||||
return connect_prefs_key (xml, widget, handler, object, user_data);
|
||||
else
|
||||
return FALSE;
|
||||
|
||||
if (!strcmp (signal, "moo-prefs-value"))
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_RADIO_BUTTON (widget), FALSE);
|
||||
g_object_set_data_full (G_OBJECT (widget), "moo-prefs-value",
|
||||
g_strdup (handler), g_free);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -447,6 +456,26 @@ setting_apply (GtkWidget *widget)
|
|||
}
|
||||
|
||||
|
||||
static int
|
||||
radio_button_get_value (GtkWidget *button,
|
||||
GType type)
|
||||
{
|
||||
const char *string;
|
||||
GValue val;
|
||||
|
||||
string = g_object_get_data (G_OBJECT (button), "moo-prefs-value");
|
||||
g_return_val_if_fail (string != NULL, -1);
|
||||
|
||||
val.g_type = 0;
|
||||
g_value_init (&val, type);
|
||||
|
||||
if (moo_value_convert_from_string (string, &val))
|
||||
return g_value_get_enum (&val);
|
||||
|
||||
g_return_val_if_reached (-1);
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
setting_get_value (GtkWidget *widget,
|
||||
GValue *value)
|
||||
|
@ -496,6 +525,22 @@ setting_get_value (GtkWidget *widget,
|
|||
return TRUE;
|
||||
}
|
||||
}
|
||||
else if (GTK_IS_RADIO_BUTTON (widget))
|
||||
{
|
||||
if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_ENUM))
|
||||
{
|
||||
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
|
||||
{
|
||||
int val = radio_button_get_value (widget, G_VALUE_TYPE (value));
|
||||
g_value_set_enum (value, val);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (GTK_IS_TOGGLE_BUTTON (widget))
|
||||
{
|
||||
if (value->g_type == G_TYPE_BOOLEAN)
|
||||
|
@ -562,6 +607,19 @@ static void setting_set_value (GtkWidget *widget,
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if (GTK_IS_RADIO_BUTTON (widget))
|
||||
{
|
||||
if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_ENUM))
|
||||
{
|
||||
int val = g_value_get_enum (value);
|
||||
int val_here = radio_button_get_value (widget, G_VALUE_TYPE (value));
|
||||
|
||||
if (val == val_here)
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (GTK_IS_TOGGLE_BUTTON (widget))
|
||||
{
|
||||
if (value->g_type == G_TYPE_BOOLEAN)
|
||||
|
|
|
@ -68,16 +68,6 @@ void moo_prefs_dialog_page_bind_setting (MooPrefsDialogPage *page,
|
|||
const char *setting,
|
||||
GtkToggleButton *set_or_not);
|
||||
|
||||
void moo_prefs_dialog_page_bind_radio_setting
|
||||
(MooPrefsDialogPage *page,
|
||||
const char *setting,
|
||||
GtkToggleButton **btns,
|
||||
const char **cvals);
|
||||
void moo_prefs_dialog_page_bind_radio (MooPrefsDialogPage *page,
|
||||
const char *setting,
|
||||
GtkToggleButton *btn,
|
||||
const char *cval);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
|
Loading…
Reference in New Issue