📄 xo-misc.c
字号:
GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonColorOther")), TRUE); }}void update_tool_buttons(void){ switch(ui.toolno[ui.cur_mapping]) { case TOOL_PEN: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonPen")), TRUE); break; case TOOL_ERASER: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonEraser")), TRUE); break; case TOOL_HIGHLIGHTER: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonHighlighter")), TRUE); break; case TOOL_TEXT: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonText")), TRUE); break; case TOOL_SELECTREGION: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonSelectRegion")), TRUE); break; case TOOL_SELECTRECT: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonSelectRectangle")), TRUE); break; case TOOL_VERTSPACE: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonVerticalSpace")), TRUE); break; case TOOL_HAND: gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonHand")), TRUE); break; } gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonRuler")), ui.ruler[ui.cur_mapping]); update_thickness_buttons(); update_color_buttons();}void update_tool_menu(void){ switch(ui.toolno[0]) { case TOOL_PEN: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsPen")), TRUE); break; case TOOL_ERASER: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsEraser")), TRUE); break; case TOOL_HIGHLIGHTER: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsHighlighter")), TRUE); break; case TOOL_TEXT: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsText")), TRUE); break; case TOOL_SELECTREGION: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsSelectRegion")), TRUE); break; case TOOL_SELECTRECT: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsSelectRectangle")), TRUE); break; case TOOL_VERTSPACE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsVerticalSpace")), TRUE); break; case TOOL_HAND: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsHand")), TRUE); break; } gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsRuler")), ui.ruler[0]);}void update_ruler_indicator(void){ gtk_toggle_tool_button_set_active( GTK_TOGGLE_TOOL_BUTTON(GET_COMPONENT("buttonRuler")), ui.ruler[ui.cur_mapping]); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("toolsRuler")), ui.ruler[0]);}void update_color_menu(void){ if (ui.selection!=NULL || (ui.toolno[ui.cur_mapping] != TOOL_PEN && ui.toolno[ui.cur_mapping] != TOOL_HIGHLIGHTER && ui.toolno[ui.cur_mapping] != TOOL_TEXT)) { gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorNA")), TRUE); } else switch (ui.cur_brush->color_no) { case COLOR_BLACK: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorBlack")), TRUE); break; case COLOR_BLUE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorBlue")), TRUE); break; case COLOR_RED: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorRed")), TRUE); break; case COLOR_GREEN: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorGreen")), TRUE); break; case COLOR_GRAY: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorGray")), TRUE); break; case COLOR_LIGHTBLUE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorLightBlue")), TRUE); break; case COLOR_LIGHTGREEN: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorLightGreen")), TRUE); break; case COLOR_MAGENTA: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorMagenta")), TRUE); break; case COLOR_ORANGE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorOrange")), TRUE); break; case COLOR_YELLOW: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorYellow")), TRUE); break; case COLOR_WHITE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorWhite")), TRUE); break; default: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("colorOther")), TRUE); }}void update_pen_props_menu(void){ switch(ui.brushes[0][TOOL_PEN].thickness_no) { case THICKNESS_VERYFINE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("penthicknessVeryFine")), TRUE); break; case THICKNESS_FINE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("penthicknessFine")), TRUE); break; case THICKNESS_MEDIUM: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("penthicknessMedium")), TRUE); break; case THICKNESS_THICK: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("penthicknessThick")), TRUE); break; case THICKNESS_VERYTHICK: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("penthicknessVeryThick")), TRUE); break; }}void update_eraser_props_menu(void){ switch (ui.brushes[0][TOOL_ERASER].thickness_no) { case THICKNESS_FINE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("eraserFine")), TRUE); break; case THICKNESS_MEDIUM: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("eraserMedium")), TRUE); break; case THICKNESS_THICK: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("eraserThick")), TRUE); break; } gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("eraserStandard")), ui.brushes[0][TOOL_ERASER].tool_options == TOOLOPT_ERASER_STANDARD); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("eraserWhiteout")), ui.brushes[0][TOOL_ERASER].tool_options == TOOLOPT_ERASER_WHITEOUT); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("eraserDeleteStrokes")), ui.brushes[0][TOOL_ERASER].tool_options == TOOLOPT_ERASER_STROKES);}void update_highlighter_props_menu(void){ switch (ui.brushes[0][TOOL_HIGHLIGHTER].thickness_no) { case THICKNESS_FINE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("highlighterFine")), TRUE); break; case THICKNESS_MEDIUM: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("highlighterMedium")), TRUE); break; case THICKNESS_THICK: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("highlighterThick")), TRUE); break; }}void update_mappings_menu_linkings(void){ switch (ui.linked_brush[1]) { case BRUSH_LINKED: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2LinkBrush")), TRUE); break; case BRUSH_COPIED: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2CopyBrush")), TRUE); break; case BRUSH_STATIC: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2NABrush")), TRUE); break; } switch (ui.linked_brush[2]) { case BRUSH_LINKED: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3LinkBrush")), TRUE); break; case BRUSH_COPIED: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3CopyBrush")), TRUE); break; case BRUSH_STATIC: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3NABrush")), TRUE); break; }}void update_mappings_menu(void){ gtk_widget_set_sensitive(GET_COMPONENT("optionsButtonMappings"), ui.use_xinput); gtk_widget_set_sensitive(GET_COMPONENT("optionsDiscardCoreEvents"), ui.use_xinput && (gtk_check_version(2, 11, 0)!=NULL)); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("optionsButtonMappings")), ui.use_erasertip); gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("optionsDiscardCoreEvents")), ui.discard_corepointer); switch(ui.toolno[1]) { case TOOL_PEN: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2Pen")), TRUE); break; case TOOL_ERASER: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2Eraser")), TRUE); break; case TOOL_HIGHLIGHTER: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2Highlighter")), TRUE); break; case TOOL_TEXT: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2Text")), TRUE); break; case TOOL_SELECTREGION: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2SelectRegion")), TRUE); break; case TOOL_SELECTRECT: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2SelectRectangle")), TRUE); break; case TOOL_VERTSPACE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button2VerticalSpace")), TRUE); break; } switch(ui.toolno[2]) { case TOOL_PEN: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3Pen")), TRUE); break; case TOOL_ERASER: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3Eraser")), TRUE); break; case TOOL_HIGHLIGHTER: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3Highlighter")), TRUE); break; case TOOL_TEXT: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3Text")), TRUE); break; case TOOL_SELECTREGION: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3SelectRegion")), TRUE); break; case TOOL_SELECTRECT: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3SelectRectangle")), TRUE); break; case TOOL_VERTSPACE: gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(GET_COMPONENT("button3VerticalSpace")), TRUE); break; } update_mappings_menu_linkings();}void do_switch_page(int pg, gboolean rescroll, gboolean refresh_all){ int i, cx, cy; struct Layer *layer; GList *list; ui.pageno = pg; /* re-show all the layers of the old page */ if (ui.cur_page != NULL) for (i=0, list = ui.cur_page->layers; list!=NULL; i++, list = list->next) { layer = (struct Layer *)list->data; if (layer->group!=NULL) gnome_canvas_item_show(GNOME_CANVAS_ITEM(layer->group)); } ui.cur_page = g_list_nth_data(journal.pages, ui.pageno); ui.layerno = ui.cur_page->nlayers-1; ui.cur_layer = (struct Layer *)(g_list_last(ui.cur_page->layers)->data); update_page_stuff(); if (ui.progressive_bg) rescale_bg_pixmaps(); if (rescroll) { // scroll and force a refresh/* -- this seems to cause some display bugs ?? gtk_adjustment_set_value(gtk_layout_get_vadjustment(GTK_LAYOUT(canvas)), ui.cur_page->voffset*ui.zoom); */ gnome_canvas_get_scroll_offsets(canvas, &cx, &cy); cy = ui.cur_page->voffset*ui.zoom; gnome_canvas_scroll_to(canvas, cx, cy); if (refresh_all) gnome_canvas_set_pixels_per_unit(canvas, ui.zoom);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -