⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scim_tomoe_prefs_widget.cpp

📁 手写输入
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    gtk_widget_show (widget);    return vbox;}static GtkWidget *create_handwriting_page (ScimTomoePrefsWidget *prefs){    GtkWidget *vbox = gtk_vbox_new (FALSE, 0);    gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);    GtkWidget *widget;    // use auto find    widget = create_check_button (prefs, _("Use auto _find"),                                  SCIM_TOMOE_CONFIG_USE_AUTO_FIND,                                  SCIM_TOMOE_CONFIG_USE_AUTO_FIND_DEFAULT);    gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 4);    gtk_widget_show (widget);    // auto find time    GtkWidget *alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 24, 0);    gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);    gtk_widget_show (alignment);    GtkWidget *table = create_spin_button (        prefs,        _("_Interval time until start auto find:"),        _("[msec]"),        SCIM_TOMOE_CONFIG_AUTO_FIND_TIME,        SCIM_TOMOE_CONFIG_AUTO_FIND_TIME_DEFAULT,        0, 100000, 50, 200);    gtk_widget_set_sensitive (table, FALSE);    gtk_container_add (GTK_CONTAINER (alignment), table);    gtk_widget_show (table);    g_signal_connect (G_OBJECT (widget), "toggled",                      G_CALLBACK (on_default_toggle_button_set_sensitive),                      table);    // clear the canvas    widget = create_check_button (        prefs,        _("_Clear the canvas when select a candidate"),        SCIM_TOMOE_CONFIG_CLEAR_ON_SELECT,        SCIM_TOMOE_CONFIG_CLEAR_ON_SELECT_DEFAULT);    // font for the candidate view    widget = create_font_button (prefs, _("Font for the candidates view:"),                                 SCIM_TOMOE_CONFIG_CAND_FONT,                                 SCIM_TOMOE_CONFIG_CAND_FONT_DEFAULT);    gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 4);    gtk_widget_show (widget);    return vbox;}#ifdef TOMOE_GTK_HAS_GUCHARMAPstatic GtkWidget *create_unicode_table_page (ScimTomoePrefsWidget *prefs){    GtkWidget *vbox = gtk_vbox_new (FALSE, 0);    gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);    GtkWidget *widget;    widget = create_font_button (prefs, _("Font for the Unicode table:"),                                 SCIM_TOMOE_CONFIG_UNICODE_TABLE_FONT,                                 SCIM_TOMOE_CONFIG_UNICODE_TABLE_FONT_DEFAULT);    gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 4);    gtk_widget_show (widget);    return vbox;}#endif /* TOMOE_GTK_HAS_GUCHARMAP */static voidload_config (ScimTomoePrefsWidget *prefs){    GList *node;    if (prefs->config.null ())        return;    for (node = prefs->widget_list; node; node = g_list_next (node)) {        GtkWidget *widget = GTK_WIDGET (node->data);        if (GTK_IS_TOGGLE_BUTTON (widget)) {            gpointer key_p, value_p;            const char *key;            bool value;            key_p   = g_object_get_data (G_OBJECT (widget),                                         OBJECT_DATA_CONFIG_KEY);            value_p = g_object_get_data (G_OBJECT (widget),                                         OBJECT_DATA_CONFIG_VALUE);            key = (const char*) key_p;            value = GPOINTER_TO_INT (value_p);            value = prefs->config->read (String (key), value);            gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), value);        } else if (GTK_IS_SPIN_BUTTON (widget)) {            gpointer key_p, value_p;            const char *key;            gint value;            key_p   = g_object_get_data (G_OBJECT (widget),                                         OBJECT_DATA_CONFIG_KEY);            value_p = g_object_get_data (G_OBJECT (widget),                                         OBJECT_DATA_CONFIG_VALUE);            key = (const char*) key_p;            value = GPOINTER_TO_INT (value_p);            value = prefs->config->read (String (key), value);            gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value);        } else if (GTK_IS_FONT_BUTTON (widget)) {            gpointer key_p, value_p;            const char *key, *value;            String str;            key_p   = g_object_get_data (G_OBJECT (widget),                                         OBJECT_DATA_CONFIG_KEY);            value_p = g_object_get_data (G_OBJECT (widget),                                         OBJECT_DATA_CONFIG_VALUE);            key   = (const char*) key_p;            value = (const char*) value_p;            str = prefs->config->read (String (key),                                              value ? value : String (""));            if (str.length() > 0)                gtk_font_button_set_font_name (GTK_FONT_BUTTON (widget),                                               str.c_str());        }    }    apply_config (prefs);}static voidapply_config (ScimTomoePrefsWidget *prefs){    TomoeWindow *parent = TOMOE_WINDOW (prefs->parent);    TomoeHandwriting *hw = TOMOE_HANDWRITING (tomoe_window_get_handwriting_page (parent));    TomoeCanvas *canvas = TOMOE_CANVAS (tomoe_handwriting_get_canvas (hw));    // window z-level option    bool always_top;    always_top = prefs->config->read (        String (SCIM_TOMOE_CONFIG_WINDOW_ALWAYS_TOP),        SCIM_TOMOE_CONFIG_WINDOW_ALWAYS_TOP_DEFAULT);    gtk_window_set_keep_above (GTK_WINDOW (parent), always_top ? TRUE : FALSE);    // auto find    bool use_auto_find;    gint time1, time2;    time1 = tomoe_canvas_get_auto_find_time (canvas);    use_auto_find = prefs->config->read (        String (SCIM_TOMOE_CONFIG_USE_AUTO_FIND),        SCIM_TOMOE_CONFIG_USE_AUTO_FIND_DEFAULT);    time2 = prefs->config->read (        String (SCIM_TOMOE_CONFIG_AUTO_FIND_TIME),        SCIM_TOMOE_CONFIG_AUTO_FIND_TIME_DEFAULT);    if (!use_auto_find)        tomoe_canvas_set_auto_find_time (canvas, -1);    else if (time1 != time2)        tomoe_canvas_set_auto_find_time (canvas, time2);    // candidates view font    GtkWidget *view = tomoe_handwriting_get_char_table (hw);    String font;    font = prefs->config->read (        String (SCIM_TOMOE_CONFIG_CAND_FONT),        String (SCIM_TOMOE_CONFIG_CAND_FONT_DEFAULT));    if (font.length() > 0) {        PangoFontDescription *desc;        desc = pango_font_description_from_string (font.c_str ());        gtk_widget_modify_font (view, desc);        pango_font_description_free (desc);    } else {        set_default_font (prefs, SCIM_TOMOE_CONFIG_CAND_FONT, view);    }#ifdef TOMOE_GTK_HAS_GUCHARMAP    // Unicode table font    TomoeGucharmap *gucharmap = TOMOE_GUCHARMAP (tomoe_window_get_gucharmap_page (parent));    GucharmapCharmap *charmap = tomoe_gucharmap_get_charmap (gucharmap);    font = prefs->config->read (        String (SCIM_TOMOE_CONFIG_UNICODE_TABLE_FONT),        String (SCIM_TOMOE_CONFIG_UNICODE_TABLE_FONT_DEFAULT));    if (font.length() > 0) {        gucharmap_charmap_set_font (charmap, font.c_str ());    } else {        gucharmap_charmap_set_font (charmap, NULL);        set_default_font (prefs, SCIM_TOMOE_CONFIG_CAND_FONT,                          GTK_WIDGET (charmap));    }#endif /* TOMOE_GTK_HAS_GUCHARMAP */}static voidon_default_toggle_button_toggled (GtkToggleButton *togglebutton,                                  gpointer user_data){    ScimTomoePrefsWidget *prefs = SCIM_TOMOE_PREFS_WIDGET (user_data);    gboolean value = gtk_toggle_button_get_active (togglebutton);    gpointer key_p   = g_object_get_data (G_OBJECT (togglebutton),                                          OBJECT_DATA_CONFIG_KEY);    const gchar *key = (const gchar *) key_p;    if (key && *key)        prefs->config->write (String (key), value);    apply_config (prefs);}static voidon_default_toggle_button_set_sensitive (GtkToggleButton *togglebutton,                                        gpointer user_data){    GtkWidget *widget = GTK_WIDGET (user_data);    gboolean active = gtk_toggle_button_get_active (togglebutton);    gtk_widget_set_sensitive (widget, active);}static voidon_default_spin_button_changed (GtkSpinButton *spinbutton, gpointer user_data){    ScimTomoePrefsWidget *prefs = SCIM_TOMOE_PREFS_WIDGET (user_data);    gint value = (gint) gtk_spin_button_get_value (spinbutton);    gpointer key_p   = g_object_get_data (G_OBJECT (spinbutton),                                          OBJECT_DATA_CONFIG_KEY);    const gchar *key = (const gchar *) key_p;    if (key && *key)        prefs->config->write (String (key), value);    apply_config (prefs);}static voidon_default_font_button_changed (GtkFontButton *button, gpointer user_data){    ScimTomoePrefsWidget *prefs = SCIM_TOMOE_PREFS_WIDGET (user_data);    const gchar *value = gtk_font_button_get_font_name (button);    gpointer key_p   = g_object_get_data (G_OBJECT (button),                                          OBJECT_DATA_CONFIG_KEY);    const gchar *key = (const gchar *) key_p;    if (key && *key)        prefs->config->write (String (key), value ? value : String (""));    apply_config (prefs);}/*vi:ts=4:nowrap:ai:expandtab*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -