📄 resource.cc
字号:
app.rows = 1; if (XrmGetResource(resource_db, "bbsmount.column.width", "Bbsmount.Column.Width", &value_type, &value)) { if (sscanf(value.addr, "%u", &app.column_width) != 1) app.column_width = 32; else if (app.column_width == 0) app.column_width = 32; } else app.column_width = 32; if (XrmGetResource(resource_db, "bbsmount.row.height", "Bbsmount.Row.Height", &value_type, &value)) { if (sscanf(value.addr, "%u", &app.row_height) != 1) app.row_height = 32; else if (app.row_height == 0) app.row_height = 32; } else app.row_height = 32; readTexture("bbsmount.mount", "Bbsmount.Mount",BB_LABEL,"Toolbar.Button", "slategrey","darkslategrey", "Raised Gradient Vertical Bevel1", &app.mount_texture); readTexture("bbsmount.mount.pressed", "Bbsmount.Mount.Pressed",BB_LABEL,"Toolbar.Button.Pressed", "slategrey","darkslategrey", "Sunken Gradient Vertical Bevel1", &app.mount_texture_pressed); if (XrmGetResource(resource_db, "bbsmount.buttonpadding","Bbsmount.ButtonPadding", &value_type, &value)) { if (sscanf(value.addr, "%u", &app.button_padding) != 1) app.button_padding = 2; } else app.button_padding = 2; if (XrmGetResource(resource_db, "bbsmount.checkdelay", "Bbsmount.CheckDelay", &value_type, &value)) { if (sscanf(value.addr, "%u", &app.button_padding) != 1) app.refresh_time = 1; else if (app.refresh_time == 0) app.refresh_time = 1; } else app.refresh_time = 1; if (XrmGetResource(resource_db, "bbsmount.debuglevel", "Bbsmount.DebugLevel", &value_type, &value)) { if (sscanf(value.addr, "%u", &debug_level) != 1) debug_level = 2; } else debug_level = 2;}void Resource::ImagePrefix(void){ XrmValue value; char *value_type; if (XrmGetResource(resource_db, "bbsmount.imageprefix", "Bbsmount.ImagePrefix", &value_type, &value)) { image_prefix = value.addr; } else image_prefix = "";}voidResource::Tooltip(void){ XrmValue value; char *value_type; readTexture("bbsmount.tooltip","Bbsmount.ToolTip", BB_TOOLTIP, "Window.Label.Focus", "slategrey","darkslategrey", "Flat Gradient Diagonal Bevel1", &tooltip.texture); readColor("bbsmount.tooltip.borderColor","Bbsmount.ToolTip.BorderColor", BB_BORDERCOLOR,"BorderColor", "DarkGrey",&tooltip.borderColor); readColor("bbsmount.tooltip.textColor","Bbsmount.ToolTip.TextColor", BB_MENU_TEXTCOLOR,"Menu.Frame.TextColor", "LightGrey",&tooltip.textColor); if (XrmGetResource(resource_db, "bbsmount.tooltip.bevelWidth", "Bbsmount.ToolTip.BevelWidth", &value_type, &value)) { if (sscanf(value.addr, "%u", &tooltip.bevelWidth) != 1) tooltip.bevelWidth = 2; } else tooltip.bevelWidth = 2; if (XrmGetResource(resource_db, "bbsmount.tooltip.borderWidth", "Bbsmount.ToolTip.BorderWidth", &value_type, &value)) { if (sscanf(value.addr, "%u", &tooltip.borderWidth) != 1) tooltip.borderWidth = 1; } else tooltip.borderWidth = 1; if (XrmGetResource(resource_db, "bbsmount.tooltip.timeout", "Bbsmount.ToolTip.Timeout", &value_type, &value)) { if (sscanf(value.addr, "%u", &tooltip.timeout) != 1) tooltip.timeout = 0; } else tooltip.timeout = 0; /* need this to compute the height */ const char *defaultFont = "-*-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*"; if (tooltip.font) { XFreeFont(bbtool->getXDisplay(), tooltip.font); tooltip.font = NULL; } if (tooltip.fontset) { XFreeFontSet(bbtool->getXDisplay(), tooltip.fontset); tooltip.fontset = NULL; tooltip.fontset_extents = NULL; } if (XrmGetResource(resource_db, "bbsmount.tooltip.font","Bbsmount.ToolTip.Font", &value_type, &value)) { if (i18n.multibyte()) { if ((tooltip.fontset = createFontSet(value.addr)) == NULL) { fprintf(stderr, " blackbox: couldn't load font '%s'\n" " ... reverting to default font.", value.addr); if ((tooltip.fontset = createFontSet(defaultFont)) == NULL) { fprintf(stderr, "blackbox: couldn't load default font. please check to\n" "make sure the necessary font is installed '%s'\n", defaultFont); exit(2); } } tooltip.fontset_extents = XExtentsOfFontSet(tooltip.fontset); } else { if ((tooltip.font = XLoadQueryFont(bbtool->getXDisplay(), value.addr)) == NULL) { fprintf(stderr, " blackbox: couldn't load font '%s'\n" " ... reverting to default font.", value.addr); if ((tooltip.font = XLoadQueryFont(bbtool->getXDisplay(), defaultFont)) == NULL) { fprintf(stderr,"blackbox: couldn't load default font. please check to\n" "make sure the necessary font is installed '%s'\n", defaultFont); exit(2); } } } } else { if (XrmGetResource(resource_db, BB_FONT,"TitleFont", &value_type, &value)) { if (i18n.multibyte()) { if ((tooltip.fontset = createFontSet(value.addr)) == NULL) { fprintf(stderr, " blackbox: couldn't load font '%s'\n" " ... reverting to default font.", value.addr); if ((tooltip.fontset = createFontSet(defaultFont)) == NULL) { fprintf(stderr, "blackbox: couldn't load default font. please check to\n" "make sure the necessary font is installed '%s'\n", defaultFont); exit(2); } } } else { if ((tooltip.font = XLoadQueryFont(bbtool->getXDisplay(), value.addr)) == NULL) { fprintf(stderr, " blackbox: couldn't load font '%s'\n" " ... reverting to default font.", value.addr); if ((tooltip.font = XLoadQueryFont(bbtool->getXDisplay(), defaultFont)) == NULL) { fprintf(stderr, "blackbox: couldn't load default font. please check to\n" "make sure the necessary font is installed '%s'\n", defaultFont); exit(2); } } } } else { if (i18n.multibyte()) { if ((tooltip.fontset = createFontSet(defaultFont)) == NULL) { fprintf(stderr, "blackbox: couldn't load default font. please check to\n" "make sure the necessary font is installed '%s'\n", defaultFont); exit(2); } } else { if ((tooltip.font = XLoadQueryFont(bbtool->getXDisplay(), defaultFont)) == NULL) { fprintf(stderr, "blackbox: couldn't load default font. please check to\n" "make sure the necessary font is installed '%s'\n", defaultFont); exit(2); } } } }}//void Resource::Show()//{// XrmValue value;// char *value_type;//// if (XrmGetResource(resource_db, "bbsmount.show.euStyle",// "Bbsmount.show.EuStyle", &value_type, &value))// {// if (! strncasecmp("true", value.addr, value.size))// {// report.euStyle = True;// }// else// report.euStyle = False;// }// else// report.euStyle = False;// // /* what to show.resources *///}/*void Resource::MountPoints(void){ XrmValue value; char *value_type; char str1[30], str2[30]; int mount_counter = 1; bool next = true; CleanMounts(); while (next) { sprintf(str1, "bbsmount.mount%u", mount_counter); sprintf(str2, "Bbsmount.Mount%u", mount_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) { if (!strncasecmp("true", value.addr, value.size)) { mounts = (MOUNT_POINT *)(++mounts_count > 1 ? realloc((void *)mounts, sizeof(MOUNT_POINT) * mounts_count) : malloc(sizeof(MOUNT_POINT))); sprintf(str1, "bbsmount.mount%u.mountpoint", mount_counter); sprintf(str2, "Bbsmount.Mount%u.MountPoint", mount_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) { mounts[mounts_count - 1].mount_point = strdup(value.addr); } else { if (--mounts_count) mounts = (MOUNT_POINT *)realloc((void *)mounts, sizeof(MOUNT_POINT) * mounts_count); else mounts = NULL; continue; } sprintf(str1, "bbsmount.mount%u.mounted", mount_counter); sprintf(str2, "Bbsmount.Mount%u.Mounted", mount_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) { XpmReadFileToXpmImage(value.addr, &mounts[mounts_count - 1].mounted, NULL); } sprintf(str1, "bbsmount.mount%u.notmounted", mount_counter); sprintf(str2, "Bbsmount.Mount%u.NotMounted", mount_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) { XpmReadFileToXpmImage(value.addr, &mounts[mounts_count - 1].not_mounted, NULL); } sprintf(str1, "bbsmount.mount%u.eject", mount_counter); sprintf(str2, "Bbsmount.Mount%u.Eject", mount_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) if (!strncasecmp("true", value.addr, value.size)) mounts[mounts_count - 1].can_eject = true; else mounts[mounts_count - 1].can_eject = false; else mounts[mounts_count - 1].can_eject = false; sprintf(str1, "bbsmount.mount%u.close", mount_counter); sprintf(str2, "Bbsmount.Mount%u.Close", mount_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) if (!strncasecmp("true", value.addr, value.size)) mounts[mounts_count - 1].can_close = true; else mounts[mounts_count - 1].can_close = false; else mounts[mounts_count - 1].can_close = false; } else next = false; } else next = false; mount_counter++; }}*/const string &Resource::GetImagePrefix(void) const{ return image_prefix;}const vector<MountPoint> &Resource::GetMountPoints(void) const{ return mount_points;}const vector<string> &Resource::GetCommands(void) const{ return commands;}const vector<string> &Resource::getInfoTexts(void) const{ return infotexts;}const vector<string> &Resource::GetImages(void) const{ return images;}voidResource::FreeAll(void){ images.clear(); commands.clear(); infotexts.clear(); mount_points.clear(); image_prefix.erase();}voidResource::MountPoints(void){ LoadImages(); LoadCommands(); LoadInfoTexts(); LoadMountPoints();}voidResource::LoadImages(void){ XrmValue value; char *value_type, str1[30], str2[30]; bool exists = true; int image_counter = 1; images.clear(); do { sprintf(str1, "bbsmount.image%u", image_counter); sprintf(str2, "Bbsmount.Image%u", image_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) { images.push_back(string(value.addr));#if DEBUG if (debug_level >= dbg_all_work) printf("Saving image path nr. %d (%s).\n", image_counter, value.addr);#endif /* DEBUG */ } else exists = false; image_counter++; } while (exists); #if DEBUG if (debug_level >= dbg_summary) printf("%d image definitions found.\n", image_counter - 2);#endif /* DEBUG */}voidResource::LoadCommands(void){ XrmValue value; char *value_type, str1[32], str2[32]; bool exists = true; int command_counter = 1; commands.clear(); commands.push_back(""); do { sprintf(str1, "bbsmount.command%u", command_counter); sprintf(str2, "Bbsmount.Command%u", command_counter); if (XrmGetResource(resource_db, str1, str2, &value_type, &value)) { commands.push_back(string(value.addr));#if DEBUG if (debug_level >= dbg_all_work) printf("Saving command nr. %d (%s).\n", command_counter, value.addr);#endif /* DEBUG */ } else exists = false; command_counter++; } while (exists); #if DEBUG if (debug_level >= dbg_summary) printf("%d commands found.\n", command_counter - 2);#endif /* DEBUG */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -