Subversion Repositories Filer-Free

Rev

Rev 56 | Rev 58 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 56 Rev 57
Line 256... Line 256...
256
 
256
 
257
                        // Begin the drag with this sprite.
257
                        // Begin the drag with this sprite.
258
                        begin_drag(block,sprite.name());
258
                        begin_drag(block,sprite.name());
259
                }
259
                }
260
        }
260
        }
261
        else if (block.buttons&(wimp_SINGLE_SELECT|wimp_SINGLE_ADJUST))
261
        else if (block.buttons&wimp_SINGLE_ADJUST)
262
        {
262
        {
263
                // If single select click then first de-select everything.
263
                // Invert selection state of cell under pointer.
264
                if (block.buttons&wimp_SINGLE_SELECT) select_all(0);
-
 
265
 
-
 
266
                // If click within a cell then select that cell.
-
 
267
                if (index!=directory::npos)
264
                if (index!=directory::npos)
268
                {
265
                {
269
                        _directory[index].selected(!_directory[index].selected());
266
                        _directory[index].selected(!_directory[index].selected());
270
                        force_redraw_cell(index);
267
                        force_redraw_cell(index);
271
                }
268
                }
272
        }
269
        }
-
 
270
        else if (block.buttons&wimp_SINGLE_SELECT)
-
 
271
        {
-
 
272
                // No action if over a cell which is already selected.
-
 
273
                if (index==directory::npos||!_directory[index].selected())
-
 
274
                {
-
 
275
                        // De-select everything.
-
 
276
                        select_all(0);
-
 
277
 
-
 
278
                        // Select cell under pointer.
-
 
279
                        if (index!=directory::npos)
-
 
280
                        {
-
 
281
                                _directory[index].selected(true);
-
 
282
                                force_redraw_cell(index);
-
 
283
                        }
-
 
284
                }
-
 
285
        }
273
 
286
 
274
        // If this window has closed as a result of the mouse event
287
        // If this window has closed as a result of the mouse event
275
        // then delete it.
288
        // then delete it.
276
        if (close) delete this;
289
        if (close) delete this;
277
}
290
}