static void text_entry_activate(GtkWidget *widget, gpointer data) { char *entry_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(widget))); gtk_entry_set_text(GTK_ENTRY(widget), ""); if (TEXT_ENTRY(widget)->priv->session != NULL) { handle_multiline(TEXT_ENTRY(widget)->priv->session, (char *)entry_text, TRUE, FALSE); } g_free(entry_text); }
void fe_close_window (struct session *sess) { /* * There's really no point in doing all of this if the user is * quitting the app. It makes it slow (as they watch individual * channels and servers disappear), and the OS is about to free * everything much more efficiently than we ever could. * * If we ever choose to run on Windows ME, this could be a problem :) */ if (gui.quit) { session_free (sess); return; } navigation_tree_remove_session (gui.server_tree, sess); conversation_panel_remove_session (CONVERSATION_PANEL (gui.conversation_panel), sess); topic_label_remove_session (TOPIC_LABEL (gui.topic_label), sess); text_entry_remove_session (TEXT_ENTRY (gui.text_entry), sess); if (sess->type == SESS_SERVER) { status_bar_remove_server (STATUS_BAR (gui.status_bar), sess->server); } if (sess == gui.current_session) { gui.current_session = NULL; } session_free (sess); }
void textEntryDestroyImpl(widget *self) { // Free the text buffer free(TEXT_ENTRY(self)->text); // Call our parents destructor widgetDestroyImpl(self); }
static void text_entry_finalize(GObject *object) { TextEntry *entry; entry = TEXT_ENTRY(object); if (entry->priv) { g_free(entry->priv); } G_OBJECT_CLASS(parent_class)->finalize(object); }
void fe_session_callback (struct session *sess) { if (sess->type == SESS_SERVER) { status_bar_remove_server (STATUS_BAR (gui.status_bar), sess->server); } conversation_panel_remove_session (CONVERSATION_PANEL (gui.conversation_panel), sess); topic_label_remove_session (TOPIC_LABEL (gui.topic_label), sess); text_entry_remove_session (TEXT_ENTRY (gui.text_entry), sess); userlist_erase (u, sess); }
static void text_entry_history_down(GtkEntry *entry) { TextEntry *text_entry; char *new_line; text_entry = TEXT_ENTRY(entry); if (text_entry->priv->session == NULL) { return; } new_line = history_down(&(text_entry->priv->session->history)); if (new_line) { gtk_entry_set_text(entry, new_line); gtk_editable_set_position(GTK_EDITABLE(entry), -1); } }
void fe_set_current (session *sess) { // If find bar is open, hide it find_bar_close (FIND_BAR (gui.find_bar)); gui.current_session = sess; // Notify parts of the UI that the current session has changed conversation_panel_set_current (CONVERSATION_PANEL (gui.conversation_panel), sess); topic_label_set_current (TOPIC_LABEL (gui.topic_label), sess); text_entry_set_current (TEXT_ENTRY (gui.text_entry), sess); status_bar_set_current (STATUS_BAR (gui.status_bar), sess->server); navigation_model_set_current (gui.tree_model, sess); // Change the window name if (sess->server->network == NULL) { rename_main_window (NULL, sess->channel); } else { ircnet *net = sess->server->network; rename_main_window (net->name, sess->channel); } // Set nickname button set_nickname_label (sess->server, NULL); // Set the label of the user list button userlist_set_user_button (u, sess); gtk_widget_set_sensitive (GTK_WIDGET (gui.userlist_toggle), sess->type == SESS_CHANNEL); // FIXME: Userlist should be more encapsulated gtk_tree_view_set_model (GTK_TREE_VIEW (gui.userlist), GTK_TREE_MODEL (userlist_get_store (u, sess))); // Emit "focus tab" event for plugins that rely on it plugin_emit_dummy_print (sess, "Focus Tab"); gtk_widget_grab_focus (GTK_WIDGET (gui.text_entry)); }
void textEntryDoDrawImpl(widget *self) { // Draw our frame textEntryDoDrawFrame(TEXT_ENTRY(self)); textEntryDoDrawText(TEXT_ENTRY(self)); }
gint save_dialog ( ImageInfo *info) { GtkWidget *dlg; GtkWidget *toggle; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *label; GtkWidget *entry; GtkWidget *frame; GtkWidget *toggle_vbox; GSList *group; gint use_none = (info->save_vals.compression == COMPRESSION_NONE); gint use_lzw = (info->save_vals.compression == COMPRESSION_LZW); gint use_packbits = (info->save_vals.compression == COMPRESSION_PACKBITS); gint use_deflate = (info->save_vals.compression == COMPRESSION_DEFLATE); gint use_sgilog = (info->save_vals.compression == COMPRESSION_SGILOG); gint use_pixarlog = (info->save_vals.compression == COMPRESSION_PIXARLOG); gint use_jpeg = (info->save_vals.compression == COMPRESSION_JPEG); gint use_jp2000 = (info->save_vals.compression == COMPRESSION_JP2000); gint use_adobe = (info->save_vals.compression == COMPRESSION_ADOBE_DEFLATE); gint use_lsb2msb = (info->save_vals.fillorder == FILLORDER_LSB2MSB); gint use_msb2lsb = (info->save_vals.fillorder == FILLORDER_MSB2LSB); gint use_sep_planar = (info->planar == PLANARCONFIG_SEPARATE); gint use_premultiply =(info->save_vals.premultiply == EXTRASAMPLE_ASSOCALPHA); gint use_notpremultiply = (info->save_vals.premultiply == EXTRASAMPLE_UNASSALPHA || info->save_vals.premultiply == EXTRASAMPLE_UNSPECIFIED ); gint use_icc_profile = (info->save_vals.use_icc_profile == TRUE); gint use_no_icc = (info->save_vals.use_icc_profile == FALSE); long dircount; gchar text[256]; gimp_ui_init ("save", TRUE); dlg = gimp_dialog_new (_("Save as Tiff"), "save", gimp_standard_help_func, "filters/tiff.html", GTK_WIN_POS_MOUSE, FALSE, TRUE, FALSE, _("OK"), ok_callback, NULL, NULL, NULL, TRUE, FALSE, _("Cancel"), cancel_callback, NULL, 1, NULL, FALSE, TRUE, NULL); gtk_signal_connect (GTK_OBJECT (dlg), "destroy", (GtkSignalFunc) close_callback, NULL); /* attach profile */ //LIST_FRAME (_("ICC Profile data")) frame = gtk_frame_new (_("ICC Profile data")); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN); gtk_container_border_width (GTK_CONTAINER (frame), 10); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), frame, FALSE, TRUE, 0); toggle_vbox = gtk_vbox_new (FALSE, 5); gtk_container_border_width (GTK_CONTAINER (toggle_vbox), 5); gtk_container_add (GTK_CONTAINER (frame), toggle_vbox); group = NULL; LIST_TOOGLE ( _("embedd ICC Profile"), use_icc_profile ) LIST_TOOGLE ( _("dont attach ICC color data"), use_no_icc ) gtk_widget_show (toggle_vbox); gtk_widget_show (frame); if (info->save_vals.use_icc_profile == -1) gtk_widget_set_sensitive (frame, FALSE); /* compression */ LIST_FRAME (_("Compression")) group = NULL; LIST_TOOGLE (_("None"), use_none) #ifdef LZW_SUPPORT LIST_TOOGLE (_("LZW"), use_lzw) #endif #ifdef PACKBITS_SUPPORT LIST_TOOGLE (_("Pack Bits"), use_packbits) #endif /*#ifdef ZIP_SUPPORT */ LIST_TOOGLE ( _("Deflate"), use_deflate) /*#endif */ /*#ifdef LOGLUV_SUPPORT */ LIST_TOOGLE (_("SGILOG (32-bit)") , use_sgilog) gtk_widget_set_sensitive (toggle, FALSE); if (info->bps >= 32 && SGILOGDATAFMT == SGILOGDATAFMT_FLOAT) { if (info->profile_size) { cmsHPROFILE p = cmsOpenProfileFromMem (info->icc_profile, info->profile_size); if (cmsGetColorSpace(p) == icSigXYZData || cmsGetColorSpace(p) == icSigRgbData) gtk_widget_set_sensitive (toggle, TRUE); } } /*#endif */ #if 0 /*#ifdef PIXARLOG_SUPPORT */ LIST_TOOGLE ( _("PixarLOG (11-bit)"), use_pixarlog) if (info->bps < 32 && SGILOGDATAFMT == SGILOGDATAFMT_FLOAT) gtk_widget_set_sensitive (toggle, FALSE); /*#endif */ #endif /*#ifdef JPEG_SUPPORT */ LIST_TOOGLE ( _("JPEG"), use_jpeg) if (info->bps > 8) gtk_widget_set_sensitive (toggle, FALSE); #if 0 LIST_TOOGLE ( _("JP2000"), use_jp2000) #endif /*#endif */ LIST_TOOGLE ( _("Adobe"), use_adobe) gtk_widget_show (toggle_vbox); gtk_widget_show (frame); /* fillorder */ LIST_FRAME (_("Fill Order")) group = NULL; LIST_TOOGLE ( _("LSB to MSB"), use_lsb2msb ) LIST_TOOGLE ( _("MSB to LSB"), use_msb2lsb ) gtk_widget_show (toggle_vbox); gtk_widget_show (frame); /* premultiply */ LIST_FRAME (_("Transparency Computation")) group = NULL; sprintf (text,_("Premultiply Colour (associate)")); if ( info->photomet == PHOTOMETRIC_RGB ) sprintf (text,"%s - Standard", text); LIST_TOOGLE ( text, use_premultiply ) LIST_TOOGLE ( _("Dont Premultiply"), use_notpremultiply ) gtk_widget_show (toggle_vbox); gtk_widget_show (frame); /* separate planes */ hbox = gtk_hbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), hbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_widget_show (hbox); toggle = gtk_check_button_new_with_label (_("Write Separate Planes per Channel")); gtk_box_pack_start (GTK_BOX (hbox), toggle, TRUE, TRUE, 0); gtk_widget_show (toggle); gtk_signal_connect (GTK_OBJECT (toggle), "toggled", GTK_SIGNAL_FUNC (gimp_toggle_button_update), &use_sep_planar); gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (toggle), use_sep_planar); vbox = gtk_vbox_new (FALSE, 2); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), vbox, FALSE, TRUE, 0); if (info->save_vals.premultiply == EXTRASAMPLE_UNSPECIFIED) gtk_widget_set_sensitive (frame, FALSE); TEXT_ENTRY ( _("Artist:"), text_entry_callback , image_artist ) TEXT_ENTRY ( _("Copyright:"), text_entry_callback , image_copyright ) TEXT_ENTRY ( _("Comment:"), text_entry_callback , image_comment ) gtk_widget_show (vbox); gtk_widget_show (frame); gtk_widget_show (dlg); gtk_main (); gdk_flush (); if (use_icc_profile) tsvals_.use_icc_profile = TRUE; else if (use_no_icc) tsvals_.use_icc_profile = FALSE; if (use_none) tsvals_.compression = COMPRESSION_NONE; else if (use_lzw) tsvals_.compression = COMPRESSION_LZW; else if (use_packbits) tsvals_.compression = COMPRESSION_PACKBITS; else if (use_deflate) tsvals_.compression = COMPRESSION_DEFLATE; else if (use_sgilog) tsvals_.compression = COMPRESSION_SGILOG; else if (use_pixarlog) tsvals_.compression = COMPRESSION_PIXARLOG; else if (use_jpeg) tsvals_.compression = COMPRESSION_JPEG; else if (use_jp2000) tsvals_.compression = COMPRESSION_JP2000; else if (use_adobe) tsvals_.compression = COMPRESSION_ADOBE_DEFLATE; if (use_lsb2msb) tsvals_.fillorder = FILLORDER_LSB2MSB; else if (use_msb2lsb) tsvals_.fillorder = FILLORDER_MSB2LSB; if(use_sep_planar) tsvals_.planar_separate = PLANARCONFIG_SEPARATE; else tsvals_.planar_separate = PLANARCONFIG_CONTIG; if (use_premultiply && info->save_vals.premultiply != EXTRASAMPLE_UNSPECIFIED) { tsvals_.premultiply = EXTRASAMPLE_ASSOCALPHA; } else if (use_notpremultiply && info->save_vals.premultiply != EXTRASAMPLE_UNSPECIFIED) { tsvals_.premultiply = EXTRASAMPLE_UNASSALPHA; } info = info->top; for (dircount=0; dircount < info->pagecount ; dircount++) { if (dircount > 0) info = info->next; info->save_vals.use_icc_profile = tsvals_.use_icc_profile; info->save_vals.compression = tsvals_.compression; info->save_vals.fillorder = tsvals_.fillorder; if (info->save_vals.premultiply != EXTRASAMPLE_UNSPECIFIED) { info->save_vals.premultiply = tsvals_.premultiply; } if (use_sgilog || use_pixarlog) { if (info->spp > 2) info->photomet = PHOTOMETRIC_LOGLUV; else info->photomet = PHOTOMETRIC_LOGL; if (use_sgilog) info->logDataFMT = SGILOGDATAFMT; else info->logDataFMT = PIXARLOGDATAFMT_FLOAT; } info->planar = tsvals_.planar_separate; } info = info->top; /*g_message ("%d",tsint.run); */ return tsint.run; }