void sux_init(SuxModule *sm, gchar *args) { GtkWidget *button, *image; WnckScreen *screen; ShowDesktop *sd; sd = g_new0(ShowDesktop, 1); button = gtk_toggle_button_new(); gtk_widget_show(button); image = gtk_image_new_from_file_scaled(IMG_PREFIX "showdesktop.png", 24, 24); gtk_widget_show(image); gtk_container_add(GTK_CONTAINER(button), image); screen = wnck_screen_get_default(); g_object_set_data(G_OBJECT(screen), "sd", sd); sd->tips = gtk_tooltips_new(); sd->screen = screen; sd->is_showing_desktop = wnck_screen_get_showing_desktop(sd->screen); sd->button = button; update_tooltip(sd); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_show_desktop), sd); g_signal_connect(G_OBJECT(screen), "showing_desktop_changed", G_CALLBACK(show_desktop_changed), sd); sm->widget = sd->button; }
static gboolean on_leave_notify(GtkWidget *widget, GdkEventCrossing *unused_event, gpointer unused_udata) { (void) unused_event; (void) unused_udata; update_tooltip(GTK_TREE_VIEW(widget), NULL); return FALSE; }
static void break_window_done_cb (GtkWidget *window, DrWright *dr) { gtk_widget_destroy (dr->break_window); dr->state = STATE_BREAK_DONE_SETUP; dr->break_window = NULL; update_tooltip (dr); maybe_change_state (dr); }
static void init_tray_icon (DrWright *dr) { dr->icon = gtk_status_icon_new_from_pixbuf (dr->neutral_bar); update_tooltip (dr); update_icon (dr); g_signal_connect (dr->icon, "popup_menu", G_CALLBACK (popup_menu_cb), dr); }
static gboolean on_leave_notify(GtkWidget *widget, GdkEventCrossing *unused_event, gpointer data) { GtkTreeView *tv; (void) unused_event; tv = GTK_TREE_VIEW(data); update_tooltip(GTK_TREE_VIEW(widget), NULL); tree_view_motion_clear_callback(&tvm_dbg_property); return FALSE; }
static void break_window_postpone_cb (GtkWidget *window, DrWright *dr) { gtk_widget_destroy (dr->break_window); dr->state = STATE_WARN_TYPE; dr->break_window = NULL; g_timer_start (dr->timer); start_blinking (dr); update_icon (dr); update_tooltip (dr); }
static gboolean toggle_show_desktop(GtkWidget *widget, gpointer data) { ShowDesktop *sd = (ShowDesktop *) data; gboolean show_desktop_flag; show_desktop_flag = !sd->is_showing_desktop; if (!sd->lock) { update_button_state(sd, show_desktop_flag); show_desktop(sd, show_desktop_flag); update_tooltip(sd); } return TRUE; }
static void on_cursor_changed(GtkTreeView *tv, gpointer unused_udata) { GtkTreePath *path = NULL; (void) unused_udata; g_assert(tv != NULL); gtk_tree_view_get_cursor(tv, &path, NULL); if (path) { update_tooltip(tv, path); gtk_tree_path_free(path); path = NULL; } }
static void show_desktop_changed(WnckScreen *screen) { ShowDesktop *sd; sd = (ShowDesktop *) g_object_get_data(G_OBJECT(screen), "sd"); g_signal_handlers_block_by_func(G_OBJECT(screen), G_CALLBACK(show_desktop_changed), NULL); sd->lock = TRUE; sd->is_showing_desktop = wnck_screen_get_showing_desktop(screen); update_button_state(sd, sd->is_showing_desktop); update_tooltip(sd); sd->lock = FALSE; g_signal_handlers_unblock_by_func(G_OBJECT(screen), G_CALLBACK(show_desktop_changed), NULL); }
static void gconf_notify_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data) { DrWright *dr = user_data; GtkWidget *item; if (!strcmp (entry->key, GCONF_PATH "/type_time")) { if (entry->value->type == GCONF_VALUE_INT) { dr->type_time = 60 * gconf_value_get_int (entry->value); dr->warn_time = MIN (dr->type_time / 10, 5*60); dr->state = STATE_START; } } else if (!strcmp (entry->key, GCONF_PATH "/break_time")) { if (entry->value->type == GCONF_VALUE_INT) { dr->break_time = 60 * gconf_value_get_int (entry->value); dr->state = STATE_START; } } else if (!strcmp (entry->key, GCONF_PATH "/enabled")) { if (entry->value->type == GCONF_VALUE_BOOL) { dr->enabled = gconf_value_get_bool (entry->value); dr->state = STATE_START; item = gtk_item_factory_get_widget_by_action (dr->popup_factory, POPUP_ITEM_BREAK); gtk_widget_set_sensitive (item, dr->enabled); update_tooltip (dr); } } maybe_change_state (dr); }
static gboolean maybe_change_state (DrWright *dr) { gint elapsed_time; gint elapsed_idle_time; if (debug) { g_timer_reset (dr->idle_timer); } elapsed_time = g_timer_elapsed (dr->timer, NULL); elapsed_idle_time = g_timer_elapsed (dr->idle_timer, NULL); if (elapsed_time > dr->last_elapsed_time + dr->warn_time) { /* If the timeout is delayed by the amount of warning time, then * we must have been suspended or stopped, so we just start * over. */ dr->state = STATE_START; } switch (dr->state) { case STATE_START: if (dr->break_window) { gtk_widget_destroy (dr->break_window); dr->break_window = NULL; } gtk_status_icon_set_from_pixbuf (dr->icon, dr->neutral_bar); g_timer_start (dr->timer); g_timer_start (dr->idle_timer); if (dr->enabled) { dr->state = STATE_IDLE; } update_tooltip (dr); stop_blinking (dr); break; case STATE_IDLE: if (elapsed_idle_time >= dr->break_time) { g_timer_start (dr->timer); g_timer_start (dr->idle_timer); } else if (dr->is_active) { dr->state = STATE_TYPE; } break; case STATE_TYPE: if (elapsed_time >= dr->type_time - dr->warn_time) { dr->state = STATE_WARN_TYPE; g_timer_start (dr->timer); start_blinking (dr); } else if (elapsed_time >= dr->type_time) { dr->state = STATE_BREAK_SETUP; } else if (!dr->is_active) { dr->state = STATE_IDLE; g_timer_start (dr->idle_timer); } break; case STATE_WARN_TYPE: if (elapsed_time >= dr->warn_time) { dr->state = STATE_BREAK_SETUP; } else if (!dr->is_active) { dr->state = STATE_WARN_IDLE; } break; case STATE_WARN_IDLE: if (elapsed_idle_time >= dr->break_time) { dr->state = STATE_BREAK_DONE_SETUP; } else if (dr->is_active) { dr->state = STATE_WARN_TYPE; } break; case STATE_BREAK_SETUP: /* Don't allow more than one break window to coexist, can happen * if a break is manually enforced. */ if (dr->break_window) { dr->state = STATE_BREAK; break; } stop_blinking (dr); gtk_status_icon_set_from_pixbuf (dr->icon, dr->red_bar); g_timer_start (dr->timer); dr->break_window = drw_break_window_new (); g_signal_connect (dr->break_window, "map_event", G_CALLBACK (break_window_map_event_cb), dr); g_signal_connect (dr->break_window, "done", G_CALLBACK (break_window_done_cb), dr); g_signal_connect (dr->break_window, "postpone", G_CALLBACK (break_window_postpone_cb), dr); g_signal_connect (dr->break_window, "destroy", G_CALLBACK (break_window_destroy_cb), dr); dr->secondary_break_windows = create_secondary_break_windows (); gtk_widget_show (dr->break_window); dr->state = STATE_BREAK; break; case STATE_BREAK: if (elapsed_time >= dr->break_time) { dr->state = STATE_BREAK_DONE_SETUP; } break; case STATE_BREAK_DONE_SETUP: stop_blinking (dr); gtk_status_icon_set_from_pixbuf (dr->icon, dr->green_bar); dr->state = STATE_BREAK_DONE; break; case STATE_BREAK_DONE: if (dr->is_active) { dr->state = STATE_START; if (dr->break_window) { gtk_widget_destroy (dr->break_window); dr->break_window = NULL; } } break; } dr->is_active = FALSE; dr->last_elapsed_time = elapsed_time; update_icon (dr); return TRUE; }
LRESULT track_bar::on_message(HWND wnd,UINT msg,WPARAM wp,LPARAM lp) { switch(msg) { case WM_NCCREATE: break; case WM_CREATE: { if (IsThemeActive() && IsAppThemed()) { m_theme = OpenThemeData(wnd, L"Trackbar"); } } break; case WM_THEMECHANGED: { { if (m_theme) { CloseThemeData(m_theme); m_theme=0; } if (IsThemeActive() && IsAppThemed()) m_theme = OpenThemeData(wnd, L"Trackbar"); } } break; case WM_DESTROY: { if (m_hook_registered) { message_hook_manager::deregister_hook(message_hook_manager::type_keyboard, this); m_hook_registered=false; } { if (m_theme) CloseThemeData(m_theme); m_theme=0; } } break; case WM_NCDESTROY: break; case WM_SIZE: RedrawWindow(wnd, 0, 0, RDW_INVALIDATE|RDW_ERASE); break; case WM_MOUSEMOVE: { POINT pt = {GET_X_LPARAM(lp), GET_Y_LPARAM(lp)}; if (m_dragging) { if (!m_last_mousemove.m_valid || wp != m_last_mousemove.m_wp || lp != m_last_mousemove.m_lp) { if (get_enabled()) { unsigned pos = calculate_position_from_point(pt); set_position_internal(pos); if (m_wnd_tooltip && m_host) { POINT pts = pt; ClientToScreen(wnd, &pts); track_bar_string temp; m_host->get_tooltip_text(pos, temp); update_tooltip(pts, temp.data()); } if (m_host) m_host->on_position_change(pos, true); } } m_last_mousemove.m_valid = true; m_last_mousemove.m_wp = wp; m_last_mousemove.m_lp = lp; } else { update_hot_status(pt); } } break; case WM_ENABLE: { RECT rc; get_thumb_rect(&rc); InvalidateRect(wnd, &rc, TRUE); } break; case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: case WM_XBUTTONDOWN: { if (get_enabled() && get_auto_focus() && GetFocus() != wnd) SetFocus(wnd); if (m_dragging) { destroy_tooltip(); if (GetCapture() == wnd) ReleaseCapture(); message_hook_manager::deregister_hook(message_hook_manager::type_keyboard, this); m_hook_registered=false; //SetFocus(IsWindow(m_wnd_prev) ? m_wnd_prev : uFindParentPopup(wnd)); m_dragging = false; set_position_internal(m_position); } } break; case WM_LBUTTONDOWN: { if (get_enabled()) { if (get_auto_focus() && GetFocus() != wnd) SetFocus(wnd); POINT pt; pt.x = GET_X_LPARAM(lp); pt.y = GET_Y_LPARAM(lp); RECT rc_client; GetClientRect(wnd, &rc_client); if (PtInRect(&rc_client, pt)) { m_dragging = true; SetCapture(wnd); //SetFocus(wnd); message_hook_manager::register_hook(message_hook_manager::type_keyboard, this); m_hook_registered=true; unsigned pos = calculate_position_from_point(pt); set_position_internal(pos); POINT pts = pt; ClientToScreen(wnd, &pts); if (m_show_tooltips && m_host) { track_bar_string temp; m_host->get_tooltip_text(pos, temp); create_tooltip(temp.data(), pts); } } m_last_mousemove.m_valid = false; } } return 0; case WM_LBUTTONUP: { if (m_dragging) { destroy_tooltip(); if (GetCapture() == wnd) ReleaseCapture(); m_dragging = false; if (get_enabled()) { POINT pt; pt.x = GET_X_LPARAM(lp); pt.y = GET_Y_LPARAM(lp); unsigned pos = calculate_position_from_point(pt); set_position(pos); } //SetFocus(IsWindow(m_wnd_prev) ? m_wnd_prev : uFindParentPopup(wnd)); message_hook_manager::deregister_hook(message_hook_manager::type_keyboard, this); m_hook_registered = false; if (m_host) m_host->on_position_change(m_display_position, false); m_last_mousemove.m_valid = false; } } return 0; case WM_KEYDOWN: case WM_KEYUP: { if ((wp == VK_ESCAPE || wp == VK_RETURN) && m_host && m_host->on_key(wp, lp)) return 0; if ( !(lp & (1<<31)) && (wp == VK_LEFT || wp == VK_DOWN || wp == VK_RIGHT || wp == VK_UP)) { bool down = (wp == VK_LEFT || wp == VK_UP) == false;//!get_direction(); unsigned newpos = m_position; if (down && m_step > m_position) newpos = 0; else if (!down && m_step + m_position > m_range) newpos = m_range; else newpos += down ? -(int)m_step : m_step; if (newpos != m_position) { set_position(newpos); if (m_host) m_host->on_position_change(m_position, false); } } if ( !(lp & (1<<31)) && (wp == VK_HOME || wp == VK_END)) { bool down = (wp == VK_END) == false;//!get_direction(); unsigned newpos = m_position; if (down) newpos = m_range; else newpos = 0; if (newpos != m_position) { set_position(newpos); if (m_host) m_host->on_position_change(m_position, false); } } } break; case WM_MOUSEWHEEL: { UINT ucNumLines=3; // 3 is the default SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &ucNumLines, 0); unsigned short fwKeys = GET_KEYSTATE_WPARAM(wp); short zDelta = GET_WHEEL_DELTA_WPARAM(wp); int xPos = GET_X_LPARAM(lp); int yPos = GET_Y_LPARAM(lp); if (ucNumLines == WHEEL_PAGESCROLL) ucNumLines = 3; int delta = MulDiv(m_step*zDelta, ucNumLines, WHEEL_DELTA); bool down = delta < 0; //if (get_direction()) down = down == false; if (!get_orientation()) down = down == false; if (m_mouse_wheel_reversed) down = down == false; unsigned offset = abs(delta); unsigned newpos = m_position; if (down && offset > m_position) newpos = 0; else if (!down && offset + m_position > m_range) newpos = m_range; else newpos += down ? -(int)offset : offset; if (newpos != m_position) { set_position(newpos); if (m_host) m_host->on_position_change(m_position, false); } } return 0; #if 0 case WM_KEYDOWN: if (wp == VK_ESCAPE) { destroy_tooltip(); if (GetCapture() == wnd) ReleaseCapture(); SetFocus(IsWindow(m_wnd_prev) ? m_wnd_prev : uFindParentPopup(wnd)); m_dragging = false; set_position_internal(m_position); return 0; } break; case WM_SETFOCUS: m_wnd_prev = (HWND)wp; break; #endif case WM_MOVE: RedrawWindow(wnd, NULL, NULL, RDW_ERASE|RDW_INVALIDATE); break; case WM_ERASEBKGND: return FALSE; case WM_PAINT: { RECT rc_client; GetClientRect(wnd, &rc_client); PAINTSTRUCT ps; HDC dc = BeginPaint(wnd, &ps); RECT rc_thumb; get_thumb_rect(&rc_thumb); RECT rc_track; //channel get_channel_rect(&rc_track); //Offscreen rendering to eliminate flicker HDC dc_mem = CreateCompatibleDC(dc); //Create a rect same size of update rect HBITMAP bm_mem = CreateCompatibleBitmap(dc, rc_client.right, rc_client.bottom); HBITMAP bm_old = (HBITMAP)SelectObject(dc_mem, bm_mem); //we should always be erasing first, so shouldn't be needed BitBlt(dc_mem, 0, 0, rc_client.right, rc_client.bottom, dc, 0, 0, SRCCOPY); if (ps.fErase) { draw_background(dc_mem, &rc_client); } draw_channel(dc_mem, &rc_track); draw_thumb(dc_mem, &rc_thumb); BitBlt(dc, 0, 0, rc_client.right, rc_client.bottom, dc_mem, 0, 0, SRCCOPY); SelectObject(dc_mem, bm_old); DeleteObject(bm_mem); DeleteDC(dc_mem); EndPaint(wnd, &ps); } return 0; } return DefWindowProc(wnd, msg, wp, lp); }
static int cpufreq_constructor(Plugin *p, char** fp) { cpufreq *cf; GtkWidget *button; ENTER; cf = g_new0(cpufreq, 1); cf->governors = NULL; cf->cpus = NULL; g_return_val_if_fail(cf != NULL, 0); p->priv = cf; p->pwid = gtk_event_box_new(); GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW ); gtk_container_set_border_width( GTK_CONTAINER(p->pwid), 2 ); cf->namew = gtk_image_new_from_file(PROC_ICON); gtk_container_add(GTK_CONTAINER(p->pwid), cf->namew); cf->main = p->pwid; cf->tip = gtk_tooltips_new(); #if GLIB_CHECK_VERSION( 2, 10, 0 ) g_object_ref_sink( cf->tip ); #else g_object_ref( cf->tip ); gtk_object_sink( cf->tip ); #endif g_signal_connect (G_OBJECT (p->pwid), "button_press_event", G_CALLBACK (clicked), (gpointer) p); cf->has_cpufreq = 0; get_cpus(cf); /* line s; s.len = 256; if (fp) { while (lxpanel_get_line(fp, &s) != LINE_BLOCK_END) { if (s.type == LINE_NONE) { ERR( "cpufreq: illegal token %s\n", s.str); goto error; } if (s.type == LINE_VAR) { if (!g_ascii_strcasecmp(s.t[0], "DefaultGovernor")){ //cf->str_cl_normal = g_strdup(s.t[1]); }else { ERR( "cpufreq: unknown var %s\n", s.t[0]); continue; } } else { ERR( "cpufreq: illegal in cfis context %s\n", s.str); goto error; } } }*/ update_tooltip(cf); cf->timer = g_timeout_add(2000, (GSourceFunc)update_tooltip, (gpointer)cf); gtk_widget_show(cf->namew); RET(TRUE); /*error: RET(FALSE);*/ }
void load_interface(cam* cam) { gchar *title; GdkPixbuf *logo = NULL; GtkTreeView* treeview = GTK_TREE_VIEW(glade_xml_get_widget(cam->xml, "treeview_effects")); GtkCellRenderer* cell; menu_item_filter_type = g_quark_from_static_string("camorama-menu-item-filter-type"); /* set up the tree view */ cell = gtk_cell_renderer_text_new(); g_object_set(cell, "ellipsize", PANGO_ELLIPSIZE_END, NULL); gtk_cell_renderer_text_set_fixed_height_from_font(GTK_CELL_RENDERER_TEXT(cell), 1); gtk_tree_view_insert_column_with_attributes(treeview, -1, _("Effects"), cell, "text", CAMORAMA_FILTER_CHAIN_COL_NAME, NULL); cam->filter_chain = camorama_filter_chain_new(); gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(cam->filter_chain)); g_object_unref(cam->filter_chain); g_signal_connect_swapped(treeview, "button-press-event", G_CALLBACK(treeview_clicked_cb), cam); g_signal_connect_swapped(treeview, "popup-menu", G_CALLBACK(treeview_popup_menu_cb), cam); logo = gtk_icon_theme_load_icon(gtk_icon_theme_get_for_screen(gtk_widget_get_screen(glade_xml_get_widget(cam->xml, "main_window"))), CAMORAMA_STOCK_WEBCAM, 24, 0, NULL); gtk_window_set_default_icon(logo); logo = (GdkPixbuf *) create_pixbuf (PACKAGE_DATA_DIR "/pixmaps/camorama.png"); if (logo == NULL) { printf ("\n\nLOGO NO GO\n\n"); } if (cam->show_adjustments == FALSE) { gtk_widget_hide (glade_xml_get_widget (cam->xml, "adjustments_table")); gtk_window_resize (GTK_WINDOW (glade_xml_get_widget (cam->xml, "main_window")), 320, 240); } gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(glade_xml_get_widget(cam->xml, "showadjustment_item")), cam->show_adjustments); if (cam->show_effects == FALSE) { gtk_widget_hide (glade_xml_get_widget (cam->xml, "scrolledwindow_effects")); gtk_window_resize (GTK_WINDOW (glade_xml_get_widget (cam->xml, "main_window")), 320, 240); } gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(glade_xml_get_widget(cam->xml, "show_effects")), cam->show_effects); cam->tray_icon = gtk_status_icon_new_from_stock (CAMORAMA_STOCK_WEBCAM); update_tooltip (cam); /* add the status to the plug */ g_object_set_data (G_OBJECT (cam->tray_icon), "available", GINT_TO_POINTER (1)); g_object_set_data (G_OBJECT (cam->tray_icon), "embedded", GINT_TO_POINTER (0)); g_signal_connect (cam->tray_icon, "popup-menu", G_CALLBACK (tray_clicked_callback), cam); /* connect the signals in the interface * glade_xml_signal_autoconnect(xml); * this won't work, can't pass data to callbacks. have to do it individually :(*/ title = g_strdup_printf ("Camorama - %s - %dx%d", cam->vid_cap.name, cam->x, cam->y); gtk_window_set_title (GTK_WINDOW (glade_xml_get_widget (cam->xml, "main_window")), title); g_free (title); gtk_window_set_icon (GTK_WINDOW (glade_xml_get_widget (cam->xml, "main_window")), logo); gtk_window_set_icon (GTK_WINDOW (glade_xml_get_widget (cam->xml, "prefswindow")), logo); glade_xml_signal_connect_data (cam->xml, "on_show_effects_activate", G_CALLBACK (on_show_effects_activate), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "togglebutton1"), cam->show_adjustments); glade_xml_signal_connect_data (cam->xml, "on_show_adjustments_activate", G_CALLBACK (on_show_adjustments_activate), cam); glade_xml_signal_connect_data (cam->xml, "on_large_activate", G_CALLBACK (on_change_size_activate), cam); glade_xml_signal_connect_data (cam->xml, "on_medium_activate", G_CALLBACK (on_change_size_activate), cam); glade_xml_signal_connect_data (cam->xml, "on_small_activate", G_CALLBACK (on_change_size_activate), cam); //glade_xml_signal_connect_data(cam->xml, "capture_func", G_CALLBACK(on_change_size_activate), cam); glade_xml_signal_connect_data (cam->xml, "capture_func", G_CALLBACK (capture_func), cam); glade_xml_signal_connect_data (cam->xml, "gtk_main_quit", G_CALLBACK (delete_event), NULL); /* sliders */ glade_xml_signal_connect_data (cam->xml, "contrast_change", G_CALLBACK (contrast_change), cam); gtk_range_set_value ((GtkRange *) glade_xml_get_widget (cam->xml, "slider2"), (int) (cam->contrast / 256)); glade_xml_signal_connect_data (cam->xml, "brightness_change", G_CALLBACK (brightness_change), cam); gtk_range_set_value ((GtkRange *) glade_xml_get_widget (cam->xml, "slider3"), (int) (cam->brightness / 256)); glade_xml_signal_connect_data (cam->xml, "colour_change", G_CALLBACK (colour_change), cam); gtk_range_set_value ((GtkRange *) glade_xml_get_widget (cam->xml, "slider4"), (int) (cam->colour / 256)); glade_xml_signal_connect_data (cam->xml, "hue_change", G_CALLBACK (hue_change), cam); gtk_range_set_value ((GtkRange *) glade_xml_get_widget (cam->xml, "slider5"), (int) (cam->hue / 256)); glade_xml_signal_connect_data (cam->xml, "wb_change", G_CALLBACK (wb_change), cam); gtk_range_set_value ((GtkRange *) glade_xml_get_widget (cam->xml, "slider6"), (int) (cam->wb / 256)); /* buttons */ glade_xml_signal_connect_data (cam->xml, "on_status_show", G_CALLBACK (on_status_show), (gpointer) cam); glade_xml_signal_connect_data (cam->xml, "on_quit_activate", G_CALLBACK (on_quit_activate), (gpointer) cam); glade_xml_signal_connect_data (cam->xml, "on_preferences1_activate", G_CALLBACK (on_preferences1_activate), (gpointer) cam); glade_xml_signal_connect_data (cam->xml, "on_about_activate", G_CALLBACK (on_about_activate), (gpointer) cam); /* prefs */ glade_xml_signal_connect_data (cam->xml, "prefs_func", G_CALLBACK (prefs_func), cam); /* general */ glade_xml_signal_connect_data (cam->xml, "cap_func", G_CALLBACK (cap_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "captured_cb"), cam->cap); glade_xml_signal_connect_data (cam->xml, "rcap_func", G_CALLBACK (rcap_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "rcapture"), cam->rcap); glade_xml_signal_connect_data (cam->xml, "acap_func", G_CALLBACK (acap_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "acapture"), cam->acap); glade_xml_signal_connect_data (cam->xml, "interval_change", G_CALLBACK (interval_change), cam); gtk_spin_button_set_value ((GtkSpinButton *) glade_xml_get_widget (cam->xml, "interval_entry"), (cam->timeout_interval / 60000)); /* local */ dentry = glade_xml_get_widget (cam->xml, "dentry"); entry2 = glade_xml_get_widget (cam->xml, "entry2"); gtk_entry_set_text (GTK_ENTRY (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (dentry))), cam->pixdir); gtk_entry_set_text (GTK_ENTRY (entry2), cam->capturefile); glade_xml_signal_connect_data (cam->xml, "append_func", G_CALLBACK (append_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "appendbutton"), cam->timefn); glade_xml_signal_connect_data (cam->xml, "jpg_func", G_CALLBACK (jpg_func), cam); if (cam->savetype == JPEG) { gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "jpgb"), TRUE); } glade_xml_signal_connect_data (cam->xml, "png_func", G_CALLBACK (png_func), cam); if (cam->savetype == PNG) { gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "pngb"), TRUE); } glade_xml_signal_connect_data (cam->xml, "ts_func", G_CALLBACK (ts_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "tsbutton"), cam->timestamp); /* remote */ login_entry = glade_xml_get_widget (cam->xml, "login_entry"); host_entry = glade_xml_get_widget (cam->xml, "host_entry"); pw_entry = glade_xml_get_widget (cam->xml, "pw_entry"); directory_entry = glade_xml_get_widget (cam->xml, "directory_entry"); filename_entry = glade_xml_get_widget (cam->xml, "filename_entry"); gtk_entry_set_text (GTK_ENTRY (host_entry), cam->rhost); gtk_entry_set_text (GTK_ENTRY (login_entry), cam->rlogin); gtk_entry_set_text (GTK_ENTRY (pw_entry), cam->rpw); gtk_entry_set_text (GTK_ENTRY (directory_entry), cam->rpixdir); gtk_entry_set_text (GTK_ENTRY (filename_entry), cam->rcapturefile); glade_xml_signal_connect_data (cam->xml, "rappend_func", G_CALLBACK (rappend_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "timecb"), cam->rtimefn); glade_xml_signal_connect_data (cam->xml, "rjpg_func", G_CALLBACK (rjpg_func), cam); if (cam->rsavetype == JPEG) { gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "fjpgb"), TRUE); } glade_xml_signal_connect_data (cam->xml, "rpng_func", G_CALLBACK (rpng_func), cam); if (cam->rsavetype == PNG) { gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "fpngb"), TRUE); } glade_xml_signal_connect_data (cam->xml, "rts_func", G_CALLBACK (rts_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "tsbutton2"), cam->rtimestamp); /* timestamp */ glade_xml_signal_connect_data (cam->xml, "customstring_func", G_CALLBACK (customstring_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "cscb"), cam->usestring); string_entry = glade_xml_get_widget (cam->xml, "string_entry"); gtk_entry_set_text (GTK_ENTRY (string_entry), cam->ts_string); glade_xml_signal_connect_data (cam->xml, "drawdate_func", G_CALLBACK (drawdate_func), cam); gtk_toggle_button_set_active ((GtkToggleButton *) glade_xml_get_widget (cam->xml, "tscb"), cam->usedate); cam->status = glade_xml_get_widget (cam->xml, "status"); set_sensitive (cam); gtk_widget_set_sensitive (glade_xml_get_widget (cam->xml, "string_entry"), cam->usestring); gtk_widget_set_size_request (glade_xml_get_widget (cam->xml, "da"), cam->x, cam->y); prefswindow = glade_xml_get_widget (cam->xml, "prefswindow"); }