Exemplo n.º 1
0
static GtkWidget* do_config (MaintainrProjectbox *item)
{
	GtkWidget *vbox;
	GtkWidget *table;
	GtkWidget *hbox;
	GtkWidget *button;

	vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
	gtk_widget_set_halign (vbox, GTK_ALIGN_CENTER);
	gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
	gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);

	table = gtk_grid_new ();
	gtk_grid_set_column_spacing (GTK_GRID (table), 5);
	gtk_container_set_border_width (GTK_CONTAINER (table), 0);
	gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
	gtk_widget_set_hexpand (table, TRUE);

	item->priv->project_name = gtk_entry_new ();
	gtk_entry_set_text (GTK_ENTRY (item->priv->project_name), "Untitled");
	gtk_grid_attach (GTK_GRID (table), gtk_label_new ("Name"), 0, 0, 1, 1);
	gtk_grid_attach (GTK_GRID (table), item->priv->project_name, 1, 0, 1, 1);

	item->priv->priority = gtk_combo_box_text_new ();
	gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (item->priv->priority), NULL, "High");
	gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (item->priv->priority), NULL, "Medium");
	gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (item->priv->priority), NULL, "Low");
	gtk_grid_attach (GTK_GRID (table), gtk_label_new ("Priority"), 0, 1, 1, 1);
	gtk_grid_attach (GTK_GRID (table), item->priv->priority, 1, 1, 1, 1);

	item->priv->services_confs = gtk_notebook_new ();
	gtk_box_pack_start (GTK_BOX (vbox), item->priv->services_confs, TRUE, TRUE, 0);

	hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
	gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);

	button = gtk_button_new ();
	gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_icon_name ("edit-delete", GTK_ICON_SIZE_BUTTON));
	gtk_widget_set_tooltip_text (button, "Remove this project from the list");
	g_signal_connect (button, "clicked", G_CALLBACK (delete_project), item);
	gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);

	button = gtk_button_new ();
	gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_icon_name ("document-save", GTK_ICON_SIZE_BUTTON));
	gtk_widget_set_tooltip_text (button, "Save settings and back to the main screen");
	g_signal_connect (button, "clicked", G_CALLBACK (save_conf), item);
	gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);

	return vbox;
}
Exemplo n.º 2
0
static void
item_end_element (GMarkupParseContext *context,
		  const gchar         *element_name,
		  gpointer             user_data,
		  GError             **error)
{
  ItemParserData *data = (ItemParserData*)user_data;

  /* Append the translated strings */
  if (data->string->len)
    {
      if (data->translatable)
	{
	  const gchar *translated;

	  translated = _gtk_builder_parser_translate (data->domain,
						      data->context,
						      data->string->str);
	  g_string_assign (data->string, translated);
	}

      gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (data->object), data->id, data->string->str);
    }

  data->translatable = FALSE;
  g_string_set_size (data->string, 0);
  g_free (data->context);
  data->context = NULL;
  g_free (data->id);
  data->id = NULL;
  data->is_text = FALSE;
}
Exemplo n.º 3
0
void
glade_gtk_combo_box_text_set_property (GladeWidgetAdaptor *adaptor,
                                       GObject            *object,
                                       const gchar        *id,
                                       const GValue       *value)
{
  if (!strcmp (id, "glade-items"))
    {
      GList *string_list, *l;
      GladeString *string;
      gint active;

      string_list = g_value_get_boxed (value);

      active = gtk_combo_box_get_active (GTK_COMBO_BOX (object));

      /* Update comboboxtext items */
      gtk_combo_box_text_remove_all (GTK_COMBO_BOX_TEXT (object));

      for (l = string_list; l; l = l->next)
        {
          string = l->data;

          gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (object), string->id, string->string);
        }

      gtk_combo_box_set_active (GTK_COMBO_BOX (object),
                                CLAMP (active, 0, g_list_length (string_list) - 1));
    }
  else
    GWA_GET_CLASS (GTK_TYPE_COMBO_BOX)->set_property (adaptor, object, id, value);
}
Exemplo n.º 4
0
static GtkWidget *
deserialize_choice (GVariant *choice,
                    FileDialogHandle *handle)
{
  GtkWidget *widget;
  const char *choice_id;
  const char *label;
  const char *selected;
  GVariant *choices;
  int i;

  g_variant_get (choice, "(&s&s@a(ss)&s)", &choice_id, &label, &choices, &selected);

  if (g_variant_n_children (choices) > 0)
    {
      GtkWidget *box;
      GtkWidget *combo;

      box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
      gtk_container_add (GTK_CONTAINER (box), gtk_label_new (label));

      combo = gtk_combo_box_text_new ();
      g_object_set_data_full (G_OBJECT (combo), "choice-id", g_strdup (choice_id), g_free);
      gtk_container_add (GTK_CONTAINER (box), combo);

      for (i = 0; i < g_variant_n_children (choices); i++)
        {
          const char *id;
          const char *text;

          g_variant_get_child (choices, i, "(&s&s)", &id, &text);
          gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), id, text);
        }

      if (strcmp (selected, "") == 0)
        g_variant_get_child (choices, 0, "(&s&s)", &selected, NULL);

      g_signal_connect (combo, "changed", G_CALLBACK (choice_changed), handle);
      gtk_combo_box_set_active_id (GTK_COMBO_BOX (combo), selected);

      widget = box;
    }
  else
    {
      GtkWidget *check;

      check = gtk_check_button_new_with_label (label);
      g_object_set_data_full (G_OBJECT (check), "choice-id", g_strdup (choice_id), g_free);
      g_signal_connect (check, "toggled", G_CALLBACK (choice_toggled), handle);
      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), g_strcmp0 (selected, "true") == 0);

      widget = check;
    }

  gtk_widget_show_all (widget);

  return widget;
}
Exemplo n.º 5
0
static VALUE
rg_append(VALUE self, VALUE id, VALUE text)
{
    gtk_combo_box_text_append(_SELF(self),
                              RVAL2CSTR_ACCEPT_NIL(id),
                              RVAL2CSTR(text));

    return self;
}
Exemplo n.º 6
0
void addDropDownList(int numberOfElements, GtkGrid *grid, void (*entryChangedFuncPtr) (GtkComboBox *editable, gpointer),
                            int col, int row){
    GtkWidget* comboBoxWithText = gtk_combo_box_text_new_with_entry ();
    int i = 1;
    while(i <= numberOfElements){
        char *numberAsChar = malloc(20);
        sprintf(numberAsChar, "%d", i);
        gtk_combo_box_text_append (comboBoxWithText, numberAsChar, numberAsChar);
        i = i + 1;
    }

    gtk_combo_box_set_active_id (comboBoxWithText,"1");

    g_signal_connect(comboBoxWithText, "changed", G_CALLBACK(entryChangedFuncPtr), NULL);

    gtk_grid_attach(grid, comboBoxWithText, col, row, 1, 1);
    gtk_widget_show(comboBoxWithText);
}
Exemplo n.º 7
0
static void
g_paste_settings_ui_stack_private_refill_histories (GPasteSettingsUiStackPrivate *priv)
{
    G_PASTE_CLEANUP_ERROR_FREE GError *error = NULL;
    GStrv histories = g_paste_client_list_histories_sync (priv->client, &error);

    if (g_paste_settings_ui_check_connection_error (error))
        return;

    GtkComboBoxText *targets = priv->targets;

    gtk_combo_box_text_remove_all (targets);

    for (guint i = 0; histories[i]; ++i)
        gtk_combo_box_text_append (targets, histories[i], histories[i]);

    gtk_combo_box_set_active_id (GTK_COMBO_BOX (targets),
                                 g_paste_settings_get_history_name (priv->settings));
}
Exemplo n.º 8
0
/* ussd_on_operators_changed */
static void _ussd_on_operators_changed(gpointer data)
{
	USSD * ussd = data;
	GtkTreeModel * model;
	int i;
	USSDCode * codes;

	model = gtk_combo_box_get_model(GTK_COMBO_BOX(ussd->codes));
	gtk_list_store_clear(GTK_LIST_STORE(model));
	i = gtk_combo_box_get_active(GTK_COMBO_BOX(ussd->operators));
	codes = _ussd_operators[i].codes;
	for(i = 0; codes[i].name != NULL; i++)
#if GTK_CHECK_VERSION(3, 0, 0)
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(ussd->codes),
				NULL, codes[i].name);
#else
		gtk_combo_box_append_text(GTK_COMBO_BOX(ussd->codes),
				codes[i].name);
#endif
	gtk_combo_box_set_active(GTK_COMBO_BOX(ussd->codes), 0);
}
Exemplo n.º 9
0
static void
item_end_element (GMarkupParseContext *context,
		  const gchar         *element_name,
		  gpointer             user_data,
		  GError             **error)
{
  ItemParserData *data = (ItemParserData*)user_data;

  /* Append the translated strings */
  if (data->string->len)
    {
      if (data->translatable)
	{
	  gchar *translated;

	  /* FIXME: This will not use the domain set in the .ui file,
	   * since the parser is not telling the builder about the domain.
	   * However, it will work for gtk_builder_set_translation_domain() calls.
	   */
	  translated = _gtk_builder_parser_translate (data->domain,
						      data->context,
						      data->string->str);
	  g_string_set_size (data->string, 0);
	  g_string_append (data->string, translated);
	}

      gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (data->object), data->id, data->string->str);
    }

  data->translatable = FALSE;
  g_string_set_size (data->string, 0);
  g_free (data->context);
  data->context = NULL;
  g_free (data->id);
  data->id = NULL;
  data->is_text = FALSE;
}
Exemplo n.º 10
0
static void populate_MRUs(NEW_DATA *new_data)
{

        /* Create the list of previously used workout types
         * and connect them to the combo box
         */

        R2RDatabase *database = new_data->database;
        GtkComboBoxText *workout_type_entry = new_data->workout_type_entry;
        GtkComboBoxText *route_entry = new_data->route_entry;

        int i, j;
        gboolean already_in;
        gchar **types = NULL;
        guint ntypes = 0;
        for (i = 0; i < database->nruns; i++) {
                already_in = false;
                for (j = 0; j < ntypes; j++) {
                        if (g_strcmp0(database->run[i]->type, types[j]) == 0 ||
                            database->run[i]->type[0] == ' ' ||
                            database->run[i]->type[0] == '\0')
                                already_in = true;
                }
                if (!already_in) {
                        ntypes++;
                        types = g_realloc(types, ntypes * sizeof(gchar *));
                        types[ntypes - 1]  = g_malloc(database->run[i]->type_len + 1);
                        g_strlcpy(types[ntypes - 1], database->run[i]->type,
                                database->run[i]->type_len + 1);
                }
        }

        gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(workout_type_entry));
        for (i = 0; i < ntypes; i++) {
                gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(workout_type_entry),
                        NULL, types[i]);
                g_free(types[i]);
        }
        g_free(types);

        /* Create the list of previously used routes
         * and connect them to the combo box
         */
        gchar **routes = NULL;
        guint nroutes = 0;
        for (i = 0; i < database->nruns; i++) {
                already_in = false;
                for (j = 0; j < nroutes; j++) {
                        if (g_strcmp0(database->run[i]->route, routes[j]) == 0 ||
                            database->run[i]->route[0] == ' ' ||
                            database->run[i]->route[0] == '\0') 
                                already_in = true;
                }
                if (!already_in) {
                        nroutes++;
                        routes = g_realloc(routes, nroutes * sizeof(gchar *));
                        routes[nroutes - 1]  = g_malloc(database->run[i]->route_len + 1);
                        g_strlcpy(routes[nroutes - 1], database->run[i]->route,
                                database->run[i]->route_len + 1);
                }
        }

        gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(route_entry));
        for (i = 0; i < nroutes; i++) {
                gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(route_entry),
                        NULL, routes[i]);
                g_free(routes[i]);
        }
        g_free(routes);
}
Exemplo n.º 11
0
static Debug * _debug_init(PhonePluginHelper * helper)
{
	Debug * debug;
	GtkSizeGroup * group;
	GtkWidget * vbox;
	GtkWidget * widget;
	GtkWidget * hbox;
	GtkCellRenderer * renderer;
	GtkTreeViewColumn * column;
	size_t i;

	if((debug = object_new(sizeof(*debug))) == NULL)
		return NULL;
	debug->helper = helper;
	group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
	debug->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size(GTK_WINDOW(debug->window), 200, 300);
#if GTK_CHECK_VERSION(2, 6, 0)
	gtk_window_set_icon_name(GTK_WINDOW(debug->window), plugin.icon);
#endif
	gtk_window_set_title(GTK_WINDOW(debug->window), plugin.name);
	g_signal_connect_swapped(debug->window, "delete-event", G_CALLBACK(
				_debug_on_closex), debug);
	/* vbox */
	vbox = gtk_vbox_new(FALSE, 0);
	/* modem requests */
	hbox = gtk_hbox_new(FALSE, 4);
	gtk_container_set_border_width(GTK_CONTAINER(hbox), 4);
#if GTK_CHECK_VERSION(3, 0, 0)
	debug->requests = gtk_combo_box_text_new();
	for(i = 0; _debug_modem_requests[i].name != NULL; i++)
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->requests),
				NULL, _debug_modem_requests[i].name);
#else
	debug->requests = gtk_combo_box_new_text();
	for(i = 0; _debug_modem_requests[i].name != NULL; i++)
		gtk_combo_box_append_text(GTK_COMBO_BOX(debug->requests),
				_debug_modem_requests[i].name);
#endif
	gtk_combo_box_set_active(GTK_COMBO_BOX(debug->requests), 0);
	gtk_box_pack_start(GTK_BOX(hbox), debug->requests, TRUE, TRUE, 0);
	widget = gtk_button_new_from_stock(GTK_STOCK_EXECUTE);
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_debug_on_queue_request), debug);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	/* modem triggers */
	hbox = gtk_hbox_new(FALSE, 4);
	gtk_container_set_border_width(GTK_CONTAINER(hbox), 4);
#if GTK_CHECK_VERSION(3, 0, 0)
	debug->triggers = gtk_combo_box_text_new();
	for(i = 0; _debug_modem_triggers[i].name != NULL; i++)
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->triggers),
				NULL, _debug_modem_triggers[i].name);
#else
	debug->triggers = gtk_combo_box_new_text();
	for(i = 0; _debug_modem_triggers[i].name != NULL; i++)
		gtk_combo_box_append_text(GTK_COMBO_BOX(debug->triggers),
				_debug_modem_triggers[i].name);
#endif
	gtk_combo_box_set_active(GTK_COMBO_BOX(debug->triggers), 0);
	gtk_box_pack_start(GTK_BOX(hbox), debug->triggers, TRUE, TRUE, 0);
	widget = gtk_button_new_from_stock(GTK_STOCK_REFRESH);
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_debug_on_queue_trigger), debug);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	/* events */
	debug->events = gtk_list_store_new(3, G_TYPE_UINT, G_TYPE_STRING,
			G_TYPE_STRING);
	widget = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),
			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	debug->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(
				debug->events));
	gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(debug->view), TRUE);
	renderer = gtk_cell_renderer_text_new();
	column = gtk_tree_view_column_new_with_attributes("Time", renderer,
			"text", 1, NULL);
	gtk_tree_view_column_set_sort_column_id(column, 0);
	gtk_tree_view_append_column(GTK_TREE_VIEW(debug->view), column);
	renderer = gtk_cell_renderer_text_new();
	column = gtk_tree_view_column_new_with_attributes("Event", renderer,
			"text", 2, NULL);
	gtk_tree_view_append_column(GTK_TREE_VIEW(debug->view), column);
	gtk_container_add(GTK_CONTAINER(widget), debug->view);
	gtk_box_pack_start(GTK_BOX(vbox), widget, TRUE, TRUE, 0);
	gtk_container_add(GTK_CONTAINER(debug->window), vbox);
	gtk_widget_show_all(debug->window);
	return debug;
}
Exemplo n.º 12
0
static void serverstats_init(void)
{
    /** Get an allready exposed widgets to grab theme colors from. */
    GtkWidget *colw = (GtkWidget *) playlist3_get_category_tree_view();
    GtkWidget *label = NULL;
    GtkWidget *table = NULL;
    GtkWidget *hbox = NULL;
    GtkWidget *event = NULL;
    GtkWidget *serverstats_vbox = gtk_vbox_new(FALSE, 0);
    GtkWidget *serverstats_event;
    gchar *markup = NULL;
    int i = 0;

    serverstats_sw = gtk_scrolled_window_new(NULL, NULL);
    gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(serverstats_sw), GTK_SHADOW_IN);
    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(serverstats_sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);

    serverstats_event = gtk_event_box_new();
    gtk_event_box_set_visible_window(GTK_EVENT_BOX(serverstats_event), TRUE);
    gtk_container_add(GTK_CONTAINER(serverstats_event), serverstats_vbox);
    {
        GtkStyleContext *cs = gtk_widget_get_style_context(GTK_WIDGET(serverstats_event));
        gtk_style_context_add_class(cs, GTK_STYLE_CLASS_VIEW);
    }

    /* wrap in event box to set bg color */
    event = gtk_event_box_new();
    gtk_event_box_set_visible_window(GTK_EVENT_BOX(event), TRUE);
    //gtk_widget_set_state(GTK_WIDGET(event), GTK_STATE_SELECTED);
    {
        GtkStyleContext *cs = gtk_widget_get_style_context(GTK_WIDGET(serverstats_event));
        gtk_style_context_add_class(cs, GTK_STYLE_CLASS_HEADER);
    }
    

    //gtk_widget_modify_bg(serverstats_event, GTK_STATE_NORMAL, &(colw->style->base[GTK_STATE_NORMAL]));
    g_signal_connect(G_OBJECT(serverstats_vbox), "style-set", G_CALLBACK(serverstats_header_style_changed),
                     serverstats_event);

    /* set label and padding */
    hbox = gtk_hbox_new(FALSE, 6);
    label = gtk_image_new_from_icon_name("mpd", GTK_ICON_SIZE_DND);
    gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0);
    label = gtk_label_new("");
    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
    markup = g_markup_printf_escaped("<span size='xx-large' weight='bold'>%s</span>", _("Server Information"));
    gtk_label_set_markup(GTK_LABEL(label), markup);
    g_free(markup);
    gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0);
    gtk_container_add(GTK_CONTAINER(event), hbox);

    gtk_container_set_border_width(GTK_CONTAINER(hbox), 6);
    gtk_box_pack_start(GTK_BOX(serverstats_vbox), event, FALSE, TRUE, 0);
    gtk_widget_show_all(event);

    label = gtk_hseparator_new();
    gtk_box_pack_start(GTK_BOX(serverstats_vbox), label, FALSE, TRUE, 0);
    gtk_widget_show(label);
    /**
     * Data list
     */
    table = gtk_grid_new();//(SERVERSTATS_NUM_FIELDS + 2, 2, FALSE);
    gtk_grid_set_column_spacing(GTK_GRID(table), 6);
    gtk_grid_set_row_spacing(GTK_GRID(table), 6);
    gtk_container_set_border_width(GTK_CONTAINER(table), 12);

    /** Database */
    label = gtk_label_new("");
    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
    markup = g_markup_printf_escaped("<span size='x-large' weight='bold'>%s</span>", _("Server"));
    gtk_label_set_markup(GTK_LABEL(label), markup);
    g_free(markup);
    gtk_grid_attach(GTK_GRID(table), label, 0,0,2,1); 

    i = 1;
    /** Mpd version */
    serverstats_add_entry(table, i++, _("Version"), SERVERSTATS_MPD_VERSION);

    serverstats_add_entry(table, i++, _("Uptime"), SERVERSTATS_MPD_UPTIME);
    serverstats_add_entry(table, i++, _("Time Playing"), SERVERSTATS_MPD_PLAYTIME);

    /** Database */
    label = gtk_label_new("");
    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

    markup = g_markup_printf_escaped("<span size='x-large' weight='bold'>%s</span>", _("Database"));
    gtk_label_set_markup(GTK_LABEL(label), markup);
    g_free(markup);
    gtk_grid_attach(GTK_GRID(table), label, 0, i, 2, 1);
    i++;

    /** Mpd Playtime */
    serverstats_add_entry(table, i++, _("Total Playtime"), SERVERSTATS_MPD_DB_PLAYTIME);
    /** Mpd Artists*/
    serverstats_add_entry(table, i++, _("Number of artists"), SERVERSTATS_MPD_DB_ARTISTS);
    /** Mpd Albums */
    serverstats_add_entry(table, i++, _("Number of albums"), SERVERSTATS_MPD_DB_ALBUMS);
    /** Mpd Songs */
    serverstats_add_entry(table, i++, _("Number of songs"), SERVERSTATS_MPD_DB_SONGS);
    /** Mpd Songs */
    serverstats_add_entry(table, i++, _("URL Handlers"), SERVERSTATS_MPD_URLHANDLERS);
    /** Mpd Songs */
    serverstats_add_entry(table, i++, _("Tag Types"), SERVERSTATS_MPD_TAG_TYPES);
    /** Stats */
    label = gtk_label_new("");
    gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);

    markup = g_markup_printf_escaped("<span size='x-large' weight='bold'>%s</span>", _("Tag statistics"));
    gtk_label_set_markup(GTK_LABEL(label), markup);
    g_free(markup);
    gtk_grid_attach(GTK_GRID(table), label, 0, i, 2, 1);
    i++;
    gtk_widget_show_all(table);

    /**
     * Stats treeview
     */
    {
        int j;
        GtkWidget *combo = NULL;
        GtkWidget *sw = NULL, *cancel;
        GtkListStore *store;
        GtkCellRenderer *renderer;
        GtkWidget *pb = gtk_progress_bar_new();
        combo = gtk_combo_box_text_new();
        for (j = 0; j < MPD_TAG_NUM_OF_ITEM_TYPES - 1; j++)
        {
            if (mpd_server_tag_supported(connection, j))
            {
                gtk_combo_box_text_append(GTK_COMBO_BOX(combo),NULL, mpdTagItemKeys[j]);
            }
        }

        gtk_grid_attach(GTK_GRID(table), combo, 0, i, 2, 1);
        i++;
        gtk_widget_show(combo);

        hbox = gtk_hbox_new(FALSE, 6);
        cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
        g_signal_connect(G_OBJECT(cancel), "clicked", G_CALLBACK(cancel_clicked), NULL);
        gtk_box_pack_start(GTK_BOX(hbox), pb, TRUE, TRUE, 0);
        gtk_box_pack_start(GTK_BOX(hbox), cancel, FALSE, TRUE, 0);

        gtk_grid_attach(GTK_GRID(table), hbox, 0, i, 2, 1);
        i++; 
        g_signal_connect(G_OBJECT(combo), "changed", G_CALLBACK(serverstats_combo_changed), pb);

        sw = gtk_scrolled_window_new(NULL, NULL);
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
        gtk_container_set_border_width(GTK_CONTAINER(sw), 6);

        store = gtk_list_store_new(4, G_TYPE_ULONG, G_TYPE_STRING, G_TYPE_ULONG, G_TYPE_STRING);
        gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), 0, GTK_SORT_DESCENDING);
        serverstats_tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
        gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(serverstats_tree), FALSE);
        gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(serverstats_tree), TRUE);
        renderer = gtk_cell_renderer_text_new();
        g_object_set(G_OBJECT(renderer), "ellipsize", PANGO_ELLIPSIZE_END, "ellipsize-set", TRUE, "width-chars", 30,
                     NULL);
        gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(serverstats_tree), -1, "", renderer, "text", 1, NULL);
        renderer = gtk_cell_renderer_progress_new();
        gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(serverstats_tree),
                                                    -1, "", renderer, "value", 2, "text", 3, NULL);

        gtk_tree_view_set_search_column(GTK_TREE_VIEW(serverstats_tree), 1);

        gtk_container_add(GTK_CONTAINER(sw), serverstats_tree);

        gtk_grid_attach(GTK_GRID(table), sw, 0, i, 2, 1); 
        i++;
        gtk_widget_show_all(sw);
    }
    /**
     * Add table
     */
    gtk_box_pack_start(GTK_BOX(serverstats_vbox), table, TRUE, TRUE, 0);
    /* maintain my own reference to the widget, so it won't get destroyed removing
     * from view
     */
    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(serverstats_sw), serverstats_event);
    gtk_widget_show(serverstats_vbox);
    gtk_widget_show(serverstats_event);
    gtk_widget_show(serverstats_sw);
    g_object_ref_sink(serverstats_sw);
}
static void
mail_config_remote_backend_insert_widgets (EMailConfigServiceBackend *backend,
                                           GtkBox *parent)
{
	EMailConfigRemoteBackend *remote_backend;
	CamelProvider *provider;
	CamelSettings *settings;
	ESource *source;
	ESourceBackend *extension;
	EMailConfigServicePage *page;
	EMailConfigServicePageClass *class;
	GtkLabel *label;
	GtkWidget *widget;
	GtkWidget *container;
	const gchar *backend_name;
	const gchar *extension_name;
	const gchar *text;
	gchar *markup;

	remote_backend = E_MAIL_CONFIG_REMOTE_BACKEND (backend);

	page = e_mail_config_service_backend_get_page (backend);
	source = e_mail_config_service_backend_get_source (backend);
	settings = e_mail_config_service_backend_get_settings (backend);

	class = E_MAIL_CONFIG_SERVICE_PAGE_GET_CLASS (page);
	extension_name = class->extension_name;
	extension = e_source_get_extension (source, extension_name);
	backend_name = e_source_backend_get_backend_name (extension);

	text = _("Configuration");
	markup = g_markup_printf_escaped ("<b>%s</b>", text);
	widget = gtk_label_new (markup);
	gtk_label_set_use_markup (GTK_LABEL (widget), TRUE);
	gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5);
	gtk_box_pack_start (GTK_BOX (parent), widget, FALSE, FALSE, 0);
	gtk_widget_show (widget);
	g_free (markup);

	widget = gtk_grid_new ();
	gtk_widget_set_margin_left (widget, 12);
	gtk_grid_set_row_spacing (GTK_GRID (widget), 6);
	gtk_grid_set_column_spacing (GTK_GRID (widget), 6);
	gtk_box_pack_start (GTK_BOX (parent), widget, FALSE, FALSE, 0);
	gtk_widget_show (widget);

	container = widget;

	widget = gtk_label_new_with_mnemonic (_("_Server:"));
	gtk_misc_set_alignment (GTK_MISC (widget), 1.0, 0.5);
	gtk_grid_attach (GTK_GRID (container), widget, 0, 0, 1, 1);
	gtk_widget_show (widget);

	label = GTK_LABEL (widget);

	widget = gtk_entry_new ();
	gtk_widget_set_hexpand (widget, TRUE);
	gtk_label_set_mnemonic_widget (label, widget);
	gtk_grid_attach (GTK_GRID (container), widget, 1, 0, 1, 1);
	remote_backend->host_entry = widget;  /* do not reference */
	gtk_widget_show (widget);

	widget = gtk_label_new_with_mnemonic (_("_Port:"));
	gtk_grid_attach (GTK_GRID (container), widget, 2, 0, 1, 1);
	gtk_widget_show (widget);

	label = GTK_LABEL (widget);

	widget = e_port_entry_new ();
	gtk_label_set_mnemonic_widget (label, widget);
	gtk_grid_attach (GTK_GRID (container), widget, 3, 0, 1, 1);
	remote_backend->port_entry = widget;  /* do not reference */
	gtk_widget_show (widget);

	widget = gtk_label_new_with_mnemonic (_("User_name:"));
	gtk_misc_set_alignment (GTK_MISC (widget), 1.0, 0.5);
	gtk_grid_attach (GTK_GRID (container), widget, 0, 1, 1, 1);
	gtk_widget_show (widget);

	label = GTK_LABEL (widget);

	widget = gtk_entry_new ();
	gtk_widget_set_hexpand (widget, TRUE);
	gtk_label_set_mnemonic_widget (label, widget);
	gtk_grid_attach (GTK_GRID (container), widget, 1, 1, 3, 1);
	remote_backend->user_entry = widget;  /* do not reference */
	gtk_widget_show (widget);

	text = _("Security");
	markup = g_markup_printf_escaped ("<b>%s</b>", text);
	widget = gtk_label_new (markup);
	gtk_widget_set_margin_top (widget, 6);
	gtk_label_set_use_markup (GTK_LABEL (widget), TRUE);
	gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5);
	gtk_box_pack_start (GTK_BOX (parent), widget, FALSE, FALSE, 0);
	gtk_widget_show (widget);
	g_free (markup);

	widget = gtk_grid_new ();
	gtk_widget_set_margin_left (widget, 12);
	gtk_grid_set_row_spacing (GTK_GRID (widget), 6);
	gtk_grid_set_column_spacing (GTK_GRID (widget), 6);
	gtk_box_pack_start (GTK_BOX (parent), widget, FALSE, FALSE, 0);
	gtk_widget_show (widget);

	container = widget;

	widget = gtk_label_new_with_mnemonic (_("Encryption _method:"));
	gtk_grid_attach (GTK_GRID (container), widget, 0, 0, 1, 1);
	gtk_widget_show (widget);

	label = GTK_LABEL (widget);

	/* The IDs correspond to the CamelNetworkSecurityMethod enum. */
	widget = gtk_combo_box_text_new ();
	gtk_combo_box_text_append (
		GTK_COMBO_BOX_TEXT (widget),
		"none",
		_("No encryption"));
	gtk_combo_box_text_append (
		GTK_COMBO_BOX_TEXT (widget),
		"starttls-on-standard-port",
		_("STARTTLS after connecting"));
	gtk_combo_box_text_append (
		GTK_COMBO_BOX_TEXT (widget),
		"ssl-on-alternate-port",
		_("SSL on a dedicated port"));
	gtk_label_set_mnemonic_widget (label, widget);
	gtk_widget_set_halign (widget, GTK_ALIGN_START);
	gtk_grid_attach (GTK_GRID (container), widget, 1, 0, 1, 1);
	remote_backend->security_combo_box = widget;  /* do not reference */
	gtk_widget_show (widget);

	provider = camel_provider_get (backend_name, NULL);
	if (provider != NULL && provider->port_entries != NULL)
		e_port_entry_set_camel_entries (
			E_PORT_ENTRY (remote_backend->port_entry),
			provider->port_entries);

	text = _("Authentication");
	markup = g_markup_printf_escaped ("<b>%s</b>", text);
	widget = gtk_label_new (markup);
	gtk_widget_set_margin_top (widget, 6);
	gtk_label_set_use_markup (GTK_LABEL (widget), TRUE);
	gtk_misc_set_alignment (GTK_MISC (widget), 0.0, 0.5);
	gtk_box_pack_start (GTK_BOX (parent), widget, FALSE, FALSE, 0);
	gtk_widget_show (widget);
	g_free (markup);

	widget = e_mail_config_auth_check_new (backend);
	gtk_widget_set_margin_left (widget, 12);
	gtk_box_pack_start (GTK_BOX (parent), widget, FALSE, FALSE, 0);
	remote_backend->auth_check = widget;  /* do not reference */
	gtk_widget_show (widget);

	e_binding_bind_object_text_property (
		settings, "host",
		remote_backend->host_entry, "text",
		G_BINDING_BIDIRECTIONAL |
		G_BINDING_SYNC_CREATE);

	g_object_bind_property_full (
		settings, "security-method",
		remote_backend->security_combo_box, "active-id",
		G_BINDING_BIDIRECTIONAL |
		G_BINDING_SYNC_CREATE,
		e_binding_transform_enum_value_to_nick,
		e_binding_transform_enum_nick_to_value,
		NULL, (GDestroyNotify) NULL);

	g_object_bind_property (
		settings, "port",
		remote_backend->port_entry, "port",
		G_BINDING_BIDIRECTIONAL |
		G_BINDING_SYNC_CREATE);

	g_object_bind_property (
		settings, "security-method",
		remote_backend->port_entry, "security-method",
		G_BINDING_SYNC_CREATE);

	e_binding_bind_object_text_property (
		settings, "user",
		remote_backend->user_entry, "text",
		G_BINDING_BIDIRECTIONAL |
		G_BINDING_SYNC_CREATE);

	/* Don't use G_BINDING_SYNC_CREATE here since the widget
	 * chooses its initial mechanism more intelligently than
	 * a simple property binding would. */
	g_object_bind_property (
		settings, "auth-mechanism",
		remote_backend->auth_check, "active-mechanism",
		G_BINDING_BIDIRECTIONAL);
}
Exemplo n.º 14
0
int main(int argc, char** argv) {
    
    //gtk wdiget init start...
    GtkWidget *window, *icon_view, *notebook;
    GtkWidget *current_user_name, *current_time, *network_speed;
    GtkWidget *home_button, *access_token_entry, *access_token_ok_button;
    GtkWidget *access_token_cancel_button;
    GtkWidget *get_access_token_button, *post_blog_title_entry;
    GtkWidget *post_blog_content_text_view, *post_blog_content_text_buffer;
    GtkWidget *post_blog_ok_button, *post_blog_cancel_button;
    GtkWidget *blog_access_permission, *blog_password;
    GList *post_blog_page = NULL;
    GtkBuilder *builder;
    GError *error = NULL;
    
    //widget init
    gtk_init(&argc, &argv);
    builder = gtk_builder_new();
    if(!gtk_builder_add_from_file(builder, "./sources/glade.glade", &error))
    {
        g_print("Error occured while loading UI files\n");
        g_print("Message: %s\n", error->message);
        g_free(error);
        return 1;
    }
    
    //widget get from builder(glade files)
    window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
    notebook = GTK_WIDGET(gtk_builder_get_object(builder, "notebook1"));
    icon_view = GTK_WIDGET(gtk_builder_get_object(builder, "iconview1"));
    current_user_name = GTK_WIDGET(gtk_builder_get_object(builder,"label4"));
    current_time = GTK_WIDGET(gtk_builder_get_object(builder, "label5"));
    network_speed = GTK_WIDGET(gtk_builder_get_object(builder, "label6"));
    access_token_ok_button = GTK_WIDGET(gtk_builder_get_object(builder, "button3"));
    access_token_cancel_button = GTK_WIDGET(gtk_builder_get_object(builder, "button6"));
    get_access_token_button = GTK_WIDGET(gtk_builder_get_object(builder, "button2"));
    home_button = GTK_WIDGET(gtk_builder_get_object(builder, "button1"));
    access_token_entry = GTK_WIDGET(gtk_builder_get_object(builder, "entry1"));
    post_blog_content_text_view= GTK_WIDGET(gtk_builder_get_object(builder, "textview1"));
    post_blog_ok_button = GTK_WIDGET(gtk_builder_get_object(builder, "button4"));
    post_blog_title_entry = GTK_WIDGET(gtk_builder_get_object(builder, "entry2"));
    blog_access_permission = GTK_WIDGET(gtk_builder_get_object(builder, "comboboxtext1"));
    blog_password = GTK_WIDGET(gtk_builder_get_object(builder, "entry4"));
    
    
    //set object attributes
    gtk_window_set_title(GTK_WINDOW(window), "Xiao nei Gtk App");
    gtk_window_set_default_size(GTK_WINDOW(window), 800, 400);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    gtk_icon_view_set_model(GTK_ICON_VIEW(icon_view), create_model());
    gtk_icon_view_set_text_column(GTK_ICON_VIEW(icon_view), COL_DISPLAY_NAME);
    gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(icon_view), COL_PIXBUF);
    gtk_icon_view_set_columns(GTK_ICON_VIEW(icon_view), 4);
    gtk_label_set_text(GTK_LABEL(current_user_name), "Current user:fengtianba");
    g_timeout_add_seconds(1, (GSourceFunc)set_label_time, current_time);
    gtk_label_set_text(GTK_LABEL(network_speed), "Network Speed:100M");
    gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), TRUE);
    int n = gtk_notebook_page_num(GTK_NOTEBOOK(notebook), icon_view);
    //gtk_combo_box_set_model(GTK_COMBO_BOX(blog_access_permission), create_combo_box_tree_model());
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(blog_access_permission), "private", "PRIVATE");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(blog_access_permission), "public", "PUBLIC");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(blog_access_permission), "password", "PASSWORD");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(blog_access_permission), "friend", "FRIEND");
    printf("n is %d\n", n);
    struct tm *time_ptr;
    time_t the_time;
    char *time_malloc;
    (void)time(&the_time);
    time_ptr = localtime(&the_time);
    time_malloc = malloc(sizeof(struct tm));
    memset(time_malloc, 0, sizeof(struct tm));
    sprintf(time_malloc, "%d/%d/%d/%d:%d:%d", 1900 + time_ptr->tm_year, time_ptr->tm_mon, time_ptr->tm_mday,
            time_ptr->tm_hour, time_ptr->tm_min, time_ptr->tm_sec);
    gtk_label_set_text(GTK_LABEL(current_time), time_malloc);
    post_blog_page = g_list_append(post_blog_page, post_blog_title_entry);
    post_blog_page = g_list_append(post_blog_page, post_blog_content_text_view);
    post_blog_page = g_list_append(post_blog_page, blog_access_permission);
    post_blog_page = g_list_append(post_blog_page, blog_password);
    
    //signal to connect to widget
    g_signal_connect(window, "delete-event", gtk_main_quit, NULL);
    g_signal_connect(GTK_BUTTON(get_access_token_button), "clicked", G_CALLBACK(get_access_token_button_clicked), NULL);
    g_signal_connect(GTK_ICON_VIEW(icon_view), "item-activated", G_CALLBACK(icon_view_item_select), notebook);
    g_signal_connect(GTK_BUTTON(home_button), "clicked", G_CALLBACK(home_button_clicked), notebook);
    g_signal_connect(GTK_BUTTON(access_token_ok_button), "clicked", G_CALLBACK(access_token_ok_button_clicked), access_token_entry);
    g_signal_connect(GTK_BUTTON(post_blog_ok_button), "clicked", G_CALLBACK(post_blog_ok_button_clicked), post_blog_page);
    //object unref
    g_object_unref(G_OBJECT(builder));    
    
    //show widget 
    gtk_widget_show_all(window);
  
    gtk_main();   
    
   
    
    
    
    int i = 100;
    char *decode_string;
    
    /*CURL *curl;
    curl_global_init(CURL_GLOBAL_ALL);
    curl = curl_easy_init();
    decode_string = curl_easy_unescape(curl, ACCESS_TOKEN, 0, &i);
    printf("origin url: %s\n", ACCESS_TOKEN);
    printf("new    url: %s\n", decode_string);
    curl_easy_cleanup(curl);*/

    //puts("enter access token\n");
    //scanf("%s", accesstoken);
    //调用自己写的SDK
    xiaonei_gtk_get_blog_list(accesstoken);
    xiaonei_gtk_get_one_blog(accesstoken);
    






    

    return (EXIT_SUCCESS);
}
Exemplo n.º 15
0
static void remmina_main_init(RemminaMain *remminamain)
{
	RemminaMainPriv *priv;
	GtkWidget *vbox;
	GtkWidget *menubar;
	GtkWidget *hbox;
	GtkWidget *quickconnect;
	GtkWidget *tool_item;
	GtkUIManager *uimanager;
	GtkActionGroup *action_group;
	GtkWidget *scrolledwindow;
	GtkWidget *tree;
	GtkCellRenderer *renderer;
	GtkTreeViewColumn *column;
	GError *error;

	priv = g_new0(RemminaMainPriv, 1);
	remminamain->priv = priv;

	remminamain->priv->expanded_group = remmina_string_array_new_from_string(remmina_pref.expanded_group);

	/* Create main window */
	g_signal_connect(G_OBJECT(remminamain), "delete-event", G_CALLBACK(remmina_main_on_delete_event), NULL);
	g_signal_connect(G_OBJECT(remminamain), "destroy", G_CALLBACK(remmina_main_destroy), NULL);
	g_signal_connect(G_OBJECT(remminamain), "window-state-event", G_CALLBACK(remmina_main_on_window_state_event), NULL);
	gtk_container_set_border_width(GTK_CONTAINER(remminamain), 0);
	gtk_window_set_title(GTK_WINDOW(remminamain), _("Remmina Remote Desktop Client"));
	gtk_window_set_default_size(GTK_WINDOW(remminamain), remmina_pref.main_width, remmina_pref.main_height);
	gtk_window_set_position(GTK_WINDOW(remminamain), GTK_WIN_POS_CENTER);
	if (remmina_pref.main_maximize)
	{
		gtk_window_maximize(GTK_WINDOW(remminamain));
	}

	/* Create the main container */
#if GTK_VERSION == 3
	vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
#elif GTK_VERSION == 2
	vbox = gtk_vbox_new(FALSE, 0);
#endif
	gtk_container_add(GTK_CONTAINER(remminamain), vbox);
	gtk_widget_show(vbox);

	/* Create the menubar and toolbar */
	uimanager = gtk_ui_manager_new();
	priv->uimanager = uimanager;

	action_group = gtk_action_group_new("RemminaMainActions");
	gtk_action_group_set_translation_domain(action_group, NULL);
	gtk_action_group_add_actions(action_group, remmina_main_ui_menu_entries, G_N_ELEMENTS(remmina_main_ui_menu_entries),
			remminamain);
	gtk_action_group_add_toggle_actions(action_group, remmina_main_ui_toggle_menu_entries,
			G_N_ELEMENTS(remmina_main_ui_toggle_menu_entries), remminamain);
	gtk_action_group_add_radio_actions(action_group, remmina_main_ui_view_file_mode_entries,
			G_N_ELEMENTS(remmina_main_ui_view_file_mode_entries), remmina_pref.view_file_mode,
			G_CALLBACK(remmina_main_action_view_file_mode), remminamain);

	gtk_ui_manager_insert_action_group(uimanager, action_group, 0);
	g_object_unref(action_group);
	priv->main_group = action_group;

	action_group = gtk_action_group_new("RemminaMainFileSensitiveActions");
	gtk_action_group_set_translation_domain(action_group, NULL);
	gtk_action_group_add_actions(action_group, remmina_main_ui_file_sensitive_menu_entries,
			G_N_ELEMENTS(remmina_main_ui_file_sensitive_menu_entries), remminamain);

	gtk_ui_manager_insert_action_group(uimanager, action_group, 0);
	g_object_unref(action_group);
	priv->file_sensitive_group = action_group;

	error = NULL;
	gtk_ui_manager_add_ui_from_string(uimanager, remmina_main_ui_xml, -1, &error);
	if (error)
	{
		g_message("building menus failed: %s", error->message);
		g_error_free(error);
	}

	remmina_plugin_manager_for_each_plugin(REMMINA_PLUGIN_TYPE_TOOL, remmina_main_add_tool_plugin, remminamain);

	menubar = gtk_ui_manager_get_widget(uimanager, "/MenuBar");
	gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);

	priv->toolbar = gtk_ui_manager_get_widget(uimanager, "/ToolBar");
#if GTK_VERSION == 3
	gtk_style_context_add_class(gtk_widget_get_style_context(priv->toolbar), GTK_STYLE_CLASS_PRIMARY_TOOLBAR);
#endif
	gtk_box_pack_start(GTK_BOX(vbox), priv->toolbar, FALSE, FALSE, 0);

	tool_item = gtk_ui_manager_get_widget(uimanager, "/ToolBar/ConnectionConnect");
	gtk_tool_item_set_is_important (GTK_TOOL_ITEM(tool_item), TRUE);

	tool_item = gtk_ui_manager_get_widget(uimanager, "/ToolBar/ConnectionNew");
	gtk_tool_item_set_is_important (GTK_TOOL_ITEM(tool_item), TRUE);

	remmina_main_create_quick_search(remminamain);

	gtk_window_add_accel_group(GTK_WINDOW(remminamain), gtk_ui_manager_get_accel_group(uimanager));

	gtk_action_group_set_sensitive(priv->file_sensitive_group, FALSE);

	/* Add a Fast Connection box */
#if GTK_VERSION == 3
	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
#elif GTK_VERSION == 2
	hbox = gtk_hbox_new(FALSE, 0);
#endif

	priv->quickconnect_protocol = gtk_combo_box_text_new();
#if GTK_VERSION == 3
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "RDP", "RDP");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "VNC", "VNC");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "NX", "NX");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "SSH", "SSH");
#elif GTK_VERSION == 2
	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "RDP");
	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "VNC");
	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "NX");
	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(priv->quickconnect_protocol), "SSH");
#endif
	gtk_combo_box_set_active(GTK_COMBO_BOX(priv->quickconnect_protocol), 0);
	gtk_widget_show(priv->quickconnect_protocol);
	gtk_box_pack_start(GTK_BOX(hbox), priv->quickconnect_protocol, FALSE, FALSE, 0);

	priv->quickconnect_server = gtk_entry_new();
	gtk_entry_set_width_chars(GTK_ENTRY(priv->quickconnect_server), 25);
	gtk_widget_show(priv->quickconnect_server);
	gtk_box_pack_start(GTK_BOX(hbox), priv->quickconnect_server, FALSE, FALSE, 0);
	g_signal_connect(G_OBJECT(priv->quickconnect_server), "key-press-event", G_CALLBACK(remmina_main_quickconnect_on_key_press), remminamain);

	quickconnect = gtk_button_new_with_label("Connect !");
	gtk_widget_show(quickconnect);
	gtk_box_pack_start(GTK_BOX(hbox), quickconnect, FALSE, FALSE, 0);
	g_signal_connect(G_OBJECT(quickconnect), "clicked", G_CALLBACK(remmina_main_quickconnect_on_click), remminamain);

	gtk_container_add(GTK_CONTAINER(vbox), hbox);
	gtk_widget_show(hbox);

	/* Create the scrolled window for the file list */
	scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
	gtk_widget_show(scrolledwindow);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	gtk_box_pack_start(GTK_BOX(vbox), scrolledwindow, TRUE, TRUE, 0);

	/* Create the remmina file list */
	tree = gtk_tree_view_new();

	column = gtk_tree_view_column_new();
	gtk_tree_view_column_set_title(column, _("Name"));
	gtk_tree_view_column_set_resizable(column, TRUE);
	gtk_tree_view_column_set_sort_column_id(column, NAME_COLUMN);
	renderer = gtk_cell_renderer_pixbuf_new();
	gtk_tree_view_column_pack_start(column, renderer, FALSE);
	gtk_tree_view_column_add_attribute(column, renderer, "icon-name", PROTOCOL_COLUMN);
	g_object_set(G_OBJECT(renderer), "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
	renderer = gtk_cell_renderer_text_new();
	gtk_tree_view_column_pack_start(column, renderer, FALSE);
	gtk_tree_view_column_add_attribute(column, renderer, "text", NAME_COLUMN);
	gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);

	renderer = gtk_cell_renderer_text_new();
	column = gtk_tree_view_column_new_with_attributes(_("Group"), renderer, "text", GROUP_COLUMN, NULL);
	gtk_tree_view_column_set_resizable(column, TRUE);
	gtk_tree_view_column_set_sort_column_id(column, GROUP_COLUMN);
	gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
	priv->group_column = column;

	renderer = gtk_cell_renderer_text_new();
	column = gtk_tree_view_column_new_with_attributes(_("Server"), renderer, "text", SERVER_COLUMN, NULL);
	gtk_tree_view_column_set_resizable(column, TRUE);
	gtk_tree_view_column_set_sort_column_id(column, SERVER_COLUMN);
	gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);

	gtk_container_add(GTK_CONTAINER(scrolledwindow), tree);
	gtk_widget_show(tree);

	gtk_tree_selection_set_select_function(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)), remmina_main_selection_func,
			remminamain, NULL);
	g_signal_connect(G_OBJECT(tree), "button-press-event", G_CALLBACK(remmina_main_file_list_on_button_press), remminamain);
	g_signal_connect(G_OBJECT(tree), "key-press-event", G_CALLBACK(remmina_main_file_list_on_key_press), remminamain);

	priv->file_list = tree;

	/* Create statusbar */
	priv->statusbar = gtk_statusbar_new();
	gtk_box_pack_start(GTK_BOX(vbox), priv->statusbar, FALSE, FALSE, 0);
	gtk_widget_show(priv->statusbar);

	/* Prepare the data */
	remmina_main_load_files(remminamain, FALSE);

	/* Load the preferences */
	if (remmina_pref.hide_toolbar)
	{
		gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_action_group_get_action(priv->main_group, "ViewToolbar")),
				FALSE);
	}
	if (remmina_pref.hide_statusbar)
	{
		gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_action_group_get_action(priv->main_group, "ViewStatusbar")),
				FALSE);
	}
	if (remmina_pref.show_quick_search)
	{
		gtk_toggle_action_set_active(
				GTK_TOGGLE_ACTION(gtk_action_group_get_action(priv->main_group, "ViewQuickSearch")), TRUE);
	}
	if (remmina_pref.small_toolbutton)
	{
		gtk_toggle_action_set_active(
				GTK_TOGGLE_ACTION(gtk_action_group_get_action(priv->main_group, "ViewSmallToolbutton")), TRUE);
	}

	/* Drag-n-drop support */
	gtk_drag_dest_set(GTK_WIDGET(remminamain), GTK_DEST_DEFAULT_ALL, remmina_drop_types, 1, GDK_ACTION_COPY);
	g_signal_connect(G_OBJECT(remminamain), "drag-data-received", G_CALLBACK(remmina_main_on_drag_data_received), NULL);

	priv->initialized = TRUE;

	remmina_widget_pool_register(GTK_WIDGET(remminamain));
}
Exemplo n.º 16
0
void set_serial_dialog(GtkWidget *w, gpointer data)
{
    gint i;
    GtkWidget *dialog, *used, *device, *baudrate, *table, *devtype;

    dialog = gtk_dialog_new_with_buttons (_("Serial Communication"),
                                          GTK_WINDOW(main_window),
                                          GTK_DIALOG_MODAL,
                                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                          GTK_STOCK_OK, GTK_RESPONSE_OK,
                                          NULL);

#if (GTKVER == 3)
    table = gtk_grid_new();
#else
    table = gtk_table_new(2, 4, FALSE);
#endif
    used = gtk_check_button_new();
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(used), serial_used);

    device = gtk_entry_new();
    gtk_entry_set_max_length(GTK_ENTRY(device), 20);
    gtk_entry_set_text(GTK_ENTRY(device), serial_device[0] ? serial_device : "COM1");

#if (GTKVER == 3)
    baudrate = gtk_combo_box_text_new();
    for (i = 0; i < NUM_BAUDRATES; i++)
        gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(baudrate), NULL, serial_baudrates[i].text);
    gtk_combo_box_set_active(GTK_COMBO_BOX(baudrate), serial_baudrate);
#else
    baudrate = gtk_combo_box_new_text();
    for (i = 0; i < NUM_BAUDRATES; i++)
        gtk_combo_box_append_text((GtkComboBox *)baudrate, serial_baudrates[i].text);
    gtk_combo_box_set_active((GtkComboBox *)baudrate, serial_baudrate);
#endif

#if (GTKVER == 3)
    devtype = gtk_combo_box_text_new();
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(devtype), NULL, "Normal");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(devtype), NULL, "Stathmos/Allvåg");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(devtype), NULL, "AP-1");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(devtype), NULL, "My Weight");
    gtk_combo_box_set_active(GTK_COMBO_BOX(devtype), device_type);
#else
    devtype = gtk_combo_box_new_text();
    gtk_combo_box_append_text((GtkComboBox *)devtype, "Normal");
    gtk_combo_box_append_text((GtkComboBox *)devtype, "Stathmos/Allvåg");
    gtk_combo_box_append_text((GtkComboBox *)devtype, "AP-1");
    gtk_combo_box_append_text((GtkComboBox *)devtype, "My Weight");
    gtk_combo_box_set_active((GtkComboBox *)devtype, device_type);
#endif

#if (GTKVER == 3)
    gtk_grid_attach(GTK_GRID(table), gtk_label_new(_("In Use")), 0, 0, 1, 1);
    gtk_grid_attach(GTK_GRID(table), used, 1, 0, 1, 1);
    gtk_grid_attach(GTK_GRID(table), gtk_label_new(_("Device")), 0, 1, 1, 1);
    gtk_grid_attach(GTK_GRID(table), device, 1, 1, 1, 1);
    gtk_grid_attach(GTK_GRID(table), gtk_label_new(_("Baudrate")), 0, 2, 1, 1);
    gtk_grid_attach(GTK_GRID(table), baudrate, 1, 2, 1, 1);
    gtk_grid_attach(GTK_GRID(table), gtk_label_new(_("Type")), 0, 3, 1, 1);
    gtk_grid_attach(GTK_GRID(table), devtype, 1, 3, 1, 1);

    gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), 
                       table, FALSE, FALSE, 0);
#else
    gtk_table_attach_defaults(GTK_TABLE(table), gtk_label_new(_("In Use")), 0, 1, 0, 1);
    gtk_table_attach_defaults(GTK_TABLE(table), used, 1, 2, 0, 1);
    gtk_table_attach_defaults(GTK_TABLE(table), gtk_label_new(_("Device")), 0, 1, 1, 2);
    gtk_table_attach_defaults(GTK_TABLE(table), device, 1, 2, 1, 2);
    gtk_table_attach_defaults(GTK_TABLE(table), gtk_label_new(_("Baudrate")), 0, 1, 2, 3);
    gtk_table_attach_defaults(GTK_TABLE(table), baudrate, 1, 2, 2, 3);
    gtk_table_attach_defaults(GTK_TABLE(table), gtk_label_new(_("Type")), 0, 1, 3, 4);
    gtk_table_attach_defaults(GTK_TABLE(table), devtype, 1, 2, 3, 4);

    gtk_box_pack_start_defaults(GTK_BOX(GTK_DIALOG(dialog)->vbox), table);
#endif

    gtk_widget_show_all(dialog);

    if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
        strncpy(serial_device, gtk_entry_get_text(GTK_ENTRY(device)), sizeof(serial_device)-1);
        serial_baudrate = gtk_combo_box_get_active(GTK_COMBO_BOX(baudrate));
        device_type = gtk_combo_box_get_active(GTK_COMBO_BOX(devtype));
        g_key_file_set_string(keyfile, "preferences", "serialdevice", serial_device);
        g_key_file_set_integer(keyfile, "preferences", "serialbaudrate", serial_baudrate);
        g_key_file_set_integer(keyfile, "preferences", "serialtype", device_type);
        serial_used = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(used));
        serial_changed = TRUE;
    }

    gtk_widget_destroy(dialog);
}
Exemplo n.º 17
0
static GtkWidget * _preferences_window_applets(Panel * panel)
{
	GtkSizeGroup * group;
	GtkWidget * vbox;
	GtkWidget * vbox2;
	GtkWidget * vbox3;
	GtkWidget * hbox;
	GtkWidget * frame;
	GtkWidget * widget;
	size_t i;

	/* FIXME this needs a restart to apply */
	group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
	vbox = gtk_vbox_new(FALSE, 4);
	gtk_container_set_border_width(GTK_CONTAINER(vbox), 4);
	hbox = gtk_hbox_new(FALSE, 4);
	/* plug-ins */
	frame = gtk_frame_new(_("Applets:"));
	widget = gtk_scrolled_window_new(NULL, NULL);
	gtk_container_set_border_width(GTK_CONTAINER(widget), 4);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),
			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(widget),
			GTK_SHADOW_ETCHED_IN);
	panel->pr_store = _preferences_window_applets_model();
	gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(panel->pr_store),
			2, GTK_SORT_ASCENDING);
	panel->pr_view = _preferences_window_applets_view(panel->pr_store,
			FALSE);
	gtk_container_add(GTK_CONTAINER(widget), panel->pr_view);
	gtk_container_add(GTK_CONTAINER(frame), widget);
	gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
	/* controls */
	vbox2 = gtk_vbox_new(FALSE, 4);
	widget = gtk_label_new(NULL);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, TRUE, TRUE, 0);
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_top_add), panel);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
#ifndef EMBEDDED
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_GO_UP, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_top_up), panel);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_top_down), panel);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
#endif
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_DELETE, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_top_remove), panel);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
	widget = gtk_label_new(NULL);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, TRUE, TRUE, 0);
	widget = gtk_label_new(NULL);
	gtk_box_pack_start(GTK_BOX(vbox2), widget, TRUE, TRUE, 0);
	widget = gtk_label_new(NULL);
	gtk_box_pack_end(GTK_BOX(vbox2), widget, TRUE, TRUE, 0);
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_DELETE, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_bottom_remove), panel);
	gtk_box_pack_end(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
#ifndef EMBEDDED
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_bottom_down), panel);
	gtk_box_pack_end(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_GO_UP, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_bottom_up), panel);
	gtk_box_pack_end(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
#endif
	widget = gtk_button_new();
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_stock(
				GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_preferences_on_bottom_add), panel);
	gtk_box_pack_end(GTK_BOX(vbox2), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, TRUE, 0);
	vbox2 = gtk_vbox_new(FALSE, 4);
	/* top plug-ins */
	frame = gtk_frame_new(_("Top panel:"));
	vbox3 = gtk_vbox_new(FALSE, 4);
	gtk_container_set_border_width(GTK_CONTAINER(vbox3), 4);
#if GTK_CHECK_VERSION(3, 0, 0)
	panel->pr_top_size = gtk_combo_box_text_new();
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(panel->pr_top_size), NULL,
			_("Default"));
#else
	panel->pr_top_size = gtk_combo_box_new_text();
	gtk_combo_box_append_text(GTK_COMBO_BOX(panel->pr_top_size),
			_("Default"));
#endif
	for(i = 0; i < sizeof(_panel_sizes) / sizeof(*_panel_sizes); i++)
#if GTK_CHECK_VERSION(3, 0, 0)
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(
					panel->pr_top_size), NULL,
				_(_panel_sizes[i].alias));
#else
		gtk_combo_box_append_text(GTK_COMBO_BOX(panel->pr_top_size),
				_(_panel_sizes[i].alias));
#endif
	gtk_box_pack_start(GTK_BOX(vbox3), panel->pr_top_size, FALSE, TRUE, 0);
	widget = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),
			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(widget),
			GTK_SHADOW_ETCHED_IN);
	panel->pr_top_store = _preferences_window_applets_model();
	panel->pr_top_view = _preferences_window_applets_view(
			panel->pr_top_store, TRUE);
	gtk_container_add(GTK_CONTAINER(widget), panel->pr_top_view);
	gtk_box_pack_start(GTK_BOX(vbox3), widget, TRUE, TRUE, 0);
	gtk_container_add(GTK_CONTAINER(frame), vbox3);
	gtk_box_pack_start(GTK_BOX(vbox2), frame, TRUE, TRUE, 0);
	/* bottom plug-ins */
	frame = gtk_frame_new(_("Bottom panel:"));
	vbox3 = gtk_vbox_new(FALSE, 4);
	gtk_container_set_border_width(GTK_CONTAINER(vbox3), 4);
#if GTK_CHECK_VERSION(3, 0, 0)
	panel->pr_bottom_size = gtk_combo_box_text_new();
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(panel->pr_bottom_size),
			NULL, _("Default"));
#else
	panel->pr_bottom_size = gtk_combo_box_new_text();
	gtk_combo_box_append_text(GTK_COMBO_BOX(panel->pr_bottom_size),
			_("Default"));
#endif
	for(i = 0; i < sizeof(_panel_sizes) / sizeof(*_panel_sizes); i++)
#if GTK_CHECK_VERSION(3, 0, 0)
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(
					panel->pr_bottom_size), NULL,
				_(_panel_sizes[i].alias));
#else
		gtk_combo_box_append_text(GTK_COMBO_BOX(panel->pr_bottom_size),
				_(_panel_sizes[i].alias));
#endif
	gtk_box_pack_start(GTK_BOX(vbox3), panel->pr_bottom_size, FALSE, TRUE,
			0);
	widget = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),
			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(widget),
			GTK_SHADOW_ETCHED_IN);
	panel->pr_bottom_store = _preferences_window_applets_model();
	panel->pr_bottom_view = _preferences_window_applets_view(
			panel->pr_bottom_store, TRUE);
	gtk_container_add(GTK_CONTAINER(widget), panel->pr_bottom_view);
	gtk_box_pack_start(GTK_BOX(vbox3), widget, TRUE, TRUE, 0);
	gtk_container_add(GTK_CONTAINER(frame), vbox3);
	gtk_box_pack_start(GTK_BOX(vbox2), frame, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
	return vbox;
}
Exemplo n.º 18
0
static GtkWidget* pocketvox_setup_get_user_grid(PocketvoxSetup *setup)
{
	setup->priv = G_TYPE_INSTANCE_GET_PRIVATE (setup,
			TYPE_POCKETVOX_SETUP, PocketvoxSetupPrivate);
	PocketvoxSetupPrivate *priv = setup->priv;

	GtkWidget *grid 		 	= gtk_grid_new();
	GtkWidget *label_name 	 	= gtk_label_new(_("Your name"));
	GtkWidget *entry_name 		= gtk_entry_new();
	GtkWidget *label_keyword 	= gtk_label_new(_("Activation keyword"));
	GtkWidget *entry_keyword	= gtk_entry_new();
	GtkWidget *label_voice		= gtk_label_new(("Choose the espeak voice"));
	GtkWidget *combo_voice		= gtk_combo_box_text_new();

	gchar *voicesPath = (gchar *)g_getenv("ESPEAK_VOICES_PATH");

	g_return_val_if_fail(NULL != voicesPath, NULL);

	GDir *dir = g_dir_open(voicesPath, 0, NULL);
	const gchar *file ;

	while ((file = g_dir_read_name(dir)) != NULL)
	{
		gchar *path = g_strdup_printf("%s/%s", voicesPath, file);

		if(g_file_test(path, G_FILE_TEST_IS_DIR) == FALSE)
		{
			gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo_voice), g_strdup(file), g_strdup(file));
		}

		g_free(path);
	}

	g_dir_close(dir);

    gtk_misc_set_alignment(GTK_MISC(label_name),        0.0, 0.5);
    gtk_misc_set_alignment(GTK_MISC(label_keyword),     0.0, 0.5);
    gtk_misc_set_alignment(GTK_MISC(label_voice),       0.0, 0.5);
    gtk_widget_set_hexpand(label_voice,        			TRUE);
    gtk_widget_set_hexpand(label_name,        			TRUE);
    gtk_widget_set_hexpand(label_keyword,         		TRUE);

	g_settings_bind(priv->settings, "name", entry_name, "text", G_SETTINGS_BIND_DEFAULT);
	g_settings_bind(priv->settings, "keyword", entry_keyword, "text", G_SETTINGS_BIND_DEFAULT);
	g_settings_bind(priv->settings, "voice", combo_voice, "active-id", G_SETTINGS_BIND_DEFAULT);

    gtk_widget_set_tooltip_text(entry_name, _("What is your name ?"));
    gtk_widget_set_tooltip_text(entry_keyword, _("What is your activation keyword ?"));
    gtk_widget_set_tooltip_text(combo_voice, _("Choose the language"));

    gtk_grid_attach(GTK_GRID(grid), label_name, 		0, 0, 1, 1);
    gtk_grid_attach(GTK_GRID(grid), entry_name, 		1, 0, 2, 1);
    gtk_grid_attach(GTK_GRID(grid), label_keyword, 		0, 1, 1, 1);
    gtk_grid_attach(GTK_GRID(grid), entry_keyword, 		1, 1, 2, 1);
    gtk_grid_attach(GTK_GRID(grid), label_voice,		0, 2, 1, 1);
    gtk_grid_attach(GTK_GRID(grid), combo_voice,		1, 2, 2, 1);

    gtk_widget_show_all(grid);

    return grid;
}
Exemplo n.º 19
0
int main (int argc, char *argv[]) {
  gtk_init(&argc, &argv);

  GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "Stwitch");
  g_signal_connect(window, "destroy", G_CALLBACK(destroy), NULL);
  gtk_container_set_border_width(GTK_CONTAINER(window), 20);

  GtkWidget *layout = gtk_grid_new();
  gtk_grid_set_row_spacing(GTK_GRID(layout), 3);
  gtk_grid_set_column_spacing(GTK_GRID(layout), 10);
  gtk_orientable_set_orientation(GTK_ORIENTABLE(layout), GTK_ORIENTATION_VERTICAL);
  gtk_container_add(GTK_CONTAINER(window), layout);

  widgets[COMBO_VIDEO_DRIVER] = gtk_combo_box_text_new();
  for (int i = 0; i < array_size(video_driver); ++i) {
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_VIDEO_DRIVER]), 
        video_driver[i], video_driver[i]);
  }
  g_signal_connect(GTK_COMBO_BOX_TEXT(widgets[COMBO_VIDEO_DRIVER]), "changed", 
      G_CALLBACK(vid_driver_change), NULL);
  add_widget(widgets[COMBO_VIDEO_DRIVER], "Video driver", GTK_GRID(layout));

  widgets[TEXT_VIDEO_DEVICE] = gtk_entry_new();
  add_widget(widgets[TEXT_VIDEO_DEVICE], "Video device", GTK_GRID(layout));

  widgets[TEXT_INPUT_RES] = gtk_entry_new();
  gtk_entry_set_text(GTK_ENTRY(widgets[TEXT_INPUT_RES]), "1280x720");
  add_widget(widgets[TEXT_INPUT_RES], "Input resolution", GTK_GRID(layout));

  GtkAdjustment *fps_adj = gtk_adjustment_new(30, 5, 999, 5, 1, 1);
  widgets[INT_FPS] = gtk_spin_button_new(fps_adj, 1, 0);
  add_widget(widgets[INT_FPS], "Frames per second", GTK_GRID(layout));

  widgets[COMBO_AUDIO_DRIVER] = gtk_combo_box_text_new();
  for (int i = 0; i < array_size(audio_driver); ++i) {
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_AUDIO_DRIVER]), 
        audio_driver[i], audio_driver[i]);
  }
  g_signal_connect(GTK_COMBO_BOX_TEXT(widgets[COMBO_AUDIO_DRIVER]), "changed", 
      G_CALLBACK(audio_driver_change), NULL);
  add_widget(widgets[COMBO_AUDIO_DRIVER], "Audio driver", GTK_GRID(layout));

  widgets[TEXT_AUDIO_DEVICE] = gtk_entry_new();
  add_widget(widgets[TEXT_AUDIO_DEVICE], "Audio device", GTK_GRID(layout));

  GtkAdjustment *rate = gtk_adjustment_new(44100, 800, 999999, 100, 1, 1);
  widgets[INT_AUDIO_RATE] = gtk_spin_button_new(rate, 1, 0);
  add_widget(widgets[INT_AUDIO_RATE], "Audio rate (Hz)", GTK_GRID(layout));

  GtkAdjustment *channels = gtk_adjustment_new(1, 1, 65, 1, 1, 1);
  widgets[INT_AUDIO_CHANNELS] = gtk_spin_button_new(channels, 1, 0);
  add_widget(widgets[INT_AUDIO_CHANNELS], "Audio channels", GTK_GRID(layout));

  widgets[TEXT_OUTPUT_RES] = gtk_entry_new();
  gtk_entry_set_text(GTK_ENTRY(widgets[TEXT_OUTPUT_RES]), "1280x720");
  add_widget(widgets[TEXT_OUTPUT_RES], "Output resolution", GTK_GRID(layout));

  GtkAdjustment *audio_bitrate = gtk_adjustment_new(128, 32, 1280, 32, 1, 1);
  widgets[INT_AUDIO_BITRATE] = gtk_spin_button_new(audio_bitrate, 1, 0);
  add_widget(widgets[INT_AUDIO_BITRATE], "Audio bitrate (k)", GTK_GRID(layout));

  GtkAdjustment *bitrate = gtk_adjustment_new(1000, 100, 100000, 100, 1, 1);
  widgets[INT_VIDEO_BITRATE] = gtk_spin_button_new(bitrate, 1, 0);
  add_widget(widgets[INT_VIDEO_BITRATE], "Video bitrate (k)", GTK_GRID(layout));

  widgets[COMBO_QUALITY] = gtk_combo_box_text_new();
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "ultrafast", "ultrafast");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "superfast", "superfast");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "faster", "faster");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "fast", "fast");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "medium", "medium");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "slow", "slow");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "slower", "slower");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets[COMBO_QUALITY]),
      "veryslow", "veryslow");
  gtk_combo_box_set_active(GTK_COMBO_BOX(widgets[COMBO_QUALITY]), 0);
  add_widget(widgets[COMBO_QUALITY], "Quality", GTK_GRID(layout));

  GtkAdjustment *threads = gtk_adjustment_new(2, 1, 17, 1, 1, 1);
  widgets[INT_THREADS] = gtk_spin_button_new(threads, 1, 0);
  add_widget(widgets[INT_THREADS], "Threads", GTK_GRID(layout));

  widgets[TEXT_STREAM_KEY] = gtk_entry_new();
  add_widget(widgets[TEXT_STREAM_KEY], "Stream key", GTK_GRID(layout));

  widgets[BTN_CONTROL] = gtk_button_new_with_label("Start");
  g_signal_connect(GTK_BUTTON(widgets[BTN_CONTROL]), "clicked", G_CALLBACK(start_stream), NULL);
  add_widget(widgets[BTN_CONTROL], "Start stream", GTK_GRID(layout));

  gtk_widget_show_all(window);

  gtk_main();

  return 0;
}
Exemplo n.º 20
0
static void _settings_window(USSD * ussd)
{
	GtkSizeGroup * group;
	GtkWidget * vbox;
	GtkWidget * hbox;
	GtkWidget * image;
	GtkWidget * widget;
	size_t i;

	group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
	ussd->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_container_set_border_width(GTK_CONTAINER(ussd->window), 4);
	gtk_window_set_default_size(GTK_WINDOW(ussd->window), 200, 300);
#if GTK_CHECK_VERSION(2, 6, 0)
	gtk_window_set_icon_name(GTK_WINDOW(ussd->window), "gnome-settings");
#endif
	gtk_window_set_title(GTK_WINDOW(ussd->window), "USSD");
	g_signal_connect(ussd->window, "delete-event", G_CALLBACK(
				gtk_widget_hide), NULL);
#if GTK_CHECK_VERSION(3, 0, 0)
	vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
#else
	vbox = gtk_vbox_new(FALSE, 4);
#endif
	/* operators */
#if GTK_CHECK_VERSION(3, 0, 0)
	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
#else
	hbox = gtk_hbox_new(FALSE, 4);
#endif
	widget = gtk_label_new("Operator:");
#if GTK_CHECK_VERSION(3, 0, 0)
	g_object_set(widget, "halign", GTK_ALIGN_START, NULL);
#else
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
#endif
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
#if GTK_CHECK_VERSION(3, 0, 0)
	ussd->operators = gtk_combo_box_text_new();
	for(i = 0; _ussd_operators[i].name != NULL; i++)
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(ussd->operators),
				NULL, _ussd_operators[i].name);
#else
	ussd->operators = gtk_combo_box_new_text();
	for(i = 0; _ussd_operators[i].name != NULL; i++)
		gtk_combo_box_append_text(GTK_COMBO_BOX(ussd->operators),
				_ussd_operators[i].name);
#endif
	g_signal_connect_swapped(ussd->operators, "changed", G_CALLBACK(
				_ussd_on_operators_changed), ussd);
	gtk_box_pack_start(GTK_BOX(hbox), ussd->operators, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	/* codes */
#if GTK_CHECK_VERSION(3, 0, 0)
	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
#else
	hbox = gtk_hbox_new(FALSE, 4);
#endif
	widget = gtk_label_new("Code:");
#if GTK_CHECK_VERSION(3, 0, 0)
	g_object_set(widget, "halign", GTK_ALIGN_START, NULL);
#else
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
#endif
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
#if GTK_CHECK_VERSION(3, 0, 0)
	ussd->codes = gtk_combo_box_text_new();
#else
	ussd->codes = gtk_combo_box_new_text();
#endif
	gtk_box_pack_start(GTK_BOX(hbox), ussd->codes, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	/* send */
#if GTK_CHECK_VERSION(3, 0, 0)
	hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
#else
	hbox = gtk_hbox_new(FALSE, 4);
#endif
	widget = gtk_label_new(NULL);
#if GTK_CHECK_VERSION(3, 0, 0)
	g_object_set(widget, "halign", GTK_ALIGN_START, NULL);
#else
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
#endif
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	widget = gtk_button_new_with_label("Send request");
	image = gtk_image_new_from_icon_name("mail-send", GTK_ICON_SIZE_BUTTON);
	gtk_button_set_image(GTK_BUTTON(widget), image);
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_ussd_on_settings_send), ussd);
	gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	/* button box */
#if GTK_CHECK_VERSION(3, 0, 0)
	hbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
#else
	hbox = gtk_hbutton_box_new();
#endif
	gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END);
	gtk_box_set_spacing(GTK_BOX(hbox), 4);
	widget = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_ussd_on_settings_close), ussd);
	gtk_container_add(GTK_CONTAINER(hbox), widget);
	gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	gtk_container_add(GTK_CONTAINER(ussd->window), vbox);
	gtk_combo_box_set_active(GTK_COMBO_BOX(ussd->operators), 0);
	gtk_widget_show_all(vbox);
}
Exemplo n.º 21
0
int
main (int argc, char *argv[])
{
  GtkWidget *win;
  GtkWidget *box;
  GtkWidget *button;
  GtkWidget *button2;
  GtkBuilder *builder;
  GMenuModel *model;
  GSimpleActionGroup *actions;
  GtkWidget *overlay;
  GtkWidget *grid;
  GtkWidget *popover;
  GtkWidget *popover2;
  GtkWidget *label;
  GtkWidget *check;
  GtkWidget *combo;

  gtk_init (&argc, &argv);

  win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_default_size (GTK_WINDOW (win), 400, 600);
  actions = g_simple_action_group_new ();
  g_action_map_add_action_entries (G_ACTION_MAP (actions), entries, G_N_ELEMENTS (entries), NULL);

  gtk_widget_insert_action_group (win, "top", G_ACTION_GROUP (actions));

  overlay = gtk_overlay_new ();
  gtk_container_add (GTK_CONTAINER (win), overlay);

  grid = gtk_grid_new ();
  gtk_widget_set_halign (grid, GTK_ALIGN_FILL);
  gtk_widget_set_valign (grid, GTK_ALIGN_FILL);
  gtk_grid_set_row_spacing (GTK_GRID (grid), 10);
  gtk_grid_set_column_spacing (GTK_GRID (grid), 10);
  gtk_container_add (GTK_CONTAINER (overlay), grid);

  label = gtk_label_new ("");
  gtk_widget_set_hexpand (label, TRUE);
  gtk_widget_set_vexpand (label, TRUE);
  gtk_grid_attach (GTK_GRID (grid), label, 0, 0, 1, 1);

  label = gtk_label_new ("");
  gtk_widget_set_hexpand (label, TRUE);
  gtk_widget_set_vexpand (label, TRUE);
  gtk_grid_attach (GTK_GRID (grid), label, 3, 6, 1, 1);

  builder = gtk_builder_new_from_file ("popover.ui");
  model = (GMenuModel *)gtk_builder_get_object (builder, "menu");

  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
  button = gtk_menu_button_new ();
  gtk_container_add (GTK_CONTAINER (box), button);
  button2 = gtk_menu_button_new ();
  gtk_container_add (GTK_CONTAINER (box), button2);

  gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), model);
  gtk_menu_button_set_use_popover (GTK_MENU_BUTTON (button), TRUE);
  popover = GTK_WIDGET (gtk_menu_button_get_popover (GTK_MENU_BUTTON (button)));

  builder = gtk_builder_new_from_file ("popover2.ui");
  popover2 = (GtkWidget *)gtk_builder_get_object (builder, "popover");
  gtk_menu_button_set_popover (GTK_MENU_BUTTON (button2), popover2);

  g_object_set (box, "margin", 10, NULL);
  gtk_widget_set_halign (box, GTK_ALIGN_END);
  gtk_widget_set_valign (box, GTK_ALIGN_START);
  gtk_overlay_add_overlay (GTK_OVERLAY (overlay), box);

  label = gtk_label_new ("Popover hexpand");
  check = gtk_check_button_new ();
  g_object_bind_property (check, "active", popover, "hexpand", G_BINDING_DEFAULT);
  g_object_bind_property (check, "active", popover2, "hexpand", G_BINDING_DEFAULT);
  gtk_grid_attach (GTK_GRID (grid), label , 1, 1, 1, 1);
  gtk_grid_attach (GTK_GRID (grid), check, 2, 1, 1, 1);

  label = gtk_label_new ("Popover vexpand");
  check = gtk_check_button_new ();
  g_object_bind_property (check, "active", popover, "vexpand", G_BINDING_DEFAULT);
  g_object_bind_property (check, "active", popover2, "vexpand", G_BINDING_DEFAULT);
  gtk_grid_attach (GTK_GRID (grid), label , 1, 2, 1, 1);
  gtk_grid_attach (GTK_GRID (grid), check, 2, 2, 1, 1);

  label = gtk_label_new ("Button direction");
  combo = gtk_combo_box_text_new ();
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "up", "Up");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "down", "Down");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "left", "Left");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "right", "Right");

  g_object_bind_property (combo, "active", button, "direction", G_BINDING_DEFAULT);
  g_object_bind_property (combo, "active", button2, "direction", G_BINDING_DEFAULT);
  gtk_grid_attach (GTK_GRID (grid), label , 1, 3, 1, 1);
  gtk_grid_attach (GTK_GRID (grid), combo, 2, 3, 1, 1);

  label = gtk_label_new ("Button halign");
  combo = gtk_combo_box_text_new ();
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "fill", "Fill");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "start", "Start");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "end", "End");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "center", "Center");
  g_object_bind_property (combo, "active", box, "halign", G_BINDING_DEFAULT);
  gtk_grid_attach (GTK_GRID (grid), label , 1, 4, 1, 1);
  gtk_grid_attach (GTK_GRID (grid), combo, 2, 4, 1, 1);

  label = gtk_label_new ("Button valign");
  combo = gtk_combo_box_text_new ();
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "fill", "Fill");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "start", "Start");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "end", "End");
  gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), "center", "Center");
  g_object_bind_property (combo, "active", box, "valign", G_BINDING_DEFAULT);
  gtk_grid_attach (GTK_GRID (grid), label , 1, 5, 1, 1);
  gtk_grid_attach (GTK_GRID (grid), combo, 2, 5, 1, 1);


  gtk_widget_show_all (win);

  gtk_main ();

  return 0;
}
Exemplo n.º 22
0
void settings_window_create (void) {

	if(win_set_main != NULL) {
		gtk_widget_hide(win_set_main);
		gtk_widget_show(win_set_main);
		return;
	}

	GtkWidget *vbox_set_m, *hbox_set_m, *but_set_close, *but_set_save, *but_set_reset;
	GtkWidget *nb_set_m, *lab_e, *vbox_nb_up, *vbox_nb_um, *vbox_nb_uq;
	GtkWidget *hbox_um_s, *grid_uq, *grid_up, *grid_um;

	win_set_main = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(win_set_main), "Pomf it! - Settings");
	g_signal_connect(win_set_main, "destroy", G_CALLBACK(settings_window_destroy), NULL);
	gtk_container_set_border_width(GTK_CONTAINER(win_set_main), 10);
	gtk_window_resize(GTK_WINDOW(win_set_main), 320, 200);
	gtk_window_set_position(GTK_WINDOW(win_set_main), GTK_WIN_POS_CENTER);

	vbox_set_m = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(win_set_main), vbox_set_m);

	nb_set_m = gtk_notebook_new();
	gtk_container_add(GTK_CONTAINER(vbox_set_m),nb_set_m);

	vbox_nb_up = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(nb_set_m), vbox_nb_up);
	lab_e = gtk_label_new("Uploader");
	g_object_set(G_OBJECT(lab_e), "can-focus", FALSE, NULL);
	gtk_notebook_set_tab_label(GTK_NOTEBOOK(nb_set_m),
		gtk_notebook_get_nth_page(GTK_NOTEBOOK(nb_set_m), 0),lab_e);

	vbox_nb_um = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(nb_set_m), vbox_nb_um);
	lab_e = gtk_label_new("Manager");
	g_object_set(G_OBJECT(lab_e), "can-focus", FALSE, NULL);
	gtk_notebook_set_tab_label(GTK_NOTEBOOK(nb_set_m),
		gtk_notebook_get_nth_page(GTK_NOTEBOOK(nb_set_m), 1),lab_e);

	vbox_nb_uq = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(nb_set_m), vbox_nb_uq);
	lab_e = gtk_label_new("Queue");
	g_object_set(G_OBJECT(lab_e), "can-focus", FALSE, NULL);
	gtk_notebook_set_tab_label(GTK_NOTEBOOK(nb_set_m),
		gtk_notebook_get_nth_page(GTK_NOTEBOOK(nb_set_m), 2),lab_e);

	grid_up = gtk_grid_new ();
	gtk_box_pack_start(GTK_BOX(vbox_nb_up), grid_up , FALSE, FALSE, 0);

	lab_e = gtk_label_new("Profiles:	");
	gtk_grid_attach (GTK_GRID (grid_up),lab_e, 0, 0, 2,  1);

	com_upm_pl = gtk_combo_box_text_new();
	gtk_grid_attach (GTK_GRID (grid_up),com_upm_pl, 2, 0, 2,  1);
	profiles_combo_fill();

	hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_grid_attach (GTK_GRID (grid_up),hbox_um_s, 4, 0, 4,  1);

	GtkWidget *but_up_act = gtk_button_new_with_label("Activate");
	g_signal_connect(but_up_act,"clicked",G_CALLBACK(profiles_profile_activate), NULL);
	gtk_box_pack_start(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_act),TRUE,TRUE,0);

	GtkWidget *but_up_edit = gtk_button_new_with_label("Edit");
	g_signal_connect(but_up_edit,"clicked",G_CALLBACK(profiles_profile_edit), NULL);
	gtk_box_pack_start(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_edit),TRUE,TRUE,0);

	hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_grid_attach (GTK_GRID (grid_up),hbox_um_s, 8, 0, 4,  1);

	GtkWidget *but_up_add = gtk_button_new_with_label("Add New");
	g_signal_connect(but_up_add,"clicked",G_CALLBACK(profiles_window_create), NULL);
	gtk_box_pack_end(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_add),TRUE,FALSE,0);

	GtkWidget *but_up_del = gtk_button_new_with_label("Delete");
	g_signal_connect(but_up_del,"clicked",G_CALLBACK(profiles_profile_delete), NULL);
	gtk_box_pack_start(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_del),TRUE,FALSE,0);

	lab_e = gtk_label_new("Active Profile:");
	gtk_grid_attach (GTK_GRID (grid_up),lab_e, 0, 1, 2,  1);

	lab_profile = gtk_label_new("none");
	gtk_grid_attach (GTK_GRID (grid_up),lab_profile, 2, 1, 2,  1);

	lab_e = gtk_label_new("Keep SS:");
	gtk_grid_attach (GTK_GRID (grid_up),lab_e, 4, 1, 2,  1);

	sw_up_kss = gtk_switch_new();
	gtk_grid_attach (GTK_GRID (grid_up),sw_up_kss, 6, 1, 2,  1);

    grid_um = gtk_grid_new ();
	gtk_box_pack_start(GTK_BOX(vbox_nb_um), grid_um , FALSE, FALSE, 0);

	lab_e = gtk_label_new("Picture Preview:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 0, 0, 2,  1);

	sw_um_pp = gtk_switch_new();
	gtk_grid_attach (GTK_GRID (grid_um),sw_um_pp, 2, 0, 2,  1);

	lab_e = gtk_label_new("Window Size:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 4, 0, 2,  1);

	hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_grid_attach (GTK_GRID (grid_um),hbox_um_s, 6, 0, 4,  1);

	entry_um_win_w = gtk_entry_new();
	gtk_container_add(GTK_CONTAINER(hbox_um_s), entry_um_win_w);
	gtk_entry_set_width_chars(GTK_ENTRY(entry_um_win_w),5);

	lab_e = gtk_label_new("X");
	gtk_container_add(GTK_CONTAINER(hbox_um_s), lab_e);

	entry_um_win_h = gtk_entry_new();
	gtk_container_add(GTK_CONTAINER(hbox_um_s), entry_um_win_h);
	gtk_entry_set_width_chars(GTK_ENTRY(entry_um_win_h),5);

	lab_e = gtk_label_new("Animate Preview:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 0, 1, 2,  1);

	sw_um_ap = gtk_switch_new();
	gtk_grid_attach (GTK_GRID (grid_um),sw_um_ap, 2, 1, 2,  1);

	lab_e = gtk_label_new("Preview Size:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 4, 1, 2,  1);

	hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_grid_attach (GTK_GRID (grid_um),hbox_um_s, 6, 1, 4,  1);

	entry_um_pw_w = gtk_entry_new();
	gtk_container_add(GTK_CONTAINER(hbox_um_s), entry_um_pw_w);
	gtk_entry_set_width_chars(GTK_ENTRY(entry_um_pw_w),5);

	lab_e = gtk_label_new("X");
	gtk_container_add(GTK_CONTAINER(hbox_um_s), lab_e);

	entry_um_pw_h = gtk_entry_new();
	gtk_container_add(GTK_CONTAINER(hbox_um_s), entry_um_pw_h);
	gtk_entry_set_width_chars(GTK_ENTRY(entry_um_pw_h),5);

	lab_e = gtk_label_new("Window Position:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 4, 2, 2,  1);

	com_um_wp = gtk_combo_box_text_new();
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_wp), NULL, "Default");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_wp), NULL, "Center");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_wp), NULL, "Mouse");
	gtk_grid_attach (GTK_GRID (grid_um),com_um_wp, 6, 2, 2,  1);

	lab_e = gtk_label_new("Enable Double Click:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 0, 3, 2,  1);

	sw_um_dc = gtk_switch_new();
	gtk_grid_attach (GTK_GRID (grid_um),sw_um_dc, 2, 3, 2,  1);

	lab_e = gtk_label_new("Action:");
	gtk_grid_attach (GTK_GRID (grid_um),lab_e, 4, 3, 2,  1);

	com_um_dca = gtk_combo_box_text_new();
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_dca), NULL, "Open File");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_dca), NULL, "Open Link");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_dca), NULL, "Open Folder");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_um_dca), NULL, "Copy URL");
	gtk_grid_attach (GTK_GRID (grid_um),com_um_dca, 6, 3, 2,  1);

	grid_uq = gtk_grid_new ();
	gtk_box_pack_start(GTK_BOX(vbox_nb_uq), grid_uq , FALSE, FALSE, 0);

	lab_e = gtk_label_new("Window Position:");
	gtk_grid_attach (GTK_GRID (grid_uq),lab_e, 0, 0, 2,  1);

	com_uq_wp = gtk_combo_box_text_new();
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_uq_wp), NULL, "Default");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_uq_wp), NULL, "Center");
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_uq_wp), NULL, "Mouse");
	gtk_grid_attach (GTK_GRID (grid_uq),com_uq_wp, 2, 0, 2,  1);

	lab_e = gtk_label_new("Window Size:");
	gtk_grid_attach (GTK_GRID (grid_uq),lab_e, 4, 0, 2,  1);

	hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_grid_attach (GTK_GRID (grid_uq),hbox_um_s, 6, 0, 4,  1);

	entry_uq_win_w = gtk_entry_new();
	gtk_container_add(GTK_CONTAINER(hbox_um_s), entry_uq_win_w);
	gtk_entry_set_width_chars(GTK_ENTRY(entry_uq_win_w),5);

	lab_e = gtk_label_new("X");
	gtk_container_add(GTK_CONTAINER(hbox_um_s), lab_e);

	entry_uq_win_h = gtk_entry_new();
	gtk_container_add(GTK_CONTAINER(hbox_um_s), entry_uq_win_h);
	gtk_entry_set_width_chars(GTK_ENTRY(entry_uq_win_h),5);

	hbox_set_m = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_box_pack_end(GTK_BOX(vbox_set_m), hbox_set_m, FALSE, FALSE, 0);

	but_set_reset = gtk_button_new_with_label("Reset Settings");
	g_signal_connect(but_set_reset,"clicked",G_CALLBACK(settings_conf_default), NULL);
	gtk_container_add(GTK_CONTAINER(hbox_set_m), but_set_reset);

	but_set_close = gtk_button_new_with_label("    Close    ");
	g_signal_connect(but_set_close,"clicked",G_CALLBACK(settings_window_destroy), NULL);
	gtk_box_pack_end(GTK_BOX(hbox_set_m),GTK_WIDGET(but_set_close),FALSE,FALSE,0);

	but_set_save = gtk_button_new_with_label("Save & Close");
	g_signal_connect(but_set_save,"clicked",G_CALLBACK(settings_conf_save), NULL);
	gtk_box_pack_end(GTK_BOX(hbox_set_m),GTK_WIDGET(but_set_save),FALSE,FALSE,0);

	settings_window_create_set_actives();
	gtk_widget_show_all(win_set_main);
}
Exemplo n.º 23
0
void keybinds_window_create (void) {

	int i;
	GtkWidget *vbox_kb_m, *hbox_kb_s, *hbox_kb_lay;
	GtkWidget *but_kb_close, *but_kb_save, *but_kb_reset;
	GtkWidget *lab_kb_e, *hbox_kb_bind[4], *entry_kb_test;
	GtkWidget *vbox_kb_s1, *vbox_kb_s2, *hbox_kb_m;

	win_kb_main = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(win_kb_main), "Pomf it! - Keybinds Settings");
	g_signal_connect(win_kb_main, "destroy", G_CALLBACK(keybinds_window_destroy), NULL);
	gtk_container_set_border_width(GTK_CONTAINER(win_kb_main), 10);
	gtk_window_resize(GTK_WINDOW(win_kb_main), 500, 200);
	gtk_window_set_position(GTK_WINDOW(win_kb_main), GTK_WIN_POS_CENTER);

	vbox_kb_m = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(win_kb_main), vbox_kb_m);

	hbox_kb_m = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_container_add(GTK_CONTAINER(vbox_kb_m), hbox_kb_m);

	vbox_kb_s1 = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(hbox_kb_m), vbox_kb_s1);

	vbox_kb_s2 = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0);
	gtk_container_add(GTK_CONTAINER(hbox_kb_m), vbox_kb_s2);

    lab_kb_e = gtk_label_new("File Upload:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), FALSE, FALSE, 5);
	lab_kb_e = gtk_label_new("Capture Area & UP:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), TRUE, FALSE, 5);
	lab_kb_e = gtk_label_new("Capture Window & UP:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), FALSE, FALSE, 5);
	lab_kb_e = gtk_label_new("Capture Fullscreen & UP:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), TRUE, FALSE, 5);
	lab_kb_e = gtk_label_new("Capture Area:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), FALSE, FALSE, 5);
	lab_kb_e = gtk_label_new("Capture Window:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), TRUE, FALSE, 5);
	lab_kb_e = gtk_label_new("Capture Fullscreen:");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), FALSE, FALSE, 5);
	lab_kb_e = gtk_label_new("Open URL(s):");
	gtk_box_pack_start (GTK_BOX(vbox_kb_s1), GTK_WIDGET(lab_kb_e), TRUE, FALSE, 5);

	for ( i = 0 ; i < HOTKEY_COUNT ; ++i) {

		hbox_kb_bind[i] = gtk_box_new(GTK_ORIENTATION_HORIZONTAL ,4);
		gtk_container_add (GTK_CONTAINER(vbox_kb_s2),hbox_kb_bind[i]);

		com_kb_mod1[i] = gtk_combo_box_text_new();
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod1[i]), NULL, "");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod1[i]), NULL, "<CTRL>");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod1[i]), NULL, "<SHIFT>");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod1[i]), NULL, "<ALT>");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod1[i]), NULL, "<WIN>");
		gtk_container_add(GTK_CONTAINER(hbox_kb_bind[i]), com_kb_mod1[i]);

		com_kb_mod2[i] = gtk_combo_box_text_new();
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod2[i]), NULL, "");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod2[i]), NULL, "<CTRL>");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod2[i]), NULL, "<SHIFT>");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod2[i]), NULL, "<ALT>");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_mod2[i]), NULL, "<WIN>");
		gtk_container_add(GTK_CONTAINER(hbox_kb_bind[i]), com_kb_mod2[i]);

		com_kb_key[i] = gtk_combo_box_text_new();
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "!");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "\"");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "#");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "$");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "%");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "&");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "'");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "(");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, ")");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "*");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "+");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, ",");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "-");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, ".");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "/");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "0");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "1");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "2");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "3");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "4");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "5");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "6");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "7");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "8");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "9");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, ":");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, ";");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "<");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "=");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, ">");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "?");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "@");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "A");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "B");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "C");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "D");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "E");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "F");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "G");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "H");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "I");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "J");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "K");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "L");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "M");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "N");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "O");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "P");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "Q");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "R");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "S");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "T");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "U");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "V");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "W");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "X");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "Y");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "Z");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "[");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "\\");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "]");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "^");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "_");
		gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(com_kb_key[i]), NULL, "`");
		gtk_combo_box_set_active(GTK_COMBO_BOX(com_kb_key[i]), 0);
		gtk_combo_box_set_wrap_width (GTK_COMBO_BOX(com_kb_key[i]), 8);
		gtk_container_add(GTK_CONTAINER(hbox_kb_bind[i]), com_kb_key[i]);

		sw_kb[i] = gtk_switch_new();
		gtk_container_add(GTK_CONTAINER(hbox_kb_bind[i]), sw_kb[i]);

	}
	keybinds_window_create_set_actives();

	hbox_kb_lay = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 5);
	gtk_container_add(GTK_CONTAINER(vbox_kb_m), hbox_kb_lay);

	lab_kb_e = gtk_label_new("Wait...What's my keyboard layout again ? ..");
	gtk_box_pack_start (GTK_BOX(hbox_kb_lay), GTK_WIDGET(lab_kb_e), FALSE, FALSE, 5);

	entry_kb_test = gtk_entry_new ();
	gtk_container_add(GTK_CONTAINER(hbox_kb_lay), entry_kb_test);

	hbox_kb_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0);
	gtk_box_pack_end(GTK_BOX(vbox_kb_m), hbox_kb_s, FALSE, FALSE, 0);

	but_kb_reset = gtk_button_new_with_label("Reset Settings");
	g_signal_connect(but_kb_reset,"clicked",G_CALLBACK(keybinds_conf_default), NULL);
	gtk_container_add(GTK_CONTAINER(hbox_kb_s), but_kb_reset);

	but_kb_close = gtk_button_new_with_label("    Close    ");
	g_signal_connect(but_kb_close,"clicked",G_CALLBACK(keybinds_window_destroy), NULL);
	gtk_box_pack_end(GTK_BOX(hbox_kb_s),GTK_WIDGET(but_kb_close),FALSE,FALSE,0);

	but_kb_save = gtk_button_new_with_label("Save & Close");
	g_signal_connect(but_kb_save,"clicked",G_CALLBACK(keybinds_conf_save), NULL);
	gtk_box_pack_end(GTK_BOX(hbox_kb_s),GTK_WIDGET(but_kb_save),FALSE,FALSE,0);

	gtk_widget_show_all(win_kb_main);
}
Exemplo n.º 24
0
static GtkWidget* pocketvox_setup_get_gstreamer_grid(PocketvoxSetup *setup)
{
	setup->priv = G_TYPE_INSTANCE_GET_PRIVATE (setup,
			TYPE_POCKETVOX_SETUP, PocketvoxSetupPrivate);
	PocketvoxSetupPrivate *priv = setup->priv;

	GtkWidget *grid = gtk_grid_new();

	GtkWidget* label_mode 	= gtk_label_new(_("Gstreamer source"));
	GtkWidget* combo_mode 	= gtk_combo_box_text_new();
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo_mode), "Default", 	_("Default"));
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo_mode), "Alsa",		_("Alsa"));
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo_mode), "Network",	_("Network"));
	gtk_combo_box_set_active(GTK_COMBO_BOX(combo_mode), 0);
    gtk_widget_set_tooltip_text(combo_mode, _("Set the source input"));

	GtkWidget* label_mic  	= gtk_label_new(_("Mic"));
	GtkWidget* entry_mic	= gtk_entry_new();
    gtk_widget_set_tooltip_text(entry_mic, _("Which microphone to use ?"));

    GtkWidget* label_host   = gtk_label_new(_("Host"));
    GtkWidget* entry_host   = gtk_entry_new();
    gtk_widget_set_tooltip_text(entry_host, _("Choose the host"));

    GtkWidget* label_port   = gtk_label_new(_("Port"));
    GtkWidget* entry_port   = gtk_entry_new();
    gtk_widget_set_tooltip_text(entry_port, _("Choose the port"));

	g_settings_bind(priv->settings, "source", combo_mode, "active-id", G_SETTINGS_BIND_DEFAULT);
	g_settings_bind(priv->settings, "device", entry_mic,  "text", G_SETTINGS_BIND_DEFAULT);
    g_settings_bind(priv->settings, "port",   entry_port, "text", G_SETTINGS_BIND_DEFAULT);
    g_settings_bind(priv->settings, "host",   entry_host, "text", G_SETTINGS_BIND_DEFAULT);

    g_signal_connect_swapped(combo_mode, "changed", G_CALLBACK(pocketvox_setup_combo_manage_entry_mic), entry_mic);
    g_signal_connect_swapped(combo_mode, "changed", G_CALLBACK(pocketvox_setup_combo_manage_entry_mic), label_mic);
    g_signal_connect_swapped(combo_mode, "changed", G_CALLBACK(pocketvox_setup_combo_manage_network),   label_host);
    g_signal_connect_swapped(combo_mode, "changed", G_CALLBACK(pocketvox_setup_combo_manage_network),   entry_host);
    g_signal_connect_swapped(combo_mode, "changed", G_CALLBACK(pocketvox_setup_combo_manage_network),   label_port);
    g_signal_connect_swapped(combo_mode, "changed", G_CALLBACK(pocketvox_setup_combo_manage_network),   entry_port);

    gtk_misc_set_alignment(GTK_MISC(label_mode),        0.0, 0.5);
    gtk_misc_set_alignment(GTK_MISC(label_mic),         0.0, 0.5);
    gtk_misc_set_alignment(GTK_MISC(label_port),        0.0, 0.5);
    gtk_misc_set_alignment(GTK_MISC(label_host),        0.0, 0.5);
    gtk_widget_set_hexpand(label_mode,        			TRUE);
    gtk_widget_set_hexpand(label_mic,         			TRUE);
    gtk_widget_set_hexpand(label_port,                  TRUE);
    gtk_widget_set_hexpand(label_host,                  TRUE);

	gtk_grid_attach(GTK_GRID(grid), label_mode, 		0, 0, 1, 1);
	gtk_grid_attach(GTK_GRID(grid), combo_mode, 		1, 0, 2, 1);
	gtk_grid_attach(GTK_GRID(grid), label_mic, 			0, 1, 1, 1);
	gtk_grid_attach(GTK_GRID(grid), entry_mic, 	        1, 1, 2, 1);
    gtk_grid_attach(GTK_GRID(grid), label_host,         0, 2, 1, 1);
    gtk_grid_attach(GTK_GRID(grid), entry_host,         1, 2, 2, 1);
    gtk_grid_attach(GTK_GRID(grid), label_port,         0, 3, 1, 1);
    gtk_grid_attach(GTK_GRID(grid), entry_port,         1, 3, 2, 1);

    gtk_widget_show_all(grid);

    pocketvox_setup_combo_manage_entry_mic(entry_mic, combo_mode);
    pocketvox_setup_combo_manage_entry_mic(label_mic, combo_mode);
    pocketvox_setup_combo_manage_network(label_host,  combo_mode);
    pocketvox_setup_combo_manage_network(entry_host,  combo_mode);
    pocketvox_setup_combo_manage_network(label_port,  combo_mode);
    pocketvox_setup_combo_manage_network(entry_port,  combo_mode);

	return grid;
}
Exemplo n.º 25
0
GTKGeomWindow::GTKGeomWindow( class GTKPlotter       &plotter, 
			      const Geometry         &geom,
			      const EpotField        *epot,
			      const EpotEfield       *efield,
			      const MeshScalarField  *scharge,
			      const MeshScalarField  *tdens,
			      const VectorField      *bfield,
			      const ParticleDataBase *pdb )
  : GTKFrameWindow(plotter), _geomplot(_frame,geom), 
    _geom(geom), _epot(epot), _efield(efield), _scharge(scharge), _tdens(tdens), 
    _bfield(bfield), _pdb(pdb), _tool(TOOL_UNKNOWN), _prefdata(NULL)
{
    //std::cout << "GTKGeomWindow constructor\n";

    // Setup GeomPlot
    _geomplot.set_epot( epot );
    _geomplot.set_scharge( scharge );
    _geomplot.set_trajdens( tdens );
    _geomplot.set_bfield( bfield );
    _geomplot.set_efield( efield );
    _geomplot.set_particle_database( pdb );

    // Set window title
    gtk_window_set_title( GTK_WINDOW(_window), "Simulation geometry" );

    // Adding geometry window specific tools to toolbar
    // Creating separator
    GtkToolItem *toolitem = gtk_separator_tool_item_new();
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );

    // Creating "Particle diagnostics" button
    GdkPixbuf *pixbuf = gdk_pixbuf_new_from_inline( -1, icon_particle_diag_inline, FALSE, NULL );
    GtkWidget *icon = gtk_image_new_from_pixbuf( pixbuf );
    toolitem = gtk_radio_tool_button_new_from_widget( GTK_RADIO_TOOL_BUTTON(_radioitem) );
    gtk_tool_button_set_label( GTK_TOOL_BUTTON(toolitem), "Particle diagnostics" );
#if GTK_CHECK_VERSION(2,12,0)
    gtk_widget_set_tooltip_text( GTK_WIDGET(toolitem), "Particle diagnostics" );
#endif
    gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(toolitem), icon );
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );
    g_signal_connect( G_OBJECT(toolitem), "toggled",
		      G_CALLBACK(menuitem_tool_change_signal),
		      (gpointer)this );

    // Creating "Field diagnostics" button
    pixbuf = gdk_pixbuf_new_from_inline( -1, icon_field_diag_inline, FALSE, NULL );
    icon = gtk_image_new_from_pixbuf( pixbuf );
    toolitem = gtk_radio_tool_button_new_from_widget( GTK_RADIO_TOOL_BUTTON(_radioitem) );
    gtk_tool_button_set_label( GTK_TOOL_BUTTON(toolitem), "Field diagnostics" );
#if GTK_CHECK_VERSION(2,12,0)
    gtk_widget_set_tooltip_text( GTK_WIDGET(toolitem), "Field diagnostics" );
#endif
    gtk_tool_button_set_icon_widget( GTK_TOOL_BUTTON(toolitem), icon );
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );
    g_signal_connect( G_OBJECT(toolitem), "toggled",
		      G_CALLBACK(menuitem_tool_change_signal),
		      (gpointer)this );

    // Creating "Geom 3D" button
    pixbuf = gdk_pixbuf_new_from_inline( -1, icon_geom3d_inline, FALSE, NULL );
    icon = gtk_image_new_from_pixbuf( pixbuf );
    toolitem = gtk_tool_button_new( icon, "3D geometry view" );
#if GTK_CHECK_VERSION(2,12,0)
    gtk_widget_set_tooltip_text( GTK_WIDGET(toolitem), "3D geometry view" );
#endif
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );
    if( _geom.geom_mode() != MODE_3D || !_geom.surface_built() )
	gtk_widget_set_sensitive( GTK_WIDGET(toolitem), FALSE );
    g_signal_connect( G_OBJECT(toolitem), "clicked",
		      G_CALLBACK(menuitem_geom3d_signal),
		      (gpointer)this );

    // Creating separator
    toolitem = gtk_separator_tool_item_new();
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );

    // Creating view combobox and level spinbutton
    //_combobox = gtk_combo_box_new_text();
    _combobox = gtk_combo_box_text_new();
    if( geom.geom_mode() == MODE_3D ) {
	gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "XY" );
	gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "XZ" );
        gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "YX" );
        gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "YZ" );
        gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "ZX" );
        gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "ZY" );
	/*
	gtk_combo_box_append_text( GTK_COMBO_BOX(_combobox), "XY" );
	gtk_combo_box_append_text( GTK_COMBO_BOX(_combobox), "XZ" );
        gtk_combo_box_append_text( GTK_COMBO_BOX(_combobox), "YX" );
        gtk_combo_box_append_text( GTK_COMBO_BOX(_combobox), "YZ" );
        gtk_combo_box_append_text( GTK_COMBO_BOX(_combobox), "ZX" );
        gtk_combo_box_append_text( GTK_COMBO_BOX(_combobox), "ZY" );
	*/
	gtk_combo_box_set_active( GTK_COMBO_BOX(_combobox), 0 );
	_spinbutton = gtk_spin_button_new_with_range( 0, geom.size(2)-1, 1 );
	gtk_spin_button_set_value( GTK_SPIN_BUTTON(_spinbutton), geom.size(2)/2 );
	_geomplot.set_view( VIEW_XY, geom.size(2)/2 );
    } else {
	gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "XY" );
	gtk_combo_box_text_append( GTK_COMBO_BOX_TEXT(_combobox), NULL, "YX" );
        gtk_combo_box_set_active( GTK_COMBO_BOX(_combobox), 0 );
        _spinbutton = gtk_spin_button_new_with_range( 0, 0, 1 );
        gtk_spin_button_set_value( GTK_SPIN_BUTTON(_spinbutton), 0 );
    }
    toolitem = gtk_tool_item_new();
    gtk_container_add( GTK_CONTAINER(toolitem), _combobox );
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );
#if GTK_CHECK_VERSION(2,12,0)
    gtk_widget_set_tooltip_text( GTK_WIDGET(toolitem), "Select view direction" );
#endif

    gtk_spin_button_set_digits( GTK_SPIN_BUTTON(_spinbutton), 0 );
    toolitem = gtk_tool_item_new();
    gtk_container_add( GTK_CONTAINER(toolitem), _spinbutton );
    gtk_toolbar_insert( GTK_TOOLBAR(_toolbar), toolitem, -1 );
#if GTK_CHECK_VERSION(2,12,0)
    gtk_widget_set_tooltip_text( GTK_WIDGET(toolitem), "Select view level" );
#endif
    g_signal_connect( G_OBJECT(_combobox), "changed",
                      G_CALLBACK(combobox_signal),
                      (gpointer)this );
    g_signal_connect( G_OBJECT(_spinbutton), "value-changed",
                      G_CALLBACK(spinbutton_signal),
                      (gpointer)this );

    // Drawing area signals
    g_signal_connect( G_OBJECT(_darea), "button_press_event",
		      G_CALLBACK(darea_button_signal2),
		      (gpointer)this );
    g_signal_connect( G_OBJECT(_darea), "button_release_event",
		      G_CALLBACK(darea_button_signal2),
		      (gpointer)this );
    g_signal_connect( G_OBJECT(_darea), "motion_notify_event",
		      G_CALLBACK(darea_motion_signal2),
		      (gpointer)this );

    update_view();
    show();
}
Exemplo n.º 26
0
/* modem */
static ModemPlugin * _debug_init(ModemPluginHelper * helper)
{
	Debug * debug;
	GtkSizeGroup * group;
	GtkWidget * vbox;
	GtkWidget * notebook;
	GtkWidget * hbox;
	GtkWidget * widget;

	if((debug = object_new(sizeof(*debug))) == NULL)
		return NULL;
	debug->helper = helper;
	debug->source = 0;
	memset(&debug->event_call, 0, sizeof(debug->event_call));
	memset(&debug->event_contact, 0, sizeof(debug->event_contact));
	memset(&debug->event_message, 0, sizeof(debug->event_message));
	/* window */
	debug->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_container_set_border_width(GTK_CONTAINER(debug->window), 4);
	gtk_window_set_title(GTK_WINDOW(debug->window), "Debug");
	g_signal_connect_swapped(G_OBJECT(debug->window), "delete-event",
			G_CALLBACK(_debug_on_closex), debug);
	group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
	notebook = gtk_notebook_new();
	/* status */
	vbox = gtk_vbox_new(FALSE, 4);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Status:");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	debug->status = gtk_label_new("initialized");
	gtk_misc_set_alignment(GTK_MISC(debug->status), 0.0, 0.5);
	gtk_box_pack_start(GTK_BOX(hbox), debug->status, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	/* operator */
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Operator: ");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	debug->operator = gtk_entry_new();
	g_signal_connect_swapped(debug->operator, "activate", G_CALLBACK(
				_debug_on_operator_set), debug);
	gtk_box_pack_start(GTK_BOX(hbox), debug->operator, TRUE, TRUE, 0);
	widget = gtk_button_new_from_stock(GTK_STOCK_APPLY);
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_debug_on_operator_set), debug);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new(NULL);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	debug->roaming = gtk_check_button_new_with_mnemonic("_Roaming");
	gtk_box_pack_start(GTK_BOX(hbox), debug->roaming, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox,
			gtk_label_new("Status"));
	/* calls */
	vbox = gtk_vbox_new(FALSE, 4);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Number: ");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	debug->ca_number = gtk_entry_new();
	gtk_box_pack_start(GTK_BOX(hbox), debug->ca_number, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Direction: ");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
#if GTK_CHECK_VERSION(3, 0, 0)
	debug->ca_direction = gtk_combo_box_text_new();
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->ca_direction), NULL,
			"Incoming");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->ca_direction), NULL,
			"Outgoing");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->ca_direction), NULL,
			"Established");
#else
	debug->ca_direction = gtk_combo_box_new_text();
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->ca_direction),
			"Incoming");
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->ca_direction),
			"Outgoing");
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->ca_direction),
			"Established");
#endif
	gtk_combo_box_set_active(GTK_COMBO_BOX(debug->ca_direction), 1);
	gtk_box_pack_start(GTK_BOX(hbox), debug->ca_direction, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_button_new_with_label("Call");
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_icon_name(
				"call-start", GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(G_OBJECT(widget), "clicked", G_CALLBACK(
				_debug_on_call), debug);
	gtk_box_pack_end(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox,
			gtk_label_new("Calls"));
	/* messages */
	vbox = gtk_vbox_new(FALSE, 4);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Number: ");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	debug->me_number = gtk_entry_new();
	gtk_box_pack_start(GTK_BOX(hbox), debug->me_number, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Folder: ");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
#if GTK_CHECK_VERSION(3, 0, 0)
	debug->me_folder = gtk_combo_box_text_new();
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->me_folder), NULL,
			"Unknown");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->me_folder), NULL,
			"Inbox");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->me_folder), NULL,
			"Sent");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->me_folder), NULL,
			"Drafts");
	gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(debug->me_folder), NULL,
			"Trash");
#else
	debug->me_folder = gtk_combo_box_new_text();
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->me_folder), "Unknown");
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->me_folder), "Inbox");
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->me_folder), "Sent");
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->me_folder), "Drafts");
	gtk_combo_box_append_text(GTK_COMBO_BOX(debug->me_folder), "Trash");
#endif
	gtk_combo_box_set_active(GTK_COMBO_BOX(debug->me_folder), 1);
	gtk_box_pack_start(GTK_BOX(hbox), debug->me_folder, TRUE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	widget = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),
			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(widget),
			GTK_SHADOW_ETCHED_IN);
	debug->me_message = gtk_text_view_new();
	gtk_container_add(GTK_CONTAINER(widget), debug->me_message);
	gtk_box_pack_start(GTK_BOX(vbox), widget, TRUE, TRUE, 0);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_button_new_with_label("Send");
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_icon_name(
				"mail-send", GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(G_OBJECT(widget), "clicked", G_CALLBACK(
				_debug_on_message_send), debug);
	gtk_box_pack_end(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox,
			gtk_label_new("Messages"));
	/* notification */
	vbox = gtk_vbox_new(FALSE, 4);
	hbox = gtk_hbox_new(FALSE, 4);
	widget = gtk_label_new("Notification: ");
	gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5);
	gtk_size_group_add_widget(group, widget);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	debug->notification = gtk_entry_new();
	g_signal_connect_swapped(debug->notification, "activate", G_CALLBACK(
				_debug_on_notification), debug);
	gtk_box_pack_start(GTK_BOX(hbox), debug->notification, TRUE, TRUE, 0);
	widget = gtk_button_new_with_label("Send");
	gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_icon_name(
				"mail-send", GTK_ICON_SIZE_BUTTON));
	g_signal_connect_swapped(widget, "clicked", G_CALLBACK(
				_debug_on_notification), debug);
	gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);
	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
	gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox,
			gtk_label_new("Notifications"));
	gtk_container_add(GTK_CONTAINER(debug->window), notebook);
	gtk_widget_show_all(debug->window);
	return debug;
}
Exemplo n.º 27
0
void create_alert_form(GtkWidget *widget, char* type) {
  UNUSED(widget);
  GtkWidget *windowAlertForm;
  GtkWidget *compte_cat_list, *type_temps_list;
  GtkWidget *montant_field;
  GtkWidget *button_create_alert, *button_exit;
  GtkWidget *grid;

  windowAlertForm = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(windowAlertForm), "Creation d'alerte");
  gtk_window_set_default_size(GTK_WINDOW(windowAlertForm), 400,400);
  gtk_window_set_position(GTK_WINDOW(windowAlertForm), GTK_WIN_POS_CENTER);

  grid = gtk_grid_new();
  gtk_container_add(GTK_CONTAINER(windowAlertForm), grid);

  montant_field = gtk_entry_new();

  compte_cat_list = gtk_combo_box_text_new();

  char **listCompteCat;

  if (strcmp(type, "max_cat") == 0) {
    listCompteCat = bdd_get_categorie();

    gtk_entry_set_placeholder_text(GTK_ENTRY(montant_field), "maximum autorise");
  } else if (strcmp(type, "min_account") == 0) {
    listCompteCat = bdd_get_libelle_account();

    gtk_entry_set_placeholder_text(GTK_ENTRY(montant_field), "minimum autorise");
  }

  while(*listCompteCat != NULL) {
    gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(compte_cat_list), NULL, *listCompteCat);
    listCompteCat++;
  }
  gtk_combo_box_set_active(GTK_COMBO_BOX(compte_cat_list), 0);

  type_temps_list = gtk_combo_box_text_new();
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(type_temps_list), NULL, "monthly");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(type_temps_list), NULL, "yearly");
  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(type_temps_list), NULL, "total");
  gtk_combo_box_set_active(GTK_COMBO_BOX(type_temps_list), 0);

  //linking GtkWidgets to entries to send to create_alert function
  alert_entry_t *entries = (alert_entry_t*) malloc(sizeof(alert_entry_t));
  strcpy(entries->type, type);
  entries->type_temps = type_temps_list;
  entries->compte_cat = compte_cat_list;
  entries->montant = montant_field;

  button_create_alert = gtk_button_new_with_label("Create Alert");
  g_signal_connect(GTK_BUTTON(button_create_alert), "clicked", G_CALLBACK(create_alert), entries);

  button_exit = gtk_button_new_with_label("Exit form");
  g_signal_connect(GTK_BUTTON(button_exit), "clicked", G_CALLBACK(close_window), windowAlertForm);

  gtk_grid_attach(GTK_GRID(grid), compte_cat_list, 0, 0, 1, 1);
  gtk_grid_attach(GTK_GRID(grid), type_temps_list, 0, 1, 1, 1);
  gtk_grid_attach(GTK_GRID(grid), montant_field, 0, 2, 1, 1);
  gtk_grid_attach(GTK_GRID(grid), button_create_alert, 0, 3, 1, 1);
  gtk_grid_attach(GTK_GRID(grid), button_exit, 0, 4, 1, 1);

  gtk_widget_show_all(windowAlertForm);
}
Exemplo n.º 28
0
/** \brief  Create DIGIMAX widget
 *
 * \param[in]   parent  parent widget
 *
 * \return  GtkGrid
 */
GtkWidget *digimax_widget_create(GtkWidget *parent)
{
    GtkWidget *grid;
    GtkWidget *label;
    GtkWidget *digimax;
    GtkWidget *combo;
    unsigned int base;
    int current;
    int index;
    char text[256];
    char id_str[80];


    grid = gtk_grid_new();
    gtk_grid_set_column_spacing(GTK_GRID(grid), 16);
    gtk_grid_set_row_spacing(GTK_GRID(grid), 8);

    digimax = vice_gtk3_resource_check_button_new("DIGIMAX", "Enable DIGIMAX");
    gtk_grid_attach(GTK_GRID(grid), digimax, 0, 0, 1, 1);

    resources_get_int("DIGIMAXbase", &current);
    index = 0;
    combo = gtk_combo_box_text_new();

    if (machine_class != VICE_MACHINE_VIC20) {
        for (base = 0xde00; base < 0xe000; base += 0x20) {
            g_snprintf(text, 256, "$%04X", base);
            g_snprintf(id_str, 80, "%u", base);
            gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo), id_str, text);
            if (current == base) {
                gtk_combo_box_set_active(GTK_COMBO_BOX(combo), index);
            }
            index++;
        }
    } else {
        for (base = 0x9800; base < 0x9900; base += 0x20) {
            g_snprintf(text, 256, "$%04X", base);
            g_snprintf(id_str, 80, "%u", base);
            gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo), id_str, text);
            if (current == base) {
                gtk_combo_box_set_active(GTK_COMBO_BOX(combo), index);
            }
            index++;
        }
        for (base = 0x9c00; base < 0x9d00; base += 0x20) {
            g_snprintf(text, 256, "$%04X", base);
            g_snprintf(id_str, 80, "%u", base);
            gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combo), id_str, text);
            if (current == base) {
                gtk_combo_box_set_active(GTK_COMBO_BOX(combo), index);
            }
            index++;
        }
    }

    g_signal_connect(combo, "changed", G_CALLBACK(on_combo_changed), NULL);
    g_signal_connect(digimax, "toggled", G_CALLBACK(on_digimax_toggled),
            (gpointer)combo);

    label = gtk_label_new("DigiMAX base");
    gtk_grid_attach(GTK_GRID(grid), label, 0, 1, 1, 1);
    gtk_grid_attach(GTK_GRID(grid), combo, 1, 1, 1, 1);

    on_digimax_toggled(digimax, combo);

    gtk_widget_show_all(grid);
    return grid;
}