/* Open the log window. */ void log_show_window() { GladeXML *glade; GtkTreeView *tv; GtkTreeViewColumn *column; GtkCellRenderer *renderer; glade = get_glade_xml("Log viewer"); tv = GTK_TREE_VIEW(glade_xml_get_widget(glade, "log_list")); gtk_tree_view_set_model(tv, GTK_TREE_MODEL(log)); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Time"), renderer, "text", TIMESTAMP, NULL); gtk_tree_view_append_column(tv, column); column = gtk_tree_view_column_new_with_attributes(_("Action"), renderer, "text", MESSAGE, NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_append_column(tv, column); column = gtk_tree_view_column_new_with_attributes(_("Path"), renderer, "text", DIRECTORY, NULL); gtk_tree_view_append_column(tv, column); g_signal_connect(G_OBJECT(glade_xml_get_widget(glade, "Log viewer")), "response", (GCallback) log_dialog_response, NULL); }
PreferencesWindow::PreferencesWindow() { ui = get_glade_xml("preferences_window"); ui->get_widget("preferences_window", window); window->set_transient_for(MainWindow::instance().get_window()); window->set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG); // setup fullscreen check button ui->get_widget("fullscreen_checkbutton", fullscreen_checkbutton); Glib::RefPtr<Gnome::Conf::Client> &client = MainWindow::instance().gconf_client; Glib::ustring dir = MainWindow::instance().gconf_dir; fullscreen_listener(0, client->get_entry(dir + "/fullscreen")); fullscreen_checkbutton->signal_toggled() .connect(sigc::mem_fun(*this, &PreferencesWindow::on_fullscreen_toggled)); client->notify_add(dir + "/fullscreen", sigc::mem_fun(*this, &PreferencesWindow::fullscreen_listener)); // setup player keys setup_button("player1_left", "/player1/left_key"); setup_button("player1_left_up", "/player1/left_up_key"); setup_button("player1_up", "/player1/up_key"); setup_button("player1_right_up", "/player1/right_up_key"); setup_button("player1_right", "/player1/right_key"); setup_button("player1_right_down", "/player1/right_down_key"); setup_button("player1_down", "/player1/down_key"); setup_button("player1_left_down", "/player1/left_down_key"); setup_button("player1_pull_block", "/player1/pull_key"); setup_button("player2_left", "/player2/left_key"); setup_button("player2_left_up", "/player2/left_up_key"); setup_button("player2_up", "/player2/up_key"); setup_button("player2_right_up", "/player2/right_up_key"); setup_button("player2_right", "/player2/right_key"); setup_button("player2_right_down", "/player2/right_down_key"); setup_button("player2_down", "/player2/down_key"); setup_button("player2_left_down", "/player2/left_down_key"); setup_button("player2_pull_block", "/player2/pull_key"); Gtk::Button *button; ui->get_widget("close_button", button); button->signal_clicked() .connect(sigc::mem_fun(*this, &PreferencesWindow::on_close_clicked)); window->signal_delete_event() .connect(sigc::mem_fun(*this, &PreferencesWindow::on_closed)); }
EventLog * event_log_create (GtkWindow *parent) { EventLog *log = g_new0 (EventLog, 1); log->xml = get_glade_xml(); log->window = glade_xml_get_widget (log->xml, "event_window"); gtk_window_set_transient_for (GTK_WINDOW (log->window), parent); glade_xml_signal_connect_data (log->xml, "events_clear_clicked", G_CALLBACK (events_clear_clicked), log); glade_xml_signal_connect_data (log->xml, "events_select_all_clicked", G_CALLBACK (events_select_all_clicked), log); glade_xml_signal_connect_data (log->xml, "events_save_as_clicked", G_CALLBACK (events_save_as_clicked), log); log->text_view = GTK_TEXT_VIEW (glade_xml_get_widget (log->xml, "event_text_view")); log->filters_view = GTK_TREE_VIEW (glade_xml_get_widget (log->xml, "event_filters")); g_signal_connect (log->text_view, "button_press_event", G_CALLBACK (link_clicked), log); log->log_text = gtk_text_buffer_new (NULL); gtk_text_view_set_buffer (log->text_view, log->log_text); gtk_text_view_set_wrap_mode (log->text_view, /* GTK_WRAP_NONE */ GTK_WRAP_CHAR); setup_filters (log); log->global_listener = SPI_createAccessibleEventListener (global_event_callback, log); log->idle_tail = 0; #ifdef IDLE_LOGGING log->idle_log = 0; log->event_list = NULL; #endif gtk_widget_show (log->window); return log; }