static int edit_margin(void *data) { EDITINFO *einf = (EDITINFO *) data; einf->empty = window_empty(einf->info); if (!einf->view_mode && !einf->shell) { if (!einf->auto_saved) einf->auto_saved = einf->empty; else if (change_check) einf->auto_saved = !window_changed(einf->info) || einf->empty; if ((!einf->auto_saved && einf->saved) || (!einf->saved && einf->empty)) { einf->saved = !einf->saved; set_name(einf, einf->pathname); } } return -scrollbar_line(einf->scrollhor, 0) * font_width() + 3; }
void WindowsHandler::window_changed_slot( WId window_P, unsigned int flags_P ) { if( signals_enabled ) emit window_changed( window_P, flags_P ); }
void edit_open(void) { int x = INTERSPACE; int y = INTERSPACE; unsigned int w=4,h=4; int i; XSizeHints size_hints; EDITINFO *einf; state_window = NULL; if ( (einf = (EDITINFO *) malloc( sizeof(EDITINFO) )) == NULL) message(MP_ERROR, translate("Out of memory in edit.")); else { if (!state_open) if (!last_xpos && !last_ypos) { last_xpos = (display_width - last_width)/2; last_ypos = (display_height - last_height)/2; } einf->xpos = last_xpos; einf->ypos = last_ypos; einf->width = last_width; einf->height = last_height; einf->saved = MP_True; einf->auto_saved = MP_True; einf->view_mode = MP_False; einf->empty = MP_True; einf->iconized = MP_True; einf->shell = MP_False; einf->fini = MP_False; einf->strt = MP_False; einf->buflen=0; einf->pid=0; einf->prcsbuf=NULL; einf->win_id = XCreateWindow(display, root_window, einf->xpos, einf->ypos, einf->width, einf->height, BORDERWIDTH, CopyFromParent, InputOutput, visual, edit_mask, &edit_attr); if (state_open) size_hints.flags = USPosition | USSize | PMinSize; else size_hints.flags = PPosition | PSize | PMinSize; wm_hints.initial_state = ((iconic || as_icon) ? IconicState : NormalState); size_hints.min_width = size_hints.min_height = pos_y_with + SCROLLBARSIZE*3; XSetWMProperties(display, einf->win_id, NULL, NULL, NULL, 0, &size_hints, &wm_hints, &class_hints); wm_hints.initial_state = NormalState; set_protocols(einf->win_id); i=0; einf->headername = NULL; einf->filename = NULL; einf->pathname = NULL; einf->outputname = NULL; if (set_name(einf, NULL) && add_window(einf->win_id, MAINEDITWINDOW, root_window, (void *) einf, translate(helpname[EDITHELP]))) { while (i<NR_BUTTON && button_make(i, einf->win_id, translate(editbutton[perm[i]]), &x, y, 1, (void*) einf, helpname[edithelp[i]], NULL, NULL, edit_handle_button, edit_handle_button, edit_handle_button, NULL)) i++,x+=BINTERSPACE; w = sub_width(last_width); h = sub_height(last_height); if (i==NR_BUTTON) { einf->drawwin_id = XCreateWindow(display, einf->win_id, pos_x_with, pos_y_with, w-2, h-2, 1, CopyFromParent, InputOutput, visual, edit_mask, &edit_attr); if (add_window(einf->drawwin_id, EDITWINDOW, einf->win_id, NULL, translate(helpname[EDITSUBHELP]))) i++; } if (i==NR_BUTTON +1 && (einf->scrollhor = scrollbar_make(HORIZONTAL, einf->win_id, pos_x_with, pos_y_without, w, font_width(), edit_scrollto, (void*) einf))) i++; if (i==NR_BUTTON+2 && (einf->scrollver = scrollbar_make(VERTICAL, einf->win_id, pos_x_without, pos_y_with, h, line_height(), edit_scrollto, (void*) einf))) i++; } if (i<NR_BUTTON+3) { free(einf->headername); free(einf->pathname); free(einf->filename); XDestroyWindow(display, einf->win_id); destroy_window(einf->win_id); } else { is_opened = MP_True; scrollbar_set(einf->scrollver, 0, 1); scrollbar_set(einf->scrollhor, 0, 80); move_selection = !as_icon; einf->info = open_editwindow(&einf->drawwin_id, w-2, h-2); move_selection = MP_False; (void) window_changed(einf->info); number_icon++; number_open++; edit_is_open = MP_True; edit_iconized = (number_icon==number_open); state_window = einf; XMapSubwindows(display, einf->win_id); XMapWindow(display, einf->win_id); } } }
void WindowsHandler::window_changed_slot( WId window_P ) { if( signals_enabled ) emit window_changed( window_P ); }