GtkWidget 
*create_treeview_column(GList *list) 
{

    GtkWidget *treeview;
    GtkListStore *store;
    GtkTreeIter iter;

    treeview = gtk_tree_view_new();
    setup_tree_view(treeview);

    store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);

    GSLTweet *tweet;
    gchar *parsed_tweet;
    tweet = g_slice_new(GSLTweet);

    int i;
    for(i = 0; i<g_list_length(list); i++){
        tweet = (GSLTweet *)g_list_nth_data (list, i);
        parsed_tweet = g_strconcat("<b>", tweet->screen_name, "</b> ",
                                    tweet->name, "\n",
                                    "<small>", tweet->text, "</small>",
                                    NULL);
        gtk_list_store_append(store, &iter);
        gtk_list_store_set(store, &iter, 0, parsed_tweet, -1);
    }

    gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
    g_object_unref(store);

    return treeview;
}
Пример #2
0
int main (int argc, 
          char *argv[])
{
  GtkWidget *window, *treeview, *statusbar;

  gtk_init (&argc, &argv);

  current_path = NULL;
  history_pos = 0;

  xml = glade_xml_new ("browser.glade", NULL, NULL);
  window = glade_xml_get_widget (xml, "window");
  treeview = glade_xml_get_widget (xml, "treeview");
  statusbar = glade_xml_get_widget (xml, "statusbar");
  
  size_type[0] = "B";
  size_type[1] = "KiB";
  size_type[2] = "MiB";
  size_type[3] = "GiB";

  history = g_ptr_array_new ();
  g_ptr_array_add (history, (gpointer) g_strdup (G_DIR_SEPARATOR_S));
  context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR (statusbar), "Message");
  
  glade_xml_signal_autoconnect (xml);
  setup_tree_view (treeview);
  setup_tree_model (treeview);

  gtk_widget_show_all (window);
  gtk_main ();
  
  return 0;
}
Пример #3
0
static Collocations* create_dialog (Collocations *col)
{
		GtkWidget *dialog;
		GtkWidget *scrolled_win;
		GtkWidget *treeview;
		GtkListStore *store;
		gint result;

		dialog = gtk_dialog_new_with_buttons ("Edit Collocations", NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
		gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
		gtk_widget_set_size_request (GTK_WIDGET (dialog), 600, 500);
		
		treeview = gtk_tree_view_new ();
		setup_tree_view (GTK_TREE_VIEW (treeview));

		store = gtk_list_store_new (COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);

		if (col != NULL)
				setup_data (col, store);

		gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
		gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview), FALSE);
		g_object_unref (store);

		GtkWidget* add_button = gtk_button_new_from_stock (GTK_STOCK_ADD);
		GtkWidget* remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);

		g_signal_connect (G_OBJECT (add_button), "clicked", G_CALLBACK (row_add), (gpointer) treeview);
		g_signal_connect (G_OBJECT (remove_button), "clicked", G_CALLBACK (row_remove), (gpointer) treeview);

		GtkWidget* hbox = gtk_hbox_new (FALSE, 5);

		gtk_box_pack_start (GTK_BOX (hbox), add_button, FALSE, FALSE, 5);
		gtk_box_pack_start (GTK_BOX (hbox), remove_button, FALSE, FALSE, 5);

		scrolled_win = gtk_scrolled_window_new (NULL, NULL);
		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
		
		gtk_container_add (GTK_CONTAINER (scrolled_win), treeview);

		gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_win, TRUE, TRUE, 5);
		gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 5);
		
		gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);

		gtk_widget_show_all (dialog);
		result = gtk_dialog_run (GTK_DIALOG (dialog));

		if (result == GTK_RESPONSE_OK)
		{
				Collocations *tmp = NULL;
				tmp = get_data (GTK_TREE_VIEW (treeview));
				gtk_widget_destroy (dialog);
				return tmp;
		}
		
		gtk_widget_destroy (dialog);

		return col;
}
/*
 * Tab_Page Distributions
 */
Distribution_Tab *
build_tab_distribution() {
    // Initialization
    Distribution_Tab *tab = g_slice_new0(Distribution_Tab);
    tab->tab_name = gtk_label_new(_("Distribution"));
    tab->tab_content = gtk_vbox_new(FALSE, INNER_SPACE);
    gtk_container_set_border_width(GTK_CONTAINER(tab->tab_content), 8);

    // Utils
    GtkWidget *span;

    GtkWidget *hbox, *vbox;

    tab->treeview = gtk_tree_view_new();
    setup_tree_view(tab->treeview);
    gtk_widget_set_size_request(tab->treeview, 250, 300);

    tab->store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
    list_store_update(tab->store);

    gtk_tree_view_set_model(GTK_TREE_VIEW(tab->treeview), GTK_TREE_MODEL(tab->store));
    g_object_unref(tab->store);

    gtk_container_add(GTK_CONTAINER(tab->tab_content), tab->treeview);

    hbox = gtk_hbox_new(FALSE, 4);

    tab->button_default = gtk_button_new_from_stock(GTK_STOCK_GOTO_TOP);
    gtk_widget_set_size_request(tab->button_default, BUTTON_WIDTH, BUTTON_HIGH);

    tab->button_delete = gtk_button_new_from_stock(GTK_STOCK_REMOVE);
    gtk_widget_set_size_request(tab->button_delete, BUTTON_WIDTH, BUTTON_HIGH);

    tab->button_new = gtk_button_new_from_stock(GTK_STOCK_ADD);
    gtk_widget_set_size_request(tab->button_new, BUTTON_WIDTH, BUTTON_HIGH);

    g_signal_connect(tab->button_default, "clicked",
            G_CALLBACK(button_default_callback), tab);
    g_signal_connect(tab->button_delete, "clicked",
            G_CALLBACK(button_delete_callback), tab);
    g_signal_connect(tab->button_new, "clicked",
            G_CALLBACK(button_new_config_callback), tab);


    span = gtk_label_new("");
    gtk_widget_set_size_request(span, 10, 0);

    gtk_container_add(GTK_CONTAINER(hbox), tab->button_default);
    gtk_container_add(GTK_CONTAINER(hbox), span);

    gtk_container_add(GTK_CONTAINER(hbox), tab->button_new);

    gtk_container_add(GTK_CONTAINER(hbox), tab->button_delete);

    gtk_container_add(GTK_CONTAINER(tab->tab_content), hbox);


    return tab;
}
int main( int argc, char **argv ) {
    gtk_init( &argc, &argv );

    /* create and set properties for main window */
    GtkWidget *window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
    gtk_window_set_title( GTK_WINDOW( window ), "Grocery List" );
    gtk_container_set_border_width( GTK_CONTAINER( window ), 10 );
    gtk_widget_set_size_request( window, 240, 320 );

    /* create and set up a tree view */
    GtkWidget *treeview = gtk_tree_view_new();
    setup_tree_view( treeview );

    /* create a new tree model with three columns, as string, gint and guint */
    GtkListStore *store = gtk_list_store_new( COLUMNS, G_TYPE_BOOLEAN,
                          G_TYPE_INT, G_TYPE_STRING );

    /* add all of the products to the GtkListStore */
    GtkTreeIter iter;
    int i = 0;
    while ( list[i].product != NULL ) {
        gtk_list_store_append( store, &iter );
        /* Here you must use an -1 to indicate an end, No other alternatives */
        gtk_list_store_set( store, &iter, BUY_IT, list[i].buy, QUANTITY,
                            list[i].quantity, PRODUCT, list[i].product, -1 );
        i++;
    }

    /* Make the tree view selectable */
    /*
     * first retrieve the selection object and then add an callback
     * for the selected rows.
     */
    GtkTreeSelection *selection = gtk_tree_view_get_selection(
                                      GTK_TREE_VIEW( treeview ) );
    /* set the selection mode: signle, mutlitple or others */
    gtk_tree_selection_set_mode( selection, GTK_SELECTION_MULTIPLE );
    gtk_tree_selection_selected_foreach( selection, foreach_func, NULL );

    /*
     * Add the tree model to the tree view and unreference it so that the
     * model will be destroyed along with the tree view
     */
    gtk_tree_view_set_model( GTK_TREE_VIEW( treeview ), GTK_TREE_MODEL( store ) );
    g_object_unref( store );

    GtkWidget *scrolled_window = gtk_scrolled_window_new( NULL, NULL );
    gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolled_window ),
                                    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );

    g_signal_connect( G_OBJECT( window ), "destroy", G_CALLBACK( gtk_main_quit ),
                      NULL );
    gtk_container_add( GTK_CONTAINER( scrolled_window ), treeview );
    gtk_container_add( GTK_CONTAINER( window ), scrolled_window );
    gtk_widget_show_all( window );
    gtk_main();
    return 0;
}
Пример #6
0
void on_radiobutton5_pressed( GtkWidget *widget, struct _properties *properties )
{
  g_print ("radiobutton5 was pressed\n");
  properties->format = CALENDAR_OPTIONS6;

  if( option_algorithms[properties->modeltype].supportStrikes )
  {
    gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleStrikes),"Strike Adjuster");

    if( strike_control[properties->strikestoogle].incrementor == 0 )
    {
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike");
      gtk_widget_show(properties->GtkInfo.labelStrikes2);
      gtk_widget_hide(properties->GtkInfo.scaleStrikes);
    } else
    {
      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2");
      gtk_widget_hide(properties->GtkInfo.labelStrikes2);
      gtk_widget_show(properties->GtkInfo.scaleStrikes);
    }

    gtk_widget_show(properties->GtkInfo.comboboxStrikes);

    gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes");
    gtk_widget_show(properties->GtkInfo.labelStrikes);

  } else
  {
    gtk_widget_hide(properties->GtkInfo.comboboxStrikes);
    gtk_widget_hide(properties->GtkInfo.scaleStrikes);
    gtk_widget_hide(properties->GtkInfo.labelStrikes);
    gtk_widget_hide(properties->GtkInfo.scaleStrikes);
  }

  gtk_widget_hide(properties->GtkInfo.scaleStrikes2);
  gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);

  if( strike_control[properties->strikestoogle].incrementor != 0 )
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);

  gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adjuster");
  gtk_widget_show(properties->GtkInfo.scaleMonths);

  gtk_widget_hide(properties->GtkInfo.checkbuttonSpreads);
  gtk_widget_hide(properties->GtkInfo.labelSpread);
  gtk_widget_hide(properties->GtkInfo.scaleMonths2);
  gtk_widget_hide(properties->GtkInfo.scaleStrikes2);

  setup_tree_view(properties);
  show_title(properties);

  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton5),true);
}
Пример #7
0
int main (int argc,
          char *argv[])
{
  GtkWidget *window, *treeview, *scrolled_win;
  GtkListStore *store;
  GtkTreeIter iter;
  guint i = 0;
  
  gtk_init (&argc, &argv);
  
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), "Grocery List");
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  gtk_widget_set_size_request (window, 250, 175);
  
  g_signal_connect (G_OBJECT (window), "destroy",
                    G_CALLBACK (gtk_main_quit), NULL);
  
  treeview = gtk_tree_view_new ();
  setup_tree_view (treeview);
  
  /* Create a new tree model with three columns, as string, gint and guint. */
  store = gtk_list_store_new (COLUMNS, G_TYPE_BOOLEAN, G_TYPE_INT, G_TYPE_STRING);
  
  /* Add all of the products to the GtkListStore. */
  while (list[i].product != NULL)
  {
    gtk_list_store_append (store, &iter);
    gtk_list_store_set (store, &iter, BUY_IT, list[i].buy, 
                        QUANTITY, list[i].quantity, PRODUCT, list[i].product, -1);
    i++;
  }
  
  /* Add the tree model to the tree view and unreference it so that the model will
   * be destroyed along with the tree view. */
  gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
  g_object_unref (store);
  
  scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
                                  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  
  gtk_container_add (GTK_CONTAINER (scrolled_win), treeview);
  gtk_container_add (GTK_CONTAINER (window), scrolled_win);
  gtk_widget_show_all (window);
  
  gtk_main ();
  return 0;
}
Пример #8
0
int main (int argc,
          char *argv[])
{
  GtkWidget *window, *treeview, *scrolled_win;
  GtkListStore *store;
  GtkTreeIter iter;
  guint i, j, k;
  
  gtk_init (&argc, &argv);
  
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), "Color List");
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  gtk_widget_set_size_request (window, 250, 175);
  
  g_signal_connect (G_OBJECT (window), "destroy",
                    G_CALLBACK (gtk_main_quit), NULL);
  
  treeview = gtk_tree_view_new ();
  setup_tree_view (treeview);
  store = gtk_list_store_new (COLUMNS, G_TYPE_STRING);
  
  /* Add all of the products to the GtkListStore. */
  for (i = 0; i < 6; i++)
    for (j = 0; j < 6; j++)
      for (k = 0; k < 6; k++)
      {
        gchar *color = g_strconcat ("#", clr[i], clr[j], clr[k], NULL);
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter, COLOR, color, -1);
        g_free (color);
      }
  
  gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
  g_object_unref (store);
  
  scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
                                  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  
  gtk_container_add (GTK_CONTAINER (scrolled_win), treeview);
  gtk_container_add (GTK_CONTAINER (window), scrolled_win);
  gtk_widget_show_all (window);
  
  gtk_main ();
  return 0;
}
void on_checkbuttonDateEngine_toggled(GtkButton *button, struct _properties *properties)
{
  //g_print("on_checkbuttonDateEngine_toggled()\n");

  if( properties->GtkInfo.checkbuttonDateEngineIgnore == true )
  {
    g_print("checkbuttonDateEngineIgnored\n");
    properties->GtkInfo.checkbuttonDateEngineIgnore = false;
    return;
  }

  if( option_algorithms[properties->modeltype].supportTime2 == 1 )
  {
    return;
  }

  if( option_algorithms[properties->modeltype].perpetual )
  {
    return;
  }

  if( properties->decimalorcalendar == DECIMALS )
  {
    // switch to calendar dated...
    //g_print("Calendar Dated\n");
    properties->decimalorcalendar = CALENDAR;

    if( option_algorithms[properties->modeltype].assetClass )
    {
      properties->format = CALENDAR_FUTURE;
    } else
    {
      properties->format = CALENDAR_OPTIONS3;
      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton1),true);  // CALENDAR_OPTIONS3

      if( option_algorithms[properties->modeltype].supportStrikes )
      {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton2),false);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton3),false);
      }

      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton4),false);
      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton5),false);

      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);

      gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.checkbuttonSpreads),0);
      gtk_widget_hide(properties->GtkInfo.checkbuttonSpreads);

      if( option_algorithms[properties->modeltype].supportStrikes && strike_control[properties->strikestoogle].incrementor != 0 )
      {
        gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleStrikes),"Strike Adjuster");
        gtk_widget_show(properties->GtkInfo.scaleStrikes);

      } else
      {
        gtk_widget_hide(properties->GtkInfo.scaleStrikes);
      }

      gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adjuster");
      gtk_widget_show(properties->GtkInfo.scaleMonths);
    }
    //properties->format = CALENDAR_OPTIONS4;
    //properties->format = CALENDAR_OPTIONS5;
    //properties->format = CALENDAR_OPTIONS6;
    //properties->format = CALENDAR_CUSTOM;

    gtk_widget_hide(properties->GtkInfo.checkbuttonRealTime);
    gtk_widget_hide(properties->GtkInfo.buttonCalendar);
    gtk_widget_hide(properties->GtkInfo.spinbuttonTime);
    gtk_widget_hide(properties->GtkInfo.label1);
    gtk_widget_hide(properties->GtkInfo.labelDaysToExpr);
    gtk_widget_hide(properties->GtkInfo.spinbuttonDaysToExpr);
    gtk_widget_hide(properties->GtkInfo.labelTime1);

    if( !option_algorithms[properties->modeltype].assetClass )
    {
      gtk_widget_show(properties->GtkInfo.labelCycle);
      gtk_widget_show(properties->GtkInfo.comboboxCycle);
      gtk_widget_show(properties->GtkInfo.radiobutton1);

      if( option_algorithms[properties->modeltype].supportStrikes )
      {
        gtk_widget_show(properties->GtkInfo.radiobutton2);
        gtk_widget_show(properties->GtkInfo.radiobutton3);
      }

      gtk_widget_show(properties->GtkInfo.radiobutton4);
      gtk_widget_show(properties->GtkInfo.radiobutton5);
      gtk_widget_show(properties->GtkInfo.labelDisplayFormats);
    }

    show_label_expirations(properties);
    gtk_widget_show(properties->GtkInfo.scaleMonths);
    gtk_widget_show(properties->GtkInfo.buttonProperties);
    gtk_widget_show(properties->GtkInfo.checkbuttonSpreads);

  } else 
  {
    // switch to decimal dated...
    //g_print("Decimal Dated\n");
    properties->decimalorcalendar = DECIMALS;

    if( option_algorithms[properties->modeltype].assetClass )
    {
      properties->format = DECIMAL_FUTURE;
    } else
    {
      properties->format = DECIMAL_GREEKS;
      if( option_algorithms[properties->modeltype].supportStrikes )
      {
        gtk_widget_show(properties->GtkInfo.comboboxStrikes);
        gtk_widget_show(properties->GtkInfo.scaleStrikes);

        gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes");
        gtk_widget_show(properties->GtkInfo.labelStrikes);

      } else
      {
        gtk_widget_hide(properties->GtkInfo.comboboxStrikes);
        gtk_widget_hide(properties->GtkInfo.scaleStrikes);
        gtk_widget_hide(properties->GtkInfo.labelStrikes);
      }
    }

    gtk_widget_show(properties->GtkInfo.checkbuttonRealTime);
    gtk_widget_show(properties->GtkInfo.buttonCalendar);
    gtk_widget_show(properties->GtkInfo.spinbuttonTime);
    gtk_widget_show(properties->GtkInfo.label1);
    gtk_widget_show(properties->GtkInfo.labelDaysToExpr);
    gtk_widget_show(properties->GtkInfo.spinbuttonDaysToExpr);
    gtk_widget_show(properties->GtkInfo.labelTime1);

    gtk_widget_hide(properties->GtkInfo.labelCycle);
    gtk_widget_hide(properties->GtkInfo.comboboxCycle);
    gtk_widget_hide(properties->GtkInfo.labelExpirations);
    gtk_widget_hide(properties->GtkInfo.scaleMonths);
    gtk_widget_hide(properties->GtkInfo.buttonProperties);

    gtk_widget_hide(properties->GtkInfo.radiobutton1);
    gtk_widget_hide(properties->GtkInfo.radiobutton2);
    gtk_widget_hide(properties->GtkInfo.radiobutton3);
    gtk_widget_hide(properties->GtkInfo.radiobutton4);
    gtk_widget_hide(properties->GtkInfo.radiobutton5);
    gtk_widget_hide(properties->GtkInfo.labelDisplayFormats);
    gtk_widget_hide(properties->GtkInfo.labelStrikes2);
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
    gtk_widget_hide(properties->GtkInfo.checkbuttonSpreads);

    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.checkbuttonSpreads),0);

    properties->data.t[0] = gtk_spin_button_get_value(GTK_SPIN_BUTTON(properties->GtkInfo.spinbuttonTime));

    if( strike_control[properties->strikestoogle].incrementor == 0 )
    {
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike");
      gtk_widget_show(properties->GtkInfo.labelStrikes2);
      gtk_widget_hide(properties->GtkInfo.scaleStrikes);
    }
    else
    {
     gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
     gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2");
     gtk_widget_hide(properties->GtkInfo.labelStrikes2);
     gtk_widget_show(properties->GtkInfo.scaleStrikes);
    }

  }

  setup_tree_view(properties);
  show_title(properties);
  
} // void on_checkbuttonDateEngine_toggled(GtkButton *button, struct _properties *properties)
void on_checkbuttonSpreads_toggled(GtkButton *button, struct _properties *properties)
{
  if( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button)) )
  {
    g_print("Use Spreads\n");
    properties->spreads = 1;

    calc_strike_scale(properties);

    if( properties->format != CALENDAR_CUSTOM && !option_algorithms[properties->modeltype].assetClass && option_algorithms[properties->modeltype].supportStrikes && strike_control[properties->strikestoogle].incrementor != 0 )
    {
      gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleStrikes),"Strike Adj Leg1");
      gtk_widget_show(properties->GtkInfo.scaleStrikes);
      gtk_widget_show(properties->GtkInfo.scaleStrikes2);
    }

    if( properties->format == CALENDAR_CUSTOM && !option_algorithms[properties->modeltype].assetClass && option_algorithms[properties->modeltype].supportStrikes && strike_control[properties->strikestoogle].incrementor != 0 )
    {
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"StrikeLeg1");
      gtk_widget_show(properties->GtkInfo.labelStrikes);
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_widget_show(properties->GtkInfo.labelStrikes2);
    }

    if( strike_control[properties->strikestoogle].incrementor == 0 && properties->format != CALENDAR_CUSTOM )
    {
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"StrikeLeg1");
      gtk_widget_show(properties->GtkInfo.labelStrikes);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2");
      gtk_widget_show(properties->GtkInfo.labelStrikes2);

      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike);
      gtk_widget_hide(properties->GtkInfo.comboboxStrikes);
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);
    }

    gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adj Leg1");
    gtk_widget_show(properties->GtkInfo.scaleMonths);
    gtk_widget_show(properties->GtkInfo.scaleMonths2);

  } else
  {
    g_print("No Spreads\n");
    properties->spreads = 0;

    calc_strike_scale(properties);

    gtk_widget_hide(properties->GtkInfo.labelSpread);

    if( properties->format != CALENDAR_CUSTOM && !option_algorithms[properties->modeltype].assetClass && option_algorithms[properties->modeltype].supportStrikes && strike_control[properties->strikestoogle].incrementor != 0 )
    {
      gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleStrikes),"Strike Adjuster");
      gtk_widget_show(properties->GtkInfo.scaleStrikes);
    }

    if( properties->format == CALENDAR_CUSTOM && !option_algorithms[properties->modeltype].assetClass && option_algorithms[properties->modeltype].supportStrikes )
    {
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strike");
      gtk_widget_show(properties->GtkInfo.labelStrikes);
      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_widget_hide(properties->GtkInfo.labelStrikes2);
    }

    gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adjuster");
    gtk_widget_hide(properties->GtkInfo.scaleStrikes2);

    if( properties->decimalorcalendar == CALENDAR )
      gtk_widget_show(properties->GtkInfo.scaleMonths);

    gtk_widget_hide(properties->GtkInfo.scaleMonths2);

    if( strike_control[properties->strikestoogle].incrementor == 0 && properties->format != CALENDAR_CUSTOM )
    {
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes");
      gtk_widget_show(properties->GtkInfo.labelStrikes);

      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike");

      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);
      gtk_widget_hide(properties->GtkInfo.scaleStrikes);
      gtk_widget_show(properties->GtkInfo.comboboxStrikes);
    }
  }

  setup_tree_view(properties);

} // void on_checkbuttonSpreads_toggled(GtkButton *button, struct _properties *properties)
Пример #11
0
gboolean kanji_list_view (GArray *arr)
{
		GtkWidget *dialog;
		GtkWidget *treeview;
		GtkWidget *scrolled_win;
		GtkWidget *hbox;

		GtkListStore *store;
		GtkTreeIter iter;

		guint i, result;

		Kanji *tmp;
		Data p;

		dialog = gtk_dialog_new_with_buttons ("Kanji List", NULL, GTK_DIALOG_MODAL, NULL);
		gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
		gtk_widget_set_size_request (GTK_WIDGET (dialog), 500, 500);

		treeview = gtk_tree_view_new ();
		setup_tree_view (treeview, &p);

		store = gtk_list_store_new (COLUMNS, G_TYPE_INT, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);

		tmp = &g_array_index (arr, Kanji, i = 0);
		while (i < arr->len)
		{
				gtk_list_store_append (store, &iter);
				gtk_list_store_set (store, &iter, NUMBER, i + 1,
								KANJI, tmp->kanji,
								KANJI_STROKE, tmp->kanji_stroke,
								RADICAL, tmp->radical, 
								RADICAL_STROKE, tmp->radical_stroke,
								JLPT_LEVEL, tmp->jlpt_level,
								SCHOOL_GRADE, tmp->grade, -1);

				tmp = &g_array_index (arr, Kanji, ++i);
		}

		gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
		g_object_unref (store);

		g_signal_connect (G_OBJECT (treeview), "row-activated", G_CALLBACK (row_activated), (gpointer)arr);

		scrolled_win = gtk_scrolled_window_new (NULL, NULL);
		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);

		gtk_container_add (GTK_CONTAINER (scrolled_win), treeview);

		p.arr = arr;
		p.tview = treeview;
		p.changed = FALSE;

		GtkWidget *add_button = gtk_button_new_from_stock (GTK_STOCK_ADD);
		GtkWidget *remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
		GtkWidget *edit_button = gtk_button_new_from_stock (GTK_STOCK_EDIT);
		GtkWidget *save_button = gtk_button_new_from_stock (GTK_STOCK_SAVE);
		GtkWidget *close_button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);

		g_signal_connect (G_OBJECT (add_button), "clicked", G_CALLBACK (row_add), (gpointer) &p);
		g_signal_connect (G_OBJECT (remove_button), "clicked", G_CALLBACK (row_remove), (gpointer) &p);
		g_signal_connect (G_OBJECT (edit_button), "clicked", G_CALLBACK (row_edit), (gpointer) &p);
		g_signal_connect (G_OBJECT (save_button), "clicked", G_CALLBACK (save_dict), (gpointer) &p);
		g_signal_connect (G_OBJECT (close_button), "clicked", G_CALLBACK (close_dialog), (gpointer) dialog);

		hbox = gtk_hbox_new (FALSE, 5);

		gtk_box_pack_start (GTK_BOX (hbox), add_button, FALSE, FALSE, 5);
		gtk_box_pack_start (GTK_BOX (hbox), remove_button, FALSE, FALSE, 5);
		gtk_box_pack_start (GTK_BOX (hbox), edit_button, FALSE, FALSE, 5);
		gtk_box_pack_start (GTK_BOX (hbox), save_button, FALSE, FALSE, 5);
		gtk_box_pack_start (GTK_BOX (hbox), close_button, FALSE, FALSE, 5);

		gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scrolled_win, TRUE, TRUE, 5);
		gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 5);

		gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview), FALSE);

		gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);

		gtk_widget_show_all (dialog);
		result = gtk_dialog_run (GTK_DIALOG (dialog));

		gtk_widget_destroy (dialog);

		return p.changed;
}
Пример #12
0
int main (int argc, char *argv[]) {

  char lang[128] = "de-DE";
  guint j, notify_time_cycle = 0;

  if (argc > 2) {
    for (j = 1; j < argc; j++) {
      if (strcmp(argv[j], "-notify") == 0 && atoi(argv[j+1]) > 0) {
        notify_time_cycle = atoi(argv[j+1]);
      }
      if (strcmp(argv[j], "-lang") == 0 && strlen(argv[j+1]) > 0) {
        strncpy(lang, argv[j+1], sizeof(lang));
      }
      j++;
    }
  }

  phrases_set_lang(lang);
  phrases_load();
  list_get_file();

  if (notify_time_cycle > 0) {
    notification_service(notify_time_cycle);
  }
  list_load();
  list_sort();

  GtkWidget *window, *vbox, *treeview, *scrolled_win;
  GtkWidget *hbox_buttons, *button_add, *button_remove;
  GtkListStore *store;
  GtkTreeIter iter;
  GtkTreeSelection *selection;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "gEventlist");
  gtk_container_set_border_width(GTK_CONTAINER(window), 10);
  gtk_widget_set_size_request(window, 480, 360);

  g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);

  // teeview / scrolled_win
  treeview = gtk_tree_view_new();
  setup_tree_view(treeview);

  store = gtk_list_store_new(COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT);

  guint i = 0;
  while (i < list_length) {
    st_gtk_list_item temp = get_gtk_list_item(i);

    gtk_list_store_append(store, &iter);
    gtk_list_store_set(store, &iter,
      TYPE, temp.type, DATE, temp.date, TIME, temp.time,
      TEXT, temp.text, CYCLE, temp.cycle,
      -1
    );
    i++;
  }

  gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(store));
  g_object_unref(store);

  selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
  gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);

  scrolled_win = gtk_scrolled_window_new(NULL, NULL);
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_win),
                                 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_container_add(GTK_CONTAINER(scrolled_win), treeview);

  // button bar
  button_add = gtk_button_new_from_stock(GTK_STOCK_ADD);
  button_remove = gtk_button_new_from_stock(GTK_STOCK_REMOVE);

  hbox_buttons = gtk_hbox_new(TRUE, 5);
  gtk_box_pack_start(GTK_BOX(hbox_buttons), button_add, FALSE, TRUE, 0);
  gtk_box_pack_start(GTK_BOX(hbox_buttons), button_remove, FALSE, TRUE, 0);

  // button events
  g_signal_connect(G_OBJECT(button_add), "clicked",
                   G_CALLBACK(add_event), (gpointer)treeview);
  g_signal_connect(G_OBJECT(button_remove), "clicked",
                   G_CALLBACK(remove_events), (gpointer)treeview);

  // vbox
  vbox = gtk_vbox_new(FALSE, 5);
  gtk_box_pack_start (GTK_BOX(vbox), scrolled_win, TRUE, TRUE, 0);
  gtk_box_pack_start (GTK_BOX(vbox), hbox_buttons, FALSE, TRUE, 0);

  gtk_container_add(GTK_CONTAINER(window), vbox);

  gtk_widget_show_all(window);

  gtk_main ();
  return 0;
}
Пример #13
0
void on_radiobutton1_pressed( GtkWidget *widget, struct _properties *properties )
{
  g_print ("radiobutton1 was pressed\n");
  properties->format = CALENDAR_OPTIONS3;

  if( option_algorithms[properties->modeltype].supportStrikes )
  {
    // custom strikes...
    if( strike_control[properties->strikestoogle].incrementor == 0 && properties->spreads != 1 )
    {
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike");
      gtk_widget_show(properties->GtkInfo.labelStrikes2);
      gtk_widget_hide(properties->GtkInfo.scaleStrikes);
    }
    // custom strikes with spreads...
    else if( strike_control[properties->strikestoogle].incrementor == 0 && properties->spreads == 1 )
    {
      gtk_widget_hide(properties->GtkInfo.scaleStrikes);
      gtk_widget_hide(properties->GtkInfo.scaleStrikes2);

      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"StrikeLeg1");
      gtk_widget_show(properties->GtkInfo.labelStrikes);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2");
      gtk_widget_show(properties->GtkInfo.labelStrikes2);

      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike);
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_widget_hide(properties->GtkInfo.comboboxStrikes);

    }
    else if( strike_control[properties->strikestoogle].incrementor != 0 && properties->spreads == 1 )
    {
      gtk_widget_hide(properties->GtkInfo.labelStrikes);
      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);
      gtk_widget_hide(properties->GtkInfo.labelStrikes2);
      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_widget_show(properties->GtkInfo.comboboxStrikes);
    }
    else
    {
      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2");
      gtk_widget_hide(properties->GtkInfo.labelStrikes2);
      gtk_widget_show(properties->GtkInfo.scaleStrikes);
    }

    if( strike_control[properties->strikestoogle].incrementor != 0 && properties->spreads != 1 )
    {
      gtk_widget_show(properties->GtkInfo.comboboxStrikes);
      gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes");
      gtk_widget_show(properties->GtkInfo.labelStrikes);
    }

  } else
  {
    gtk_widget_hide(properties->GtkInfo.comboboxStrikes);
    gtk_widget_hide(properties->GtkInfo.labelStrikes);
  }
  
  if( strike_control[properties->strikestoogle].incrementor != 0 && properties->spreads != 1 )
  {
    gtk_widget_hide(properties->GtkInfo.labelStrikes2);
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
  }

  set_scale_button(properties);
  gtk_widget_show(properties->GtkInfo.checkbuttonSpreads);

  setup_tree_view(properties);
  show_title(properties);

  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton1),true);
}
Пример #14
0
void on_radiobutton3_pressed( GtkWidget *widget, struct _properties *properties )
{
  g_print ("radiobutton3 was pressed\n");
  properties->format = CALENDAR_CUSTOM;

  if( strike_control[properties->strikestoogle].incrementor == 0 )
  {
    properties->strikestoogle = 0;
    gtk_combo_box_set_active(GTK_COMBO_BOX(properties->GtkInfo.comboboxStrikes), 0);
  }

  gtk_widget_hide(properties->GtkInfo.comboboxStrikes);
  gtk_widget_hide(properties->GtkInfo.scaleStrikes);
  gtk_widget_hide(properties->GtkInfo.scaleStrikes2);

  if( option_algorithms[properties->modeltype].supportStrikes )
  {
    gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike);
    gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);

  } else
  {
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike);
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
  }

  if( properties->spreads == 1 )
  {
    gtk_widget_show(properties->GtkInfo.scaleMonths2);
    gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"StrikeLeg1");

    gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adj Leg1");
    gtk_widget_show(properties->GtkInfo.scaleMonths);

    if( option_algorithms[properties->modeltype].supportStrikes )
    {
      gtk_widget_show(properties->GtkInfo.labelStrikes2);
      gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2);

    } else
    {
      gtk_widget_hide(properties->GtkInfo.labelStrikes2);
      gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);
    }

    g_print("Strike Leg1\n");

  } else if( properties->spreads == 0 )
  {
    gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strike");

    gtk_widget_hide(properties->GtkInfo.labelStrikes2);
    gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2);

    g_print("NO Strike Leg1\n");
  }

  if( option_algorithms[properties->modeltype].supportStrikes )
  {
    gtk_widget_show(properties->GtkInfo.labelStrikes);

  } else
  {
    gtk_widget_hide(properties->GtkInfo.labelStrikes);
  }

  gtk_widget_show(properties->GtkInfo.checkbuttonSpreads);

  setup_tree_view(properties);
  show_title(properties);

  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton3),true);
}
Пример #15
0
int main (int argc,
          char *argv[])
{
  GtkWidget *window, *treeview, *scrolled_win;
  GtkTreeStore *store;
  GtkTreeIter iter, child;
  guint i = 0, j;
  
  gtk_init (&argc, &argv);
  
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), "Grocery List");
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  gtk_widget_set_size_request (window, 275, 300);
  
  g_signal_connect (G_OBJECT (window), "destroy",
                    G_CALLBACK (gtk_main_quit), NULL);
  
  treeview = gtk_tree_view_new ();  
  setup_tree_view (treeview);
  
  store = gtk_tree_store_new (COLUMNS, G_TYPE_BOOLEAN, G_TYPE_INT, G_TYPE_STRING);
  
  while (list[i].product != NULL)
  {
    /* If the product type is a category, count the quantity of all of the products
     * in the category that are going to be boughty. */
    if (list[i].product_type == PRODUCT_CATEGORY)
    {
      j = i + 1;
      
      /* Calculate how many products will be bought in the category. */
      while (list[j].product != NULL && list[j].product_type != PRODUCT_CATEGORY)
      {
        if (list[j].buy)
          list[i].quantity += list[j].quantity;
        j++;
      }
      
      /* Add the category as a new root element. */
      gtk_tree_store_append (store, &iter, NULL);
      gtk_tree_store_set (store, &iter, BUY_IT, list[i].buy, 
                          QUANTITY, list[i].quantity, PRODUCT, list[i].product, -1);
    }
    /* Otherwise, add the product as a child of the category. */
    else
    {
      gtk_tree_store_append (store, &child, &iter);
      gtk_tree_store_set (store, &child, BUY_IT, list[i].buy, 
                          QUANTITY, list[i].quantity, PRODUCT, list[i].product, -1);
    }
    
    i++;
  }
  
  gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
  gtk_tree_view_expand_all (GTK_TREE_VIEW (treeview));
  g_object_unref (store);
  
  scrolled_win = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
                                  GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  
  gtk_container_add (GTK_CONTAINER (scrolled_win), treeview);
  gtk_container_add (GTK_CONTAINER (window), scrolled_win);
  gtk_widget_show_all (window);
  
  gtk_main ();
  return 0;
}
Пример #16
0
void fl_init(GtkBuilder *builder)
{
	GEList *dir_list;

	/*
	 * get the widgets from glade
	 */
	w_main = GTK_WINDOW(gtk_builder_get_object(builder, "w_main"));
	combo_wd = GTK_COMBO_BOX_TEXT(gtk_builder_get_object(builder, "combo_wd"));
	ent_wd = GTK_ENTRY(gtk_builder_get_object(builder, "ent_wd"));
	cb_recurse = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "cb_recurse"));
	tv_files = GTK_TREE_VIEW(gtk_builder_get_object(builder, "tv_files"));
	lab_file_count = GTK_LABEL(gtk_builder_get_object(builder, "lab_file_count"));
	menu_file_list = GTK_MENU(gtk_builder_get_object(builder, "menu_file_list"));
	m_ctx_manual_rename = GTK_MENU_ITEM(gtk_builder_get_object(builder, "m_ctx_manual_rename"));
	m_ctx_delete = GTK_MENU_ITEM(gtk_builder_get_object(builder, "m_ctx_delete"));
	m_ctx_unselect_all = GTK_MENU_ITEM(gtk_builder_get_object(builder, "m_ctx_unselect_all"));
	l_help_title = GTK_LABEL(gtk_builder_get_object(builder, "l_help_title"));
  	l_help_secondary = GTK_LABEL(gtk_builder_get_object(builder, "l_help_secondary"));
	/* 
	 * create the file chooser
	 */
	dlg_wd_select = GTK_DIALOG(gtk_file_chooser_dialog_new(
					_("Select Directory"),
					w_main,
					GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
					"Cancel", GTK_RESPONSE_CANCEL,
					"Open", GTK_RESPONSE_ACCEPT,
					NULL));

	/*
	 * load file list icons
	 */
	pix_file = gdk_pixbuf_new_from_file(DATADIR"/file.png", NULL);
	pix_folder = gdk_pixbuf_new_from_file(DATADIR"/folder.png", NULL);

	/*
	 * setup the file list treeview
	 */
	setup_tree_view();
	g_signal_connect(gtk_tree_view_get_selection(tv_files), "changed", 
			 G_CALLBACK(cb_file_selection_changed), NULL);
	gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(tv_files),
					       cb_file_selection_changing, NULL, NULL);

	/*
	 * get the preference values, or set them to defaults
	 */

	/* recurse */
	recurse = pref_get_ref("ds:recurse");
	if (!recurse) {
		gboolean temp = FALSE;
		recurse = pref_set("ds:recurse", PREF_BOOLEAN, &temp);
	}

	gtk_toggle_button_set_active(cb_recurse, *recurse);

	/* dir_mru */
	dir_list = pref_get_ref("ds:dir_mru");
	if (!dir_list) {
		GEList *temp_list = g_elist_new();
		g_elist_append(temp_list, (void*)g_get_home_dir());
		dir_list = pref_set("ds:dir_mru", PREF_STRING | PREF_LIST, temp_list);
		g_elist_free_data(temp_list);
	}
	dir_mru = mru_new_from_list(10, dir_list);
}