Example #1
0
/*
 * This action is the pressing of the button on the combo box.
 * The behavior is different depending on whether the list is being
 * displayed or removed.
 *
 * A button press event is simulated on the appropriate widget and 
 * a button release event is simulated in an idle function.
 */
static gboolean
idle_do_action (gpointer data)
{
  GtkCombo *combo;
  GtkWidget *action_widget;
  GtkWidget *widget;
  GailCombo *gail_combo;
  gboolean do_popup;
  GdkEvent tmp_event;

  gail_combo = GAIL_COMBO (data);
  gail_combo->action_idle_handler = 0;
  widget = GTK_ACCESSIBLE (gail_combo)->widget;
  if (widget == NULL /* State is defunct */ ||
      !gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
    return FALSE;

  combo = GTK_COMBO (widget);

  do_popup = !gtk_widget_get_mapped (combo->popwin);

  tmp_event.button.type = GDK_BUTTON_PRESS; 
  tmp_event.button.window = widget->window;
  tmp_event.button.button = 1; 
  tmp_event.button.send_event = TRUE;
  tmp_event.button.time = GDK_CURRENT_TIME;
  tmp_event.button.axes = NULL;

  if (do_popup)
    {
      /* Pop up list */
      action_widget = combo->button;

      gtk_widget_event (action_widget, &tmp_event);

      /* FIXME !*/
      g_idle_add (_gail_combo_button_release, combo);
    }
    else
    {
      /* Pop down list */
      tmp_event.button.window = combo->list->window;
      gdk_window_set_user_data (combo->list->window, combo->button);
      action_widget = combo->popwin;
    
      gtk_widget_event (action_widget, &tmp_event);
      /* FIXME !*/
      g_idle_add (_gail_combo_popup_release, combo);
    }

  return FALSE;
}
Example #2
0
static void
set_dsn_combos (GtkWidget * check, gpointer widget)
{
  GtkWidget **combos = (GtkWidget **) widget;
  ServerDSN *dsn = SERVER_DSN (check);
  if (dsn->dsn_info.dsns)
    {
      int inx;
      for (inx = 0; inx < 9; inx++)
	gtk_combo_set_popdown_strings (GTK_COMBO (combos[inx]),
	    dsn->dsn_info.dsns);
    }
}
Example #3
0
/*
 * Get text of an Entry or a ComboBox
 */
static gchar *gtk_entry_get_text_1 (GtkWidget *widget)
{
	if (GTK_IS_COMBO(widget))
	{
		return gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(widget)->entry));
	}else if (GTK_IS_ENTRY(widget))
	{
		return gtk_entry_get_text(GTK_ENTRY(widget));
	}else
	{
		return NULL;
	}
}
Example #4
0
void wxComboBox::EnableEvents()
{
#ifdef __WXGTK24__
    if (!gtk_check_version(2,4,0))
    {
        g_signal_connect_after (GTK_BIN(m_widget)->child, "changed",
                            G_CALLBACK (gtkcombobox_text_changed_callback), this);

        g_signal_connect_after (m_widget, "changed",
                            G_CALLBACK (gtkcombobox_changed_callback), this);
    }
    else
#endif
    {
        g_signal_connect_after (GTK_COMBO(m_widget)->list, "select-child",
                            G_CALLBACK (gtkcombo_combo_select_child_callback),
                            this);
        g_signal_connect_after (GTK_COMBO(m_widget)->entry, "changed",
                            G_CALLBACK (gtkcombo_text_changed_callback),
                            this );
    }
}
Example #5
0
char
gmdb_export_get_quotechar(GladeXML *xml)
{
	GtkWidget *combo;
	gchar *str;
	char quotechar;

	combo = glade_xml_get_widget(xml, "qchar_combo");
	str = (gchar *) gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry));
	quotechar = str[0];

	return quotechar;
}
Example #6
0
void wxComboBox::SetSelection( int n )
{
    wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );

    DisableEvents();

    GtkWidget *list = GTK_COMBO(m_widget)->list;
    gtk_list_unselect_item( GTK_LIST(list), m_prevSelection );
    gtk_list_select_item( GTK_LIST(list), n );
    m_prevSelection = n;

    EnableEvents();
}
Example #7
0
wxTextPos wxComboBox::GetLastPosition() const
{
    GtkEntry *entry = NULL;
#ifdef __WXGTK24__
    if (!gtk_check_version(2,4,0))
        entry = GTK_ENTRY( GTK_BIN(m_widget)->child );
    else
#endif
        entry = GTK_ENTRY( GTK_COMBO(m_widget)->entry );

    int pos = entry->text_length;
    return (long) pos-1;
}
Example #8
0
int wxComboBox::FindString( const wxString &item, bool bCase ) const
{
    wxCHECK_MSG( m_widget != NULL, wxNOT_FOUND, wxT("invalid combobox") );

#ifdef __WXGTK24__
    if (!gtk_check_version(2,4,0))
    {
        GtkComboBox* combobox = GTK_COMBO_BOX( m_widget );
        GtkTreeModel* model = gtk_combo_box_get_model( combobox );
        GtkTreeIter iter;
        gtk_tree_model_get_iter_first( model, &iter );
        if (!gtk_list_store_iter_is_valid(GTK_LIST_STORE(model), &iter ))
            return -1;
        int count = 0;
        do
        {
            GValue value = { 0, };
            gtk_tree_model_get_value( model, &iter, 0, &value );
            wxString str = wxGTK_CONV_BACK( g_value_get_string( &value ) );
            g_value_unset( &value );

            if (item.IsSameAs( str, bCase ) )
                return count;

            count++;

        } while (gtk_tree_model_iter_next( model, &iter ));
    }
    else
#endif
    {
        GtkWidget *list = GTK_COMBO(m_widget)->list;

        GList *child = GTK_LIST(list)->children;
        int count = 0;
        while (child)
        {
            GtkBin *bin = GTK_BIN( child->data );
            GtkLabel *label = GTK_LABEL( bin->child );
            wxString str( wxGTK_CONV_BACK( gtk_label_get_text(label) ) );

            if (item.IsSameAs( str , bCase ) )
                return count;

            count++;
            child = child->next;
        }
    }

    return wxNOT_FOUND;
}
Example #9
0
int
clip_GTK_COMBOSETPOPDOWNSTRINGS(ClipMachine * ClipMachineMemory)
{
   C_widget *ccmb = _fetch_cw_arg(ClipMachineMemory);

   ClipArrVar *astr = (ClipArrVar *) _clip_vptr(_clip_spar(ClipMachineMemory, 2));

   GList    *str_list = NULL;

   ClipStrVar *s;

   int       i;

   CHECKCWID(ccmb, GTK_IS_COMBO);
   CHECKOPT(2, ARRAY_type_of_ClipVarType);

   for (i = 0; i < astr->count_of_ClipArrVar; i++)
    {
       if (astr->ClipVar_items_of_ClipArrVar[i].ClipType_t_of_ClipVar.ClipVartype_type_of_ClipType !=
	   CHARACTER_type_of_ClipVarType)
	  continue;
       s = (ClipStrVar *) _clip_vptr(&astr->ClipVar_items_of_ClipArrVar[i]);
       if (ccmb->objtype == GTK_WIDGET_COMBO_SIMPLE)
	  str_list = g_list_append(str_list, gtk_list_item_new_with_label(s->ClipBuf_str_of_ClipStrVar.buf_of_ClipBuf));
       else
	  str_list = g_list_append(str_list, s->ClipBuf_str_of_ClipStrVar.buf_of_ClipBuf);
    }
   if (ccmb->objtype == GTK_WIDGET_COMBO_SIMPLE)
    {
       gtk_list_clear_items(GTK_LIST(GTK_COMBO(ccmb->widget)->list), 0, -1);
       gtk_list_append_items(GTK_LIST(GTK_COMBO(ccmb->widget)->list), str_list);
    }
   else
      gtk_combo_set_popdown_strings(GTK_COMBO(ccmb->widget), str_list);
   return 0;
 err:
   return 1;
}
Example #10
0
static int
selectedAudioAttribIndex()
{
	int i, codec = selectedAudioCodecIndex();
	const char *selectedAttrib = gtk_entry_get_text( GTK_ENTRY(GTK_COMBO(g_VcrCompDialog.audioAttribCombo)->entry) );

	for (i = 0; i < VCRComp_numAudioCodecAttribs( codec ); i++)
	{
		if (!strcmp( selectedAttrib, VCRComp_audioCodecAttribName( codec, i ) ))
			return i;
	}

	return -1;
}
Example #11
0
void wxComboBox::Paste()
{
    wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );

    GtkEntry *entry = NULL;
#ifdef __WXGTK24__
    if (!gtk_check_version(2,4,0))
        entry = GTK_ENTRY( GTK_BIN(m_widget)->child );
    else
#endif
        entry = GTK_ENTRY( GTK_COMBO(m_widget)->entry );

    gtk_editable_paste_clipboard(GTK_EDITABLE(entry));
}
Example #12
0
  void read_rek()
   {

    zap_zaktaxi.telef.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_TELEF]))));
    zap_zaktaxi.kodk.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_KODKL]))));
    zap_zaktaxi.fio.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_FIO]))));
    zap_zaktaxi.kolp.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_KOLIH_PAS]))));
    zap_zaktaxi.adreso.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_ADRES_POD]))));
    zap_zaktaxi.adresk.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_ADRES_POEZ]))));
    zap_zaktaxi.koment.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_KOMENT]))));
    zap_zaktaxi.suma.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_SUMA]))));
    zap_zaktaxi.datvz.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_DATA_ZAK]))));
    zap_zaktaxi.vremvz.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_VREM_ZAK]))));


    zap_zaktaxi.kodzav.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(windowkodzav)->entry))));
    zap_zaktaxi.kv.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(windowvoditel)->entry))));


//   gtk_signal_emit_by_name(GTK_OBJECT(GTK_COMBO(windowkodzav)->entry),"activate");
//   gtk_signal_emit_by_name(GTK_OBJECT(GTK_COMBO(windowvoditel)->entry),"activate");

   }
Example #13
0
gchar *input_dialog_combo(const gchar *title, const gchar *message,
			  const gchar *default_string, GList *list,
			  gboolean case_sensitive)
{
	if (dialog)
		return NULL;

	input_dialog_create(INPUT_DIALOG_COMBO);

	if (!list) {
		GList empty_list;

		empty_list.data = (gpointer)"";
		empty_list.next = NULL;
		empty_list.prev = NULL;
		gtk_combo_set_popdown_strings(GTK_COMBO(combo), &empty_list);
	} else
		gtk_combo_set_popdown_strings(GTK_COMBO(combo), list);

	gtk_combo_set_case_sensitive(GTK_COMBO(combo), case_sensitive);

	return input_dialog_open(title, message, default_string);
}
Example #14
0
File: combo.c Project: zdia/gnocl
int gnoclComboCmd ( ClientData data, Tcl_Interp *interp,
					int objc, Tcl_Obj * const objv[] )
{
	ComboParams *para;
	int ret;

	if ( gnoclParseOptions ( interp, objc, objv, comboOptions )
			!= TCL_OK )
	{
		gnoclClearOptions ( comboOptions );
		return TCL_ERROR;
	}

	para = g_new ( ComboParams, 1 );

	para->interp = interp;
	para->combo = GTK_COMBO ( gtk_combo_new( ) );
	para->variable = NULL;
	para->onChanged = NULL;
	para->inSetVar = 0;

	ret = gnoclSetOptions ( interp, comboOptions,
							G_OBJECT ( para->combo ), -1 );

	if ( ret == TCL_OK )
		ret = configure ( interp, para, comboOptions );

	gnoclClearOptions ( comboOptions );

	if ( ret != TCL_OK )
	{
		g_free ( para );
		gtk_widget_destroy ( GTK_WIDGET ( para->combo ) );
		return TCL_ERROR;
	}

	para->name = gnoclGetAutoWidgetId();

	g_signal_connect ( G_OBJECT ( para->combo ), "destroy",
					   G_CALLBACK ( destroyFunc ), para );

	gnoclMemNameAndWidget ( para->name, GTK_WIDGET ( para->combo ) );
	gtk_widget_show ( GTK_WIDGET ( para->combo ) );

	Tcl_CreateObjCommand ( interp, para->name, comboFunc, para, NULL );

	Tcl_SetObjResult ( interp, Tcl_NewStringObj ( para->name, -1 ) );

	return TCL_OK;
}
Example #15
0
File: gui.c Project: awe00/boards
gint do_timer(gpointer data)
{
	if (port_timeout && --port_timeout == 0) {
		open_serial_port(gtk_entry_get_text(GTK_ENTRY(port_entry)));
	}
	if (baud_timeout && --baud_timeout == 0) {
		change_baud(gtk_entry_get_text(GTK_ENTRY(
			GTK_COMBO(baud_combo)->entry)));
	}
	if (download_in_progress) {
		download_timer();
	}
	return TRUE;
}
Example #16
0
static void list_select_child(GtkList *list, GtkWidget *child, 
			      gpointer user_data)
{
     Combo *combo = COMBO(user_data);          
     int idx;
     if (updating_flag) return;
     idx = gtk_list_child_position(list,child);
     if (GTK_WIDGET_VISIBLE(GTK_COMBO(combo)->popwin)) {
	  combo->next_chosen_index = idx;
	  return;
     }
     combo->chosen_index = idx;
     gtk_signal_emit(GTK_OBJECT(combo),combo_signals[CHANGED_SIGNAL]);
}
Example #17
0
static int
selectedAudioCodecIndex()
{
	int i;
	const char *selectedCodec = gtk_entry_get_text( GTK_ENTRY(GTK_COMBO(g_VcrCompDialog.audioCodecCombo)->entry) );

	for (i = 0; i < VCRComp_numAudioCodecs(); i++)
	{
		if (!strcmp( selectedCodec, VCRComp_audioCodecName( i ) ))
			return i;
	}

	return -1;
}
Example #18
0
static void *main_thread(void *p)
{
   if (GTK_TOGGLE_BUTTON(dynam)->active == 1) dynacore = 1;
   else if (GTK_TOGGLE_BUTTON(pure_interp)->active == 1) dynacore = 2;
   else dynacore = 0;
   
   SDL_Init(SDL_INIT_VIDEO);
   SDL_SetVideoMode(10, 10, 16, 0);
   SDL_SetEventFilter(filter);
   SDL_ShowCursor(0);
   SDL_EnableKeyRepeat(0, 0);
   
   init_memory();
   plugin_load_plugins(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo_gfx)->entry)),
		       gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo_audio)->entry)),
		       gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo_input)->entry)),
		       gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo_RSP)->entry)));
   romOpen_gfx();
   romOpen_audio();
   romOpen_input();
   go();
   romClosed_RSP();
   romClosed_input();
   romClosed_audio();
   romClosed_gfx();
   closeDLL_RSP();
   closeDLL_input();
   closeDLL_audio();
   closeDLL_gfx();
   free(rom);
   rom = NULL;
   free(ROM_HEADER);
   ROM_HEADER = NULL;
   free_memory();
   file_selection_launched = 0;
   return 0;
}
Example #19
0
static void
gmdb_sql_select_hist_cb(GtkList *list, GladeXML *xml)
{
	gchar *buf;
	GtkTextBuffer *txtbuffer;
	GtkWidget *combo, *textview;

	combo = glade_xml_get_widget(xml, "sql_combo");
	if (!combo) return;
	buf = (gchar *) gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry));
	if (!buf) return;
	textview = glade_xml_get_widget(xml, "sql_textview");
	txtbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
	gtk_text_buffer_set_text(txtbuffer, buf, strlen(buf));
}
Example #20
0
void		catch_sig(t_editor *editor)
{
  g_signal_connect(G_OBJECT(editor->pWindow),
		   "destroy", G_CALLBACK(catch_event), NULL);
  g_signal_connect(G_OBJECT(editor->pQuitBtn),
		   "clicked", G_CALLBACK(gtk_main_quit), NULL);
  g_signal_connect(G_OBJECT(editor->pHelpBtn),
		   "clicked", G_CALLBACK(create_help_win), editor);
  g_signal_connect(G_OBJECT(editor->pSaveBtn),
		   "clicked", G_CALLBACK(create_save_win), editor);
  g_signal_connect(G_OBJECT(editor->pAddBtn),
		   "clicked", G_CALLBACK(add_obj), editor);
  g_signal_connect(G_OBJECT(GTK_COMBO(editor->combo)->entry),
		   "changed", G_CALLBACK(grising_cases), editor);
}
Example #21
0
static void
mood_populate(JamView *view) {
	if (JAM_ACCOUNT_IS_LJ(view->account)) {
		/* load moods. */
		LJServer *server = jam_host_lj_get_server(JAM_HOST_LJ(jam_account_get_host(view->account)));
		LJMood *m;
		char *text;
		GList *strings = NULL;
		GSList *l;

		text = gtk_editable_get_chars(GTK_EDITABLE(GTK_COMBO(view->moodcombo)->entry), 0, -1);

		for (l = server->moods; l; l = l->next) {
			m = l->data;
			strings = g_list_insert_sorted(strings, m->name,
					(GCompareFunc)g_ascii_strcasecmp);
		}
		if (strings)
			gtk_combo_set_popdown_strings(GTK_COMBO(view->moodcombo), strings);

		gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(view->moodcombo)->entry), text);
		g_free(text);
	}
}
Example #22
0
static float toolbar_get_zoom( GtkWidget *combo )
{
	int i = 0;
	float res = 0;
	char *txt = (char *) gtk_entry_get_text( GTK_ENTRY(GTK_COMBO (combo)->entry) );

	if ( strlen(txt) > 2)		// Weed out bogus calls
	{
		sscanf(txt, "%i%%", &i);
		res = (float)i / 100;
		if (res < 1.0) res = 1.0 / rint(1.0 / res);
	}

	return res;
}
Example #23
0
gpointer gui_pulldown_new(const gchar *text, GList *list, gint edit, GtkWidget *box)
{
GtkWidget *hbox, *label, *combo;

combo = gtk_combo_new();
gtk_combo_set_popdown_strings(GTK_COMBO(combo), list);
gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(combo)->entry), edit);

if (box)
  {
/* create the text/spinner layout */
  hbox = gtk_hbox_new(FALSE, 0);
  gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0);
  if (text)
    {
    label = gtk_label_new(text);
    gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0);
    gtk_box_pack_end(GTK_BOX(hbox), combo, FALSE, FALSE, 0);
    }
  else
    gtk_box_pack_end(GTK_BOX(hbox), combo, TRUE, TRUE, 0);
  }
return(GTK_COMBO(combo)->entry);
}
Example #24
0
GtkWidget* CreateFileCombo(const char* entryText)
{
	GList* list = NULL;

	list = g_list_append(list, strdup(entryText));

	for (int i = 0; i < NUM_FILE_HISTORY; i++) {
	  const char* fileName =
			MyConfig->GetStringValue(CONFIG_APP_FILE_0 + i);
		if (fileName == NULL || fileName[0] == '\0'
		  || !strcmp(fileName, entryText)) {
			continue;
		}
		list = g_list_append(list, strdup(fileName));
	}

	GtkWidget* combo = gtk_combo_new();
	gtk_combo_set_popdown_strings(GTK_COMBO(combo), list);
	gtk_combo_set_use_arrows_always(GTK_COMBO(combo), 1);

	GtkWidget* entry = GTK_COMBO(combo)->entry;
	gtk_entry_set_text(GTK_ENTRY(entry), entryText);
	return combo;
}
Example #25
0
void gcb_enc_set_mode(GtkMenuShell *w, struct encdata *enc)
{
	gchar *text = NULL;
	
	if((text = gtk_editable_get_chars(GTK_EDITABLE(
				GTK_COMBO(enc->mode)->entry), 0, -1))) {
		if(text[0] == 'm')
			enc->outchan->channels(1); 
		else
			enc->outchan->channels(2); 

		g_free(text);
	}
	
}
Example #26
0
int
gmdb_export_get_quote(GladeXML *xml)
{
	GtkWidget *combo;
	int need_quote = 0;
	gchar *str;

	combo = glade_xml_get_widget(xml, "quote_combo");
	str = (gchar *) gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry));
	if (!strcmp(str,ALWAYS)) { need_quote = 1; }
	else if (!strcmp(str,NEVER)) { need_quote = 0; }
	else if (!strcmp(str,AUTOMAT)) { need_quote = -1; }

	return need_quote;
}
Example #27
0
PRIVATE void init_combo( Control *control ) {

    GtkCombo *cb;

    cb = GTK_COMBO( gtk_combo_new() );
    g_assert( cb != NULL );

    gtk_combo_disable_activate( cb );
    if( ((Data *)control->g->data)->list != NULL )
	gtk_combo_set_popdown_strings( cb, ((Data *)control->g->data)->list );

    gtk_signal_connect( GTK_OBJECT( cb->entry ), "activate", GTK_SIGNAL_FUNC(entry_activated), control );

    control->widget = GTK_WIDGET(cb);
}
Example #28
0
/*
 * Gets the properties of the widget. This is used for both displaying the
 * properties in the property editor, and also for saving the properties.
 */
static void
gb_combo_get_properties (GtkWidget * widget, GbWidgetGetArgData * data)
{
  gb_widget_output_bool (data, ValueInList,
			 gtk_object_get_data (GTK_OBJECT (widget), ValueInList)
			 != NULL ? TRUE : FALSE);
  gb_widget_output_bool (data, OKIfEmpty,
			 gtk_object_get_data (GTK_OBJECT (widget), OKIfEmpty)
			 != NULL ? TRUE : FALSE);
  gb_widget_output_bool (data, Case, GTK_COMBO (widget)->case_sensitive);
  gb_widget_output_bool (data, Arrows, GTK_COMBO (widget)->use_arrows);
  gb_widget_output_bool (data, Always, GTK_COMBO (widget)->use_arrows_always);

  if (is_simple_combo (widget) >= 0)
    {
      GString *items;

      items = g_string_new ("");
      gtk_container_foreach (GTK_CONTAINER (GTK_COMBO (widget)->list),
			     (GtkCallback) add_label, items);
      gb_widget_output_translatable_text_in_lines (data, Items, items->str);
      g_string_free (items, TRUE);
    }
}
Example #29
0
/* Called when the user presses [Load], [Save], or [Erase] */
static void button_cb(GtkWidget *w, gpointer data)
{
	char	*title;

	/* Get the text from the combo box */
	title = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(combo)->entry));

	/* Do the button's action */
	if (w == load)
		preset_load(title);
	else if (w == save)
		preset_save(title);
	else if (w == erase)
		preset_erase(title);
}
Example #30
0
void
on_menu_options_preferences_activate   (GtkMenuItem    *menuitem,
                                        gpointer        user_data)
{
    GtkToggleButton *button;
    GtkCombo        *combo;
    GtkRange        *range;
    GtkSpinButton   *spinner;
    GList           *items;
    int i;
    vo_driver_t const *drivers;
    
    items = NULL;

    if( !preferences_window ) {
        preferences_window = create_preferences_window();
    }

        /* set the combo box up with the correct values. */
        combo = GTK_COMBO(lookup_widget(GTK_WIDGET(preferences_window), "video_output_driver_combo" ));
        gchar * vidpref = NULL;
        drivers = vo_drivers();
        for( i = 0; drivers[i].name; i++ ) {
            items = g_list_append(items, drivers[i].name);

            // while looking through the list of available video drivers,
            // the prefered driver is xv2, followed by xv, and finally x11.
            // If the user hasn't selected one, this one will be used.
            if ( !strcmp(drivers[i].name,"xv2") ||
                 (!vidpref && !strcmp(drivers[i].name,"xv"))) {
                if (vidpref) free(vidpref);
                vidpref=g_strdup(drivers[i].name);
            }
        }
        if (!vidpref) vidpref=g_strdup("x11");

        gtk_combo_set_popdown_strings(combo, items);

        if( !options.video_driver_ptr ) options.video_driver_ptr = vidpref;
        else                            if (vidpref) free(vidpref);

        gtk_entry_set_text(GTK_ENTRY(combo->entry),
                           (const gchar*)options.video_driver_ptr);

    handle_simple_preferences(true);

    gtk_widget_show(preferences_window);
}