/** * Menu callback: Save the selected attachment * \param mimeview Current display */ static void mimeview_save_as(MimeView *mimeview) { gchar *filename; gchar *filepath = NULL; gchar *filedir = NULL; MimeInfo *partinfo; gchar *partname = NULL; if (!mimeview->opened) return; if (!mimeview->file) return; partinfo = mimeview_get_selected_part(mimeview); if (!partinfo) { partinfo = (MimeInfo *) gtk_object_get_data (GTK_OBJECT(mimeview->popupmenu), "pop_partinfo"); gtk_object_set_data(GTK_OBJECT(mimeview->popupmenu), "pop_partinfo", NULL); } g_return_if_fail(partinfo != NULL); if (get_part_name(partinfo) == NULL) { return; } partname = g_strdup(get_part_name(partinfo)); subst_for_filename(partname); if (prefs_common.attach_save_dir) filepath = g_strconcat(prefs_common.attach_save_dir, G_DIR_SEPARATOR_S, partname, NULL); else filepath = g_strdup(partname); g_free(partname); filename = filesel_select_file(_("Save as"), filepath); if (!filename) { g_free(filepath); return; } mimeview_write_part(filename, partinfo); filedir = g_dirname(filename); if (filedir && strcmp(filedir, ".")) { if (prefs_common.attach_save_dir) g_free(prefs_common.attach_save_dir); prefs_common.attach_save_dir = g_strdup(filedir); } g_free(filedir); g_free(filepath); }
static void connection_open_cb (LmConnection *connection, gboolean success, gpointer user_data) { if (success) { gchar *user; user = get_part_name (username); if (!lm_connection_authenticate (connection, user, password, resource, connection_auth_cb, NULL, FALSE, NULL)) { g_free (user); g_printerr ("LmSendAsync: Failed to send authentication\n"); g_main_loop_quit (main_loop); return; } g_free (user); g_print ("LmSendAsync: Sent authentication message\n"); } else { g_printerr ("LmSendAsync: Failed to connect\n"); g_main_loop_quit (main_loop); } }
void main() { char answer[100]; printf("Enter part to search for the name of the part\r\n\n"); printf("Enter number to search for the number of the part\r\n\n"); printf("enter change if you want to change the quantity of a current product\r\n\n"); printf("Enter add part to add an item to the database\r\n\n"); printf("If you want to read the whole database then please enter read\n\r\n"); printf("If you want to exit, enter quit\r\n\n"); gets(answer); if(answer[0]=='N'||answer[0]=='n'){get_number();} else if(answer[0]=='P'||answer[0]=='p'){get_part_name();} else if(answer[0]=='C'||answer[0]=='c'){change_quantity();} else if(answer[0]=='A'||answer[0]=='a'){add_part();} else if(answer[0]=='R'||answer[0]=='r'){read_out();} else if(answer[0]=='Q'||answer[0]=='q'){exit(0);} else { printf("Answer was none of the statements , thank you for using this\r\n"); } }
static void mimeview_drag_data_get(GtkWidget *widget, GdkDragContext *drag_context, GtkSelectionData *selection_data, guint info, guint time, MimeView *mimeview) { gchar *filename, *uriname; MimeInfo *partinfo; if (!mimeview->opened) return; if (!mimeview->file) return; partinfo = mimeview_get_selected_part(mimeview); if (!partinfo) return; filename = g_basename(get_part_name(partinfo)); if (*filename == '\0') return; filename = g_strconcat(get_mime_tmp_dir(), G_DIR_SEPARATOR_S, filename, NULL); if (procmime_get_part(filename, partinfo) < 0) alertpanel_error (_("Can't save the part of multipart message.")); uriname = g_strconcat("file://", filename, NULL); gtk_selection_data_set(selection_data, selection_data->target, 8, uriname, strlen(uriname)); g_free(uriname); g_free(filename); }
static GtkCTreeNode *mimeview_append_part(MimeView *mimeview, MimeInfo *partinfo, GtkCTreeNode *parent) { GtkCTree *ctree = GTK_CTREE(mimeview->ctree); GtkCTreeNode *node; static gchar content_type[64]; gchar *str[N_MIMEVIEW_COLS]; if (partinfo->type != MIMETYPE_UNKNOWN && partinfo->subtype) { g_snprintf(content_type, 64, "%s/%s", procmime_get_media_type_str(partinfo->type), partinfo->subtype); } else { g_snprintf(content_type, 64, "UNKNOWN"); } str[COL_MIMETYPE] = content_type; str[COL_SIZE] = to_human_readable(partinfo->length); if (prefs_common.attach_desc) str[COL_NAME] = (gchar *) get_part_description(partinfo); else str[COL_NAME] = (gchar *) get_part_name(partinfo); node = gtk_ctree_insert_node(ctree, parent, NULL, str, 0, NULL, NULL, NULL, NULL, FALSE, TRUE); gtk_ctree_node_set_row_data(ctree, node, partinfo); return node; }
static const gchar *get_part_description(MimeInfo *partinfo) { if (partinfo->description) return partinfo->description; else return get_part_name(partinfo); }
string libhand2dd(string libhand_name, bool can_fail) { libhand_name = get_part_name(libhand_name); string answer = a_mapping.lh_to_dd[libhand_name]; if(answer == "") cout << "unmap_kp_name fails: " << libhand_name << endl; assert(answer != "" || can_fail); return answer; }
string dd2libhand(string dd_name, bool can_fail) { dd_name = get_part_name(dd_name); string answer = a_mapping.dd_to_lh[dd_name]; if(answer == "") cout << "map_kp_name fails: " << dd_name << endl; assert(answer != "" || can_fail); return answer; }
static gboolean update_node_name_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { MimeInfo *partinfo; gchar *part_name; gtk_tree_model_get(model, iter, COL_MIME_INFO, &partinfo, -1); g_return_val_if_fail(partinfo != NULL, FALSE); part_name = get_part_name(partinfo); gtk_tree_store_set(GTK_TREE_STORE(model), iter, COL_NAME, part_name, -1); return FALSE; }
u32 get_part_range (DM_IMG_TYPE img_type) { part_t *part; blkdev_t *blkdev = blkdev_get(CFG_BOOT_DEV); u8 *name = get_part_name (img_type); DM_ASSERT (name); if (name == NULL) return 0; part = part_get(name); DM_ASSERT (part); return ((part->pgnum) * blkdev->blksz); }
/** * Returns a filename (with path) for an attachment * \param partinfo The attachment to save * \param basedir The target directory * \param number Used for dummy filename if attachment is unnamed */ gchar *mimeview_get_filename_for_part(MimeInfo *partinfo, const gchar *basedir, gint number) { gchar *fullname; gchar *filename; filename = g_strdup(get_part_name(partinfo)); if (!filename || !*filename) filename = g_strdup_printf("noname.%d", number); subst_for_filename(filename); fullname = g_strconcat (basedir, G_DIR_SEPARATOR_S, (filename[0] == G_DIR_SEPARATOR) ? &filename[1] : filename, NULL); g_free(filename); return fullname; }
static gboolean mimeview_append_part(MimeView *mimeview, MimeInfo *partinfo, GtkTreeIter *iter, GtkTreeIter *parent) { gchar *mime_type; gchar *size; gchar *name; mime_type = partinfo->content_type ? partinfo->content_type : ""; size = to_human_readable(partinfo->content_size); name = get_part_name(partinfo); if (name && *name != '\0') mimeview->has_attach_file = TRUE; gtk_tree_store_append(mimeview->store, iter, parent); gtk_tree_store_set(mimeview->store, iter, COL_MIMETYPE, mime_type, COL_SIZE, size, COL_NAME, name, COL_MIME_INFO, partinfo, -1); return TRUE; }
static void icon_list_append_icon (MimeView *mimeview, MimeInfo *mimeinfo) { GtkWidget *pixmap; GtkWidget *vbox; GtkWidget *button; gchar *tip; gchar *tiptmp; const gchar *desc = NULL; gchar *sigshort = NULL; gchar *content_type; StockPixmap stockp; MimeInfo *partinfo; MimeInfo *siginfo = NULL; MimeInfo *encrypted = NULL; vbox = mimeview->icon_vbox; mimeview->icon_count++; button = gtk_toggle_button_new(); gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); gtk_object_set_data(GTK_OBJECT(button), "icon_number", GINT_TO_POINTER(mimeview->icon_count)); gtk_object_set_data(GTK_OBJECT(button), "partinfo", mimeinfo); switch (mimeinfo->type) { case MIMETYPE_TEXT: if (mimeinfo->subtype && !g_strcasecmp(mimeinfo->subtype, "html")) stockp = STOCK_PIXMAP_MIME_TEXT_HTML; else if (mimeinfo->subtype && !g_strcasecmp(mimeinfo->subtype, "enriched")) stockp = STOCK_PIXMAP_MIME_TEXT_ENRICHED; else stockp = STOCK_PIXMAP_MIME_TEXT_PLAIN; break; case MIMETYPE_MESSAGE: stockp = STOCK_PIXMAP_MIME_MESSAGE; break; case MIMETYPE_APPLICATION: stockp = STOCK_PIXMAP_MIME_APPLICATION; break; case MIMETYPE_IMAGE: stockp = STOCK_PIXMAP_MIME_IMAGE; break; case MIMETYPE_AUDIO: stockp = STOCK_PIXMAP_MIME_AUDIO; break; default: stockp = STOCK_PIXMAP_MIME_UNKNOWN; break; } partinfo = mimeinfo; while (partinfo != NULL) { if (privacy_mimeinfo_is_signed(partinfo)) { siginfo = partinfo; break; } if (privacy_mimeinfo_is_encrypted(partinfo)) { encrypted = partinfo; break; } partinfo = procmime_mimeinfo_parent(partinfo); } if (siginfo != NULL) { switch (privacy_mimeinfo_get_sig_status(siginfo)) { case SIGNATURE_UNCHECKED: case SIGNATURE_CHECK_FAILED: pixmap = stock_pixmap_widget_with_overlay(mimeview->mainwin->window, stockp, STOCK_PIXMAP_PRIVACY_EMBLEM_SIGNED, OVERLAY_BOTTOM_RIGHT, 6, 3); break; case SIGNATURE_OK: pixmap = stock_pixmap_widget_with_overlay(mimeview->mainwin->window, stockp, STOCK_PIXMAP_PRIVACY_EMBLEM_PASSED, OVERLAY_BOTTOM_RIGHT, 6, 3); break; case SIGNATURE_WARN: pixmap = stock_pixmap_widget_with_overlay(mimeview->mainwin->window, stockp, STOCK_PIXMAP_PRIVACY_EMBLEM_WARN, OVERLAY_BOTTOM_RIGHT, 6, 3); break; case SIGNATURE_INVALID: pixmap = stock_pixmap_widget_with_overlay(mimeview->mainwin->window, stockp, STOCK_PIXMAP_PRIVACY_EMBLEM_FAILED, OVERLAY_BOTTOM_RIGHT, 6, 3); break; } sigshort = privacy_mimeinfo_sig_info_short(siginfo); } else if (encrypted != NULL) { pixmap = stock_pixmap_widget_with_overlay(mimeview->mainwin->window, stockp, STOCK_PIXMAP_PRIVACY_EMBLEM_ENCRYPTED, OVERLAY_BOTTOM_RIGHT, 6, 3); } else { pixmap = stock_pixmap_widget_with_overlay(mimeview->mainwin->window, stockp, 0, OVERLAY_NONE, 6, 3); } gtk_container_add(GTK_CONTAINER(button), pixmap); if (!desc) { if (prefs_common.attach_desc) desc = get_part_description(mimeinfo); else desc = get_part_name(mimeinfo); } content_type = procmime_get_content_type_str(mimeinfo->type, mimeinfo->subtype); tip = g_strjoin("\n", content_type, to_human_readable(mimeinfo->length), NULL); g_free(content_type); if (desc && *desc) { tiptmp = g_strjoin("\n", desc, tip, NULL); g_free(tip); tip = tiptmp; } if (sigshort && *sigshort) { tiptmp = g_strjoin("\n", tip, sigshort, NULL); g_free(tip); tip = tiptmp; } g_free(sigshort); gtk_tooltips_set_tip(mimeview->tooltips, button, tip, NULL); g_free(tip); gtk_widget_show_all(button); gtk_signal_connect(GTK_OBJECT(button), "button_release_event", GTK_SIGNAL_FUNC(icon_clicked_cb), mimeview); gtk_signal_connect(GTK_OBJECT(button), "key_press_event", GTK_SIGNAL_FUNC(icon_key_pressed), mimeview); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); }