/[qemacs]/qemacs/bufed.c
ViewVC logotype

Diff of /qemacs/bufed.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by chqrlie, Mon May 9 01:29:34 2005 UTC revision 1.4 by chqrlie, Wed May 11 15:12:14 2005 UTC
# Line 42  static void build_bufed_list(EditState * Line 42  static void build_bufed_list(EditState *
42    
43      free_strings(&hs->items);      free_strings(&hs->items);
44      for (b = qs->first_buffer; b != NULL; b = b->next) {      for (b = qs->first_buffer; b != NULL; b = b->next) {
45          if (!(b->flags & BF_SYSTEM) || (hs->flags & BUFED_ALL_VISIBLE))          if (!(b->flags & BF_SYSTEM) || (hs->flags & BUFED_ALL_VISIBLE))
46              add_string(&hs->items, b->name);              add_string(&hs->items, b->name);
47      }      }
48            
# Line 51  static void build_bufed_list(EditState * Line 51  static void build_bufed_list(EditState *
51      eb_delete(b, 0, b->total_size);      eb_delete(b, 0, b->total_size);
52      for (i = 0; i < hs->items.nb_items; i++) {      for (i = 0; i < hs->items.nb_items; i++) {
53          eb_printf(b, " %-20s", hs->items.items[i]->str);          eb_printf(b, " %-20s", hs->items.items[i]->str);
54          b1 = eb_find(hs->items.items[i]->str);          b1 = eb_find(hs->items.items[i]->str);
55          if (b1) {          if (b1) {
56              /* CG: should also display mode */              /* CG: should also display mode */
57              eb_printf(b, " %10d  %s", b1->total_size, b1->filename);              eb_printf(b, " %10d  %s", b1->total_size, b1->filename);
58          }          }
59          eb_printf(b, "\n");          eb_printf(b, "\n");
60      }      }
61      s->offset = eb_goto_pos(s->b, last_index, 0);      s->offset = eb_goto_pos(s->b, last_index, 0);
62  }  }
# Line 86  static void bufed_select(EditState *s, i Line 86  static void bufed_select(EditState *s, i
86          return;          return;
87    
88      if (temp && index == bs->last_index)      if (temp && index == bs->last_index)
89          return;          return;
90    
91      item = bs->items.items[index];      item = bs->items.items[index];
92      b = eb_find(item->str);      b = eb_find(item->str);
# Line 94  static void bufed_select(EditState *s, i Line 94  static void bufed_select(EditState *s, i
94          return;          return;
95      e = find_window(s, KEY_RIGHT);      e = find_window(s, KEY_RIGHT);
96      if (temp) {      if (temp) {
97          if (e) {          if (e) {
98              bs->last_index = index;              bs->last_index = index;
99              switch_to_buffer(e, b);              switch_to_buffer(e, b);
100          }          }
101          return;          return;
102      }      }
103      if (e) {      if (e) {
104          /* delete dired window */          /* delete dired window */
105          do_delete_window(s, 1);          do_delete_window(s, 1);
106          switch_to_buffer(e, b);          switch_to_buffer(e, b);
107      } else {      } else {
108          switch_to_buffer(s, b);          switch_to_buffer(s, b);
109      }      }
110  }  }
111    
# Line 120  void string_selection_iterate(StringArra Line 120  void string_selection_iterate(StringArra
120      int count, i;      int count, i;
121    
122      count = 0;      count = 0;
123      for(i=0;i<cs->nb_items;i++) {      for (i = 0; i < cs->nb_items; i++) {
124          item = cs->items[i];          item = cs->items[i];
125          if (item->selected) {          if (item->selected) {
126              func_item(opaque, item);              func_item(opaque, item);
# Line 175  static void do_list_buffers(EditState *s Line 175  static void do_list_buffers(EditState *s
175    
176      e1 = find_window(e, KEY_RIGHT);      e1 = find_window(e, KEY_RIGHT);
177      if (e1)      if (e1)
178          b0 = e1->b;          b0 = e1->b;
179    
180      bs = e->mode_data;      bs = e->mode_data;
181    
182      /* if active buffer is found, go directly on it */      /* if active buffer is found, go directly on it */
183      for (i = 0; i < bs->items.nb_items; i++) {      for (i = 0; i < bs->items.nb_items; i++) {
184          if (!strcmp(bs->items.items[i]->str, b0->name)) {          if (!strcmp(bs->items.items[i]->str, b0->name)) {
185              e->offset = eb_goto_pos(e->b, i, 0);              e->offset = eb_goto_pos(e->b, i, 0);
186              break;              break;
187          }          }
188      }      }
# Line 197  static void bufed_clear_modified(EditSta Line 197  static void bufed_clear_modified(EditSta
197    
198      b = bufed_get_buffer(s);      b = bufed_get_buffer(s);
199      if (!b)      if (!b)
200          return;          return;
201    
202      b->modified = 0;      b->modified = 0;
203      build_bufed_list(s);      build_bufed_list(s);
# Line 209  static void bufed_toggle_read_only(EditS Line 209  static void bufed_toggle_read_only(EditS
209    
210      b = bufed_get_buffer(s);      b = bufed_get_buffer(s);
211      if (!b)      if (!b)
212          return;          return;
213    
214      b->flags ^= BF_READONLY;      b->flags ^= BF_READONLY;
215      build_bufed_list(s);      build_bufed_list(s);
# Line 220  static void bufed_refresh(EditState *s, Line 220  static void bufed_refresh(EditState *s,
220      BufedState *bs = s->mode_data;      BufedState *bs = s->mode_data;
221    
222      if (toggle)      if (toggle)
223          bs->flags ^= BUFED_ALL_VISIBLE;          bs->flags ^= BUFED_ALL_VISIBLE;
224    
225      build_bufed_list(s);      build_bufed_list(s);
226  }  }
# Line 229  static void bufed_display_hook(EditState Line 229  static void bufed_display_hook(EditState
229  {  {
230      /* Prevent point from going beyond list */      /* Prevent point from going beyond list */
231      if (s->offset && s->offset == s->b->total_size)      if (s->offset && s->offset == s->b->total_size)
232          do_up_down(s, -1);          do_up_down(s, -1);
233    
234      bufed_select(s, 1);      bufed_select(s, 1);
235  }  }

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26