Esempio n. 1
0
/**
 * Scroll page down (via shortcut key)
 *
 * Copied from gtkhtml/gtkhtml.c
 */
static gboolean
liferea_webkit_scroll_pagedown (GtkWidget *scrollpane)
{
	GtkScrolledWindow *itemview;
	GtkAdjustment *vertical_adjustment;
	gdouble old_value;
	gdouble	new_value;
	gdouble	limit;

	itemview = GTK_SCROLLED_WINDOW (scrollpane);
	g_assert (NULL != itemview);
	vertical_adjustment = gtk_scrolled_window_get_vadjustment (itemview);
	old_value = gtk_adjustment_get_value (vertical_adjustment);
	new_value = old_value + gtk_adjustment_get_page_increment (vertical_adjustment);
	limit = gtk_adjustment_get_upper (vertical_adjustment) - gtk_adjustment_get_page_size (vertical_adjustment);
	if (new_value > limit) {
		new_value = limit;
	}
	gtk_adjustment_set_value (vertical_adjustment, new_value);
	gtk_scrolled_window_set_vadjustment (
		GTK_SCROLLED_WINDOW (itemview),
		vertical_adjustment
	);
	return (new_value > old_value);
}
Esempio n. 2
0
void ListBox::reset() {
  listBox->selection = -1;
  gtk_list_store_clear(GTK_LIST_STORE(listBox->store));
  gtk_tree_view_set_model(GTK_TREE_VIEW(object->subWidget), GTK_TREE_MODEL(listBox->store));
  //reset gtk_scrolled_window scrollbar position to 0,0 (top-left), as ListBox is now empty
  gtk_scrolled_window_set_hadjustment(GTK_SCROLLED_WINDOW(object->widget), 0);
  gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(object->widget), 0);
}
Esempio n. 3
0
void scrolling(GtkWidget *widget, gpointer data)
{ 
  GtkAdjustment *adjustment;

  adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(widget));
  adjustment->value = adjustment->upper;
  gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(widget),adjustment);
}
Esempio n. 4
0
void pListView::reset() {
  listView.state.selected = false;
  listView.state.selection = 0;
  gtk_list_store_clear(GTK_LIST_STORE(store));
  gtk_tree_view_set_model(GTK_TREE_VIEW(subWidget), GTK_TREE_MODEL(store));
  //reset gtk_scrolled_window scrollbar position to 0,0 (top-left), as ListView is now empty
  gtk_scrolled_window_set_hadjustment(GTK_SCROLLED_WINDOW(gtkWidget), 0);
  gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(gtkWidget), 0);
}
Esempio n. 5
0
void nsgtk_history_scroll_top (GtkScrolledWindow *scrolled_window)
{
	GtkAdjustment *adjustment =
			gtk_scrolled_window_get_vadjustment(scrolled_window);

	gtk_adjustment_set_value(adjustment, 0);
	
	gtk_scrolled_window_set_vadjustment(scrolled_window, adjustment);
}
Esempio n. 6
0
static void wqq_qqchat_init(WqqQQChat * chat)
{
	gtk_scrolled_window_set_hadjustment(GTK_SCROLLED_WINDOW(chat), NULL);
	gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(chat), NULL);
	/*GtkWidget *viewport=gtk_viewport_new(NULL,NULL); */
	/*gtk_scrollable_set_vadjustment(GTK_SCROLLABLE(viewport),NULL); */
	chat->webview = webkit_web_view_new();
	/*gtk_container_add(GTK_CONTAINER(chat),viewport); */
	gtk_container_add(GTK_CONTAINER(chat), chat->webview);
}
Esempio n. 7
0
/* Sets the Adjustment for the vertical scrollbar. */
int
clip_GTK_SCROLLEDWINDOWSETVADJUSTMENT (ClipMachine *cm)
{
    C_widget *csw  = _fetch_cw_arg(cm);
    C_widget *cadj = _fetch_cwidget(cm,_clip_spar(cm, 2));
    CHECKCWID(csw,GTK_IS_SCROLLED_WINDOW);
    CHECKOPT2(2,MAP_t,NUMERIC_t);
    CHECKCWIDOPT(cadj,GTK_IS_ADJUSTMENT);
    gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW(csw->widget),
                                         GTK_ADJUSTMENT(cadj->widget));
    return 0;
err:
    return 1;
}
Esempio n. 8
0
static void
wikipad_document_init (WikipadDocument *document)
{
  GtkTargetList        *target_list;

  /* private structure */
  document->priv = WIKIPAD_DOCUMENT_GET_PRIVATE (document);

  /* initialize the variables */
  document->priv->utf8_filename = NULL;
  document->priv->utf8_basename = NULL;
  document->priv->label = NULL;

  /* setup the scolled window */
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (document), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (document), GTK_SHADOW_ETCHED_IN);
  gtk_scrolled_window_set_hadjustment (GTK_SCROLLED_WINDOW (document), NULL);
  gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (document), NULL);

  /* create a textbuffer */
  document->buffer = GTK_TEXT_BUFFER (gtk_source_buffer_new (NULL));

  /* initialize the file */
  document->file = wikipad_file_new (document->buffer);

  /* connect signals to the file */
  g_signal_connect_swapped (G_OBJECT (document->file), "filename-changed", G_CALLBACK (wikipad_document_filename_changed), document);

  /* create the highlight tag */
  document->tag = gtk_text_buffer_create_tag (document->buffer, NULL, "background", "#ffff78", NULL);

  /* setup the textview */
  document->textview = g_object_new (WIKIPAD_TYPE_VIEW, "buffer", document->buffer, NULL);
  gtk_container_add (GTK_CONTAINER (document), GTK_WIDGET (document->textview));
  gtk_widget_show (GTK_WIDGET (document->textview));

  /* also allow dropping of uris and tabs in the textview */
  target_list = gtk_drag_dest_get_target_list (GTK_WIDGET (document->textview));
  gtk_target_list_add_table (target_list, drop_targets, G_N_ELEMENTS (drop_targets));

  /* attach signals to the text view and buffer */
  g_signal_connect (G_OBJECT (document->buffer), "notify::cursor-position", G_CALLBACK (wikipad_document_notify_cursor_position), document);
  g_signal_connect (G_OBJECT (document->buffer), "notify::has-selection", G_CALLBACK (wikipad_document_notify_has_selection), document);
  g_signal_connect_swapped (G_OBJECT (document->buffer), "modified-changed", G_CALLBACK (wikipad_document_label_color), document);
  g_signal_connect_swapped (G_OBJECT (document->file), "readonly-changed", G_CALLBACK (wikipad_document_label_color), document);
  g_signal_connect (G_OBJECT (document->textview), "notify::overwrite", G_CALLBACK (wikipad_document_notify_overwrite), document);
  g_signal_connect (G_OBJECT (document->textview), "drag-data-received", G_CALLBACK (wikipad_document_drag_data_received), document);
  g_signal_connect (G_OBJECT (document->buffer), "notify::language", G_CALLBACK (wikipad_document_notify_language), document);
}
Esempio n. 9
0
void ChatArea(GtkWidget *vbox)
{
  GtkWidget *hbox;
  GtkWidget *frame, *scroll, *view, *label, *msg;
  GtkAdjustment *adjustment; /* Uso interno de ajuste de scroll */

  frame  = gtk_frame_new("Chat");
  scroll = gtk_scrolled_window_new(NULL,NULL);
  view   = gtk_text_view_new();  
  buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
  label  = gtk_label_new("Mensaje");
  hbox   = gtk_hbox_new(FALSE,2),
  msg    = gtk_entry_new();

  gtk_box_pack_start(GTK_BOX(vbox), frame,FALSE,FALSE,2);
  gtk_container_add(GTK_CONTAINER(frame), scroll);
  gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll),view);
  gtk_box_pack_end(GTK_BOX(vbox), hbox,FALSE,FALSE,2);
  gtk_box_pack_start(GTK_BOX(hbox), label,FALSE,FALSE,2);
  gtk_box_pack_end(GTK_BOX(hbox), msg,FALSE,FALSE,2);

  gtk_widget_set_size_request(msg,600,-1);
  gtk_text_view_set_editable(GTK_TEXT_VIEW(view),FALSE);
  gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view),GTK_WRAP_WORD_CHAR);
  gtk_widget_set_size_request(scroll,600,330);
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
  gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW(scroll),GTK_CORNER_BOTTOM_LEFT);
  adjustment = (GtkAdjustment *) gtk_adjustment_new(0.,0., 396.,18.,183.,396.);
  gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW(scroll),adjustment);

  gtk_text_buffer_create_tag(buffer, "lmarg", "left_margin", 5, NULL);
  gtk_text_buffer_create_tag(buffer, "red_fg","foreground", "red", NULL); 
  gtk_text_buffer_create_tag(buffer, "blue_fg","foreground", "blue", NULL); 
  gtk_text_buffer_create_tag(buffer, "magenta_fg","foreground", "#FF00FF", NULL);
  gtk_text_buffer_create_tag(buffer, "black_bg","background", "black", NULL);
  gtk_text_buffer_create_tag(buffer, "green_fg","foreground", "#00BB00", NULL); 
  gtk_text_buffer_create_tag(buffer, "italic", "style", PANGO_STYLE_ITALIC, NULL);
  gtk_text_buffer_create_tag(buffer, "bold", "weight", PANGO_WEIGHT_BOLD, NULL);

  gtk_text_buffer_get_iter_at_offset(buffer, &iter, 0);

  g_signal_connect(G_OBJECT(msg), "activate", G_CALLBACK(readMessageCB), NULL);
  g_signal_connect(G_OBJECT(scroll), "size-allocate", G_CALLBACK(scrolling), NULL);
}
Esempio n. 10
0
static void fm_folder_view_init(FmFolderView *self)
{
    gtk_scrolled_window_set_hadjustment((GtkScrolledWindow*)self, NULL);
    gtk_scrolled_window_set_vadjustment((GtkScrolledWindow*)self, NULL);
    gtk_scrolled_window_set_policy((GtkScrolledWindow*)self, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);

    /* config change notifications */
//    g_signal_connect(fm_config, "changed::single_click", G_CALLBACK(on_single_click_changed), self);

    /* dnd support */
    self->dnd_src = fm_dnd_src_new(NULL);
    g_signal_connect(self->dnd_src, "data-get", G_CALLBACK(on_dnd_src_data_get), self);

    self->dnd_dest = fm_dnd_dest_new(NULL);

    self->mode = -1;
    self->sort_type = GTK_SORT_ASCENDING;
    self->sort_by = COL_FILE_NAME;
}
Esempio n. 11
0
static void
caja_notes_viewer_init (CajaNotesViewer *sidebar)
{
    CajaNotesViewerDetails *details;
    CajaIconInfo *info;
    gint scale;

    details = g_new0 (CajaNotesViewerDetails, 1);
    sidebar->details = details;

    details->uri = g_strdup ("");

    scale = gdk_window_get_scale_factor (gdk_get_default_root_window ());
    info = caja_icon_info_lookup_from_name ("emblem-note", 16, scale);
    details->icon = caja_icon_info_get_pixbuf (info);

    /* create the text container */
    details->text_buffer = gtk_text_buffer_new (NULL);
    details->note_text_field = gtk_text_view_new_with_buffer (details->text_buffer);

    gtk_text_view_set_editable (GTK_TEXT_VIEW (details->note_text_field), TRUE);
    gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (details->note_text_field),
                                 GTK_WRAP_WORD);
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sidebar),
                                    GTK_POLICY_AUTOMATIC,
                                    GTK_POLICY_AUTOMATIC);
    gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sidebar),
                                         GTK_SHADOW_IN);
    gtk_scrolled_window_set_hadjustment (GTK_SCROLLED_WINDOW (sidebar), NULL);
    gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (sidebar), NULL);
    gtk_scrolled_window_set_overlay_scrolling (GTK_SCROLLED_WINDOW (sidebar), FALSE);

    gtk_container_add (GTK_CONTAINER (sidebar), details->note_text_field);

    g_signal_connect (details->note_text_field, "focus_out_event",
                      G_CALLBACK (on_text_field_focus_out_event), sidebar);
    g_signal_connect (details->text_buffer, "changed",
                      G_CALLBACK (on_changed), sidebar);

    gtk_widget_show_all (GTK_WIDGET (sidebar));

}
Esempio n. 12
0
static void
composer_size_allocate_cb (GtkWidget *widget,
			   gpointer user_data)
{
	GtkWidget *scrolled_window;
	GtkAdjustment *adj;

	scrolled_window = gtk_widget_get_parent (GTK_WIDGET (widget));
	adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window));

	/* Scroll only when there is some size allocated */
	if (gtk_adjustment_get_upper (adj) != 0.0) {
		/* Scroll web view down to caret */
		gtk_adjustment_set_value (adj, gtk_adjustment_get_upper (adj) - gtk_adjustment_get_page_size (adj));
		gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window), adj);
		/* Disconnect because we don't want to scroll down the view on every window size change */
		g_signal_handlers_disconnect_by_func (
			widget, G_CALLBACK (composer_size_allocate_cb), NULL);
	}
}
Esempio n. 13
0
static void
tabu_playlist_init (TabuPlaylist *self)
{ 
  gtk_scrolled_window_set_shadow_type (
    GTK_SCROLLED_WINDOW (self),
    GTK_SHADOW_IN);

  gtk_scrolled_window_set_hadjustment (
    GTK_SCROLLED_WINDOW (self),
    NULL);

  gtk_scrolled_window_set_vadjustment (
    GTK_SCROLLED_WINDOW (self),
    NULL);

  gtk_scrolled_window_set_policy (
    GTK_SCROLLED_WINDOW (self), 
    GTK_POLICY_NEVER, 
    GTK_POLICY_AUTOMATIC);
  
  self->tree_view = gtk_tree_view_new ( );

  gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (self->tree_view), TRUE);
	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (self->tree_view), FALSE);
	gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (self->tree_view), TRUE);
  gtk_tree_view_set_reorderable (GTK_TREE_VIEW (self->tree_view), TRUE);

	gtk_tree_selection_set_mode ( 
    GTK_TREE_SELECTION ( 
      gtk_tree_view_get_selection (GTK_TREE_VIEW (self->tree_view))), 
      GTK_SELECTION_MULTIPLE);

  self->cell_renderer = gtk_cell_renderer_text_new ();
  g_object_set (self->cell_renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL);

  GtkTreeViewColumn *pointercol = gtk_tree_view_column_new_with_attributes(
    "Pointer",
    GTK_CELL_RENDERER (self->cell_renderer),
    "markup", 0,
    NULL );

  self->tree_view_column = gtk_tree_view_column_new_with_attributes(
    "Cancion",
    GTK_CELL_RENDERER (self->cell_renderer),
    "markup", 1,
    NULL );

  gtk_tree_view_column_set_sizing (self->tree_view_column, GTK_TREE_VIEW_COLUMN_FIXED);
  gtk_tree_view_column_set_sizing (pointercol, GTK_TREE_VIEW_COLUMN_FIXED);  
//  gtk_tree_view_column_set_fixed_width (pointercol, 15 );;
	gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (self->tree_view_column), TRUE);

  gtk_tree_view_insert_column (
    GTK_TREE_VIEW (self->tree_view), 
    pointercol, 
    -1);

  gtk_tree_view_insert_column (
    GTK_TREE_VIEW (self->tree_view), 
    self->tree_view_column, 
    -1);

  self->list_store = gtk_list_store_new ( 
    3, 
    G_TYPE_STRING, 
    G_TYPE_STRING,
    G_TYPE_STRING);

  gtk_tree_view_set_model (
    GTK_TREE_VIEW (self->tree_view), 
    GTK_TREE_MODEL (self->list_store));  

  g_signal_connect (
    G_OBJECT (self->tree_view), 
    "row-activated", 
    G_CALLBACK (on_tabu_playlist_row_activated_event), 
    NULL);

  g_signal_connect ( 
    G_OBJECT (self->tree_view), 
    "key-press-event", 
    G_CALLBACK (on_tabu_playlist_key_press_event), 
    NULL);
  
	gtk_container_add ( 
    GTK_CONTAINER ( GTK_SCROLLED_WINDOW (self)), 
    GTK_WIDGET (self->tree_view));
}
Esempio n. 14
0
static void
caja_history_sidebar_init (CajaHistorySidebar *sidebar)
{
    GtkTreeView       *tree_view;
    GtkTreeViewColumn *col;
    GtkCellRenderer   *cell;
    GtkListStore      *store;
    GtkTreeSelection  *selection;

    tree_view = GTK_TREE_VIEW (gtk_tree_view_new ());
    gtk_tree_view_set_headers_visible (tree_view, FALSE);
    gtk_widget_show (GTK_WIDGET (tree_view));

    col = GTK_TREE_VIEW_COLUMN (gtk_tree_view_column_new ());

    cell = gtk_cell_renderer_pixbuf_new ();
    gtk_tree_view_column_pack_start (col, cell, FALSE);
    gtk_tree_view_column_set_attributes (col, cell,
                                         "surface", HISTORY_SIDEBAR_COLUMN_ICON,
                                         NULL);

    cell = gtk_cell_renderer_text_new ();
    gtk_tree_view_column_pack_start (col, cell, TRUE);
    gtk_tree_view_column_set_attributes (col, cell,
                                         "text", HISTORY_SIDEBAR_COLUMN_NAME,
                                         NULL);

    gtk_tree_view_column_set_fixed_width (col, CAJA_ICON_SIZE_SMALLER);
    gtk_tree_view_append_column (tree_view, col);

    store = gtk_list_store_new (HISTORY_SIDEBAR_COLUMN_COUNT,
                                CAIRO_GOBJECT_TYPE_SURFACE,
                                G_TYPE_STRING,
                                CAJA_TYPE_BOOKMARK);

    gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL (store));
    g_object_unref (store);

    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sidebar),
                                    GTK_POLICY_AUTOMATIC,
                                    GTK_POLICY_AUTOMATIC);
    gtk_scrolled_window_set_hadjustment (GTK_SCROLLED_WINDOW (sidebar), NULL);
    gtk_scrolled_window_set_vadjustment (GTK_SCROLLED_WINDOW (sidebar), NULL);
    gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sidebar), GTK_SHADOW_IN);
    gtk_scrolled_window_set_overlay_scrolling (GTK_SCROLLED_WINDOW (sidebar), FALSE);

    gtk_container_add (GTK_CONTAINER (sidebar), GTK_WIDGET (tree_view));
    gtk_widget_show (GTK_WIDGET (sidebar));

    sidebar->tree_view = tree_view;

    selection = gtk_tree_view_get_selection (tree_view);
    gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);

    g_signal_connect_object
    (tree_view, "row_activated",
     G_CALLBACK (row_activated_callback), sidebar, 0);

    g_signal_connect_object (caja_signaller_get_current (),
                             "history_list_changed",
                             G_CALLBACK (history_changed_callback), sidebar, 0);

    g_signal_connect (tree_view, "button-press-event",
                      G_CALLBACK (button_press_event_callback), sidebar);

    g_signal_connect_swapped (caja_preferences,
                              "changed::" CAJA_PREFERENCES_CLICK_POLICY,
                              G_CALLBACK(click_policy_changed_callback),
                              sidebar);
    update_click_policy (sidebar);
}
Esempio n. 15
0
int main(int argc, char *argv[])
{
	GtkWidget *window, *ok_but, *fix_but, *diag, *list, *scroll;
	GtkAdjustment *adj;
    product_component_t *component;
	product_option_t *option;
	product_file_t *file;
	int removed = 0, modified = 0;
	
    goto_installpath(argv[0]);

	/* Set the locale */
    init_locale();

	if ( argc < 2 ) {
		fprintf(stderr, _("Usage: %s product\n"), argv[0]);
		return 1;
	}

    gtk_init(&argc,&argv);

	argv0 = argv[0];

    /* Initialize Glade */
    glade_init();
    check_glade = glade_xml_new("check.glade", "check_dialog"); 

    /* Add all signal handlers defined in glade file */
    glade_xml_signal_autoconnect(check_glade);

    window = glade_xml_get_widget(check_glade, "check_dialog");
    gtk_widget_realize(window);
    while( gtk_events_pending() ) {
        gtk_main_iteration();
    }

	diag = glade_xml_get_widget(check_glade, "diagnostic_label");
	ok_but = glade_xml_get_widget(check_glade, "dismiss_button");
	fix_but = glade_xml_get_widget(check_glade, "rescue_button");
	list = glade_xml_get_widget(check_glade, "main_list");
	scroll = glade_xml_get_widget(check_glade, "scrolledwindow");

	product = loki_openproduct(argv[1]);
	if ( ! product ) {
	  message_dialog(_("Impossible to locate the product information.\nMaybe another user installed it?"),
					 _("Error"));
		return 1;
	}

	info = loki_getinfo_product(product);

	gtk_label_set_text(GTK_LABEL(diag), "");
	gtk_widget_set_sensitive(fix_but, FALSE);

	adj = GTK_ADJUSTMENT(gtk_adjustment_new(100.0, 1.0, 100.0, 1.0, 10.0, 10.0));
	gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(scroll), adj);

	/* Iterate through the components */
	for ( component = loki_getfirst_component(product);
		  component;
		  component = loki_getnext_component(component) ) {

		add_message(list, _("---> Checking component '%s'..."), loki_getname_component(component));

		for ( option = loki_getfirst_option(component);
			  option;
			  option = loki_getnext_option(option) ) {
			
			add_message(list, _("-> Checking option '%s'..."), loki_getname_option(option));

			for ( file = loki_getfirst_file(option);
				  file;
				  file = loki_getnext_file(file) ) {

				gtk_main_iteration();
				switch ( loki_check_file(file) ) {
				case LOKI_REMOVED:
					add_message(list, _("%s was REMOVED"), loki_getpath_file(file));
					removed ++;
					add_corrupt_file(product, loki_getpath_file(file), loki_getname_option(option));
					break;
				case LOKI_CHANGED:
					add_message(list, _("%s was MODIFIED"), loki_getpath_file(file));
					modified ++;
					add_corrupt_file(product, loki_getpath_file(file), loki_getname_option(option));
					break;
				case LOKI_OK:
					add_message(list, _("%s is OK"), loki_getpath_file(file));
					break;
				}
			}
		}
	}

	if ( removed || modified ) {
		char status[200];

		snprintf(status, sizeof(status), _("Changes detected: %d files removed, %d files modified."), 
				 removed, modified);
		gtk_label_set_text(GTK_LABEL(diag), status);
		gtk_widget_set_sensitive(fix_but, TRUE);
	} else {
		gtk_label_set_text(GTK_LABEL(diag), _("No problems were found."));
	}

    /* Run the UI.. */
    gtk_main();

	return 0;
}
Esempio n. 16
0
/* Initialise the composite widget */
static void quote_view_init(QuoteView * qv)
{
	GtkTreeViewColumn *column;

	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW
					    (qv), GTK_SHADOW_IN);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(qv),
				       GTK_POLICY_NEVER,
				       GTK_POLICY_AUTOMATIC);
	gtk_scrolled_window_set_hadjustment(GTK_SCROLLED_WINDOW(qv), NULL);
	gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(qv), NULL);

	/* Create model */
	qv->store = gtk_list_store_new(TRADE_COLUMN_LAST,
				       GDK_TYPE_PIXBUF,
				       GDK_TYPE_PIXBUF,
				       G_TYPE_STRING,
				       G_TYPE_POINTER,
				       G_TYPE_POINTER, G_TYPE_INT);

	/* Create graphical representation of the model */
	qv->quotes =
	    gtk_tree_view_new_with_model(GTK_TREE_MODEL(qv->store));
	gtk_container_add(GTK_CONTAINER(qv), qv->quotes);

	/* Register double-click */
	g_signal_connect(G_OBJECT(qv->quotes), "button_press_event",
			 G_CALLBACK(quote_click_cb), qv);

	g_signal_connect(G_OBJECT
			 (gtk_tree_view_get_selection
			  (GTK_TREE_VIEW(qv->quotes))), "changed",
			 G_CALLBACK(quote_select_cb), qv);

	/* Now create columns */

	/* Table header: Player who trades */
	column = gtk_tree_view_column_new_with_attributes(_("Player"),
							  gtk_cell_renderer_pixbuf_new
							  (), "pixbuf",
							  TRADE_COLUMN_PLAYER,
							  NULL);
	gtk_tree_view_append_column(GTK_TREE_VIEW(qv->quotes), column);

	column = gtk_tree_view_column_new_with_attributes("",
							  gtk_cell_renderer_pixbuf_new
							  (), "pixbuf",
							  TRADE_COLUMN_POSSIBLE,
							  NULL);
	gtk_tree_view_append_column(GTK_TREE_VIEW(qv->quotes), column);

	/* Table header: Quote */
	column = gtk_tree_view_column_new_with_attributes(_("Quotes"),
							  gtk_cell_renderer_text_new
							  (), "text",
							  TRADE_COLUMN_DESCRIPTION,
							  NULL);
	gtk_tree_view_append_column(GTK_TREE_VIEW(qv->quotes), column);
	gtk_widget_show(qv->quotes);

	load_pixmaps(qv);

	qv->with_maritime = FALSE;
	qv->quote_list = NULL;
}