Commit Graph

124 Commits

Author SHA1 Message Date
Till Adam d3625546b5 This is meant to prevent drags from one view of a dir to another view of
the same dir. Kevin, is this the right place to do this?


SVN revision: 5986
2002-02-26 18:56:54 +00:00
rephorm a7e397198d RIP!
No more epplet support.
It should once again compile regardless of whether ferite is used or not.


SVN revision: 5981
2002-02-26 01:25:35 +00:00
Till Adam 5744b944d6 ok folks, here goes. The multiple view stuff as discussed in lenght. I've managed to get metadata back up, views save
their geometry on close. I'll start getting the documentation back in sync and commenting some more. Could anyone
willing to clean up/fix either the iconbar dnd stuff and/or the regular dnd stuff please announce it, so we dont start
duplicating work. Thanks.


SVN revision: 5977
2002-02-25 18:09:13 +00:00
rephorm abf7d8f0ee some patches by Nicolas Pomarede:
LMB will scroll one screen when pressed in the scrollbar area.
Middle and Right MB will move the scroll bar slider to the clicked
position directly.

So this is rather similar to the behaviour we have in standard GTK apps
for example.

Also, I corrected a small bug in view.c and scrollbar.c that could lead to
the scrollbar beeing redrawn outside the view (because "value" was
recalculated before "range" and "max" were set ; and since value depends
on max and range, this could lead to value of value that were too big).

Thanks Nicolas!


SVN revision: 5976
2002-02-24 06:48:14 +00:00
rephorm 419af7eb81 allow drops from the same view.
The matching_drop_attempt flag was set, so it should handle the drop regardless of whether the same view or not, since it checks for the flag later.

Now you can drop icons from the desktop to the iconbar.


SVN revision: 5960
2002-02-20 05:09:00 +00:00
rephorm d5f6a3f256 drag and drop view icons onto the iconbar to add em. They get the same icon as t
he view gave em, so its a little bland now. Icon changing may come soon.


SVN revision: 5958
2002-02-20 03:47:13 +00:00
atmosphere d41b943d28 use a little more of the bg code in views
SVN revision: 5953
2002-02-18 14:42:57 +00:00
atmosphere 751ea8b62c clean up bgs properly(i think)
The old background code(background.c) had
e_object_init(E_OBJECT(bg), (E_Cleanup_Func) e_background_cleanup);
in the e_background_new function which isn't being used anymore

I don't fully understand the way the E_Object stuff would work with this or
if this is ok since ebg is its own separate library now.


SVN revision: 5943
2002-02-16 22:39:19 +00:00
rephorm 195f2407e9 This should fix the iconified menu segfaulting problem. The menu now get rebuilt when you middle click, if things have changed.
SVN revision: 5877
2002-01-28 05:41:29 +00:00
rephorm dd0f8bf0fd move the background usage over to edb. background.c,h are no longer used.
so if you haven't installed ebg, go get it.


SVN revision: 5860
2002-01-26 02:01:42 +00:00
rephorm ffcb25ea12 E_EVENT system is now a bit map, allowing one observer to watch MANY events, for instance: E_EVENT_BORDER_ICONIFY | E_EVENT_BORDER_UNICONIFY | E_EVENT_BORDER_NEW, etc. I also made it so that the current event is passed when notifying, so that if watching multiple events, you can do different things for each.
added an e_observer_notify_all_observees() to notify all existing observees of things, such as the creation of a border. This way, an observer can watch for E_EVENT_BORDER_NEW events and register all new borders.

Iconification! Click that iconify button. Then click the middle button on the desktop to get a menu of iconified apps to uniconify. This menu is a decent example of using the observer code to avoid polling or rebuilding more than necessary. Next, maybe instead of completely rebuilding each time something changes, maybe it should dynamically add or remove the respective menu items?


SVN revision: 5854
2002-01-24 08:12:12 +00:00
rephorm dbc39567f3 buffer overflow prevention....
SVN revision: 5853
2002-01-24 06:15:40 +00:00
rephorm 515693292b oops. didn't mean to change that.
maybe we should get the prefix for gnome from gnome-config --prefix?


SVN revision: 5852
2002-01-24 01:11:13 +00:00
rephorm 3e09f77dbd A bunch of little changes.
Added basic iconification implementation, including menu for iconified windows, however this is buggy and doesn't work correctly yet, and is therefore commented out. But maybe someone can take the framework and fix it?

Added ferite wrapping for timers.


SVN revision: 5851
2002-01-24 01:08:52 +00:00
rephorm 455555b3ce Epplets!
Quite a bit has been implemented. Check the data/epplets dir for examples.

Currently the only loading method is a file called .e_epplets.bits.db which contains bits whose names are equal to the epplet name, and whose geometry is the default epplet geometry (unless overridden in the script).

The idea being that one could set up an entire desktop epplet layout within one file, making it easily transferable.

So, to use epplets make sure you copy the default epplets.bits.db to ~/.e/desktop/default/.e_epplets.bits.db

Also, make sure you update ebits


SVN revision: 5826
2002-01-11 23:53:20 +00:00
rephorm 84d0e5b50a convert scrollbar to object system
get rid of compiler warnings


SVN revision: 5823
2002-01-07 01:37:39 +00:00
rephorm 28f489bd50 Allow scrollbars with width/height other than 12
Click in trough scrolls to that point.


SVN revision: 5819
2002-01-06 10:22:31 +00:00
rephorm 267a5ab397 Got rid of compiler warnings.
Added window spacing, so file icons will not appear underneath iconbars.
Currently, icons are placed twice as far from the left/top as the spacing.window.l,t designate. To compensate, the spacing is set to half the actual value. This needs fixing.

It seems as though there are a few other bugs in e_icon_apply_xy() also. (multiple line views don't seem to work quite right, icons on the bottom line are in the middle, and other lines seem right justified. a bit odd).


SVN revision: 5815
2002-01-05 05:01:08 +00:00
sleuth 17ed728818 Cleanup a couple warnings. Thanks cK!
Kevin Brosius <cobra@compuserve.com>


SVN revision: 5784
2001-12-19 03:30:47 +00:00
sleuth 329a5da29d dnd source icon changes based on drop action requested+target
allowed action.  We can also change cursor/drag window based on the
state info available.  I haven't tackled that yet.

Kevin Brosius <cobra@compuserve.com>


SVN revision: 5765
2001-12-12 23:58:45 +00:00
Carsten Haitzler a429866d9b aaah - oops - yeah.. no iw as trying to remove the extraneous \r\n at the
end.. i forgot to append to the right spot in the string.. i've simplified
it now :)


SVN revision: 5758
2001-12-09 01:24:44 +00:00
sleuth 2663676042 Broken multi-file drops...
Kevin Brosius <cobra@compuserve.com>


SVN revision: 5757
2001-12-08 21:07:44 +00:00
Carsten Haitzler 3e72ecf27a aha! ok... lots of stuff here...
1. now xdnd works to apps:
   tested:
     gmc
     mozilla
     xmms
     ee
2. dnd works bewteen e17 views too

3. cleaned up a little (the uri format was a little wrong)

4. notice fixme's - yes we need to have ways of copying and moving etc. files.
   efm did this - imho right. right mouse drag always pops up a menu asking
   what you want to do. left mosue drag always moves. current shift+left
   copies. we can add ctrl+left links etc. - but these shoudl eventually
   be configurable. i think this will keep everyone happy.


SVN revision: 5756
2001-12-08 06:34:06 +00:00
sleuth c300cb9506 Don't de-select icons unless they are removed from the view.
(Also fixes case if you remove a file behind E's back.)
Free items on icon deletion.

Kevin Brosius <cobra@compuserve.com>


SVN revision: 5754
2001-12-08 04:11:48 +00:00
rbdpngn 23ac2be6cf D'oh! That previous 2 liner should have been a 1 liner. :-) Forgot to remove a
an unused variable.


SVN revision: 5750
2001-12-06 22:33:35 +00:00
rbdpngn 306cd85ff4 2 liner to fix some selection artifacts left behind when dragging files to
other views.


SVN revision: 5749
2001-12-06 22:32:04 +00:00
sleuth 510d0ded29 Preliminary dnd support. Dragging from and to views works, with a
default mode of move.  Hold 'shift' for copy.  No visible feedback
of actions occurs yet, but you'll see the view update as soon as efsd
reports the file changes.  Tested, but be careful around files you care
about.  Moves and copys use efsd_move and efsd_copy, without the force
option.  So source files will not overwrite the destination if it exists.

Kevin Brosius <cobra@compuserve.com>


SVN revision: 5747
2001-12-06 02:50:17 +00:00
Carsten Haitzler ee82a15d31 add stuff to e_setup.. dialog has buttons now. fixed bug with view with bg
addition not working.


SVN revision: 5738
2001-11-26 13:08:34 +00:00
cpk 630bf3c408 Efsd updates. Now I remember what I forgot in the efsd commit comment --
I changed the name of some of the convenience calls from efsd_reply_...
to efsd_event_... because they're no longer applicable to reply events
only.

I've also hooked in a cleanup function for Efsd when E exits, and
duplicated memory when accessing a returned metadata string.


SVN revision: 5736
2001-11-26 01:10:48 +00:00
Carsten Haitzler 0ce64e39cf and in an optimising spree i broke the bg reload if you replaced the file..
fix fix fix :)


SVN revision: 5734
2001-11-25 12:49:39 +00:00
Carsten Haitzler f6b9e19fce there we go.. fix fix
SVN revision: 5733
2001-11-25 12:40:08 +00:00
Carsten Haitzler 3cbfb2d937 working on the iconbar. it now accepts scroll arrows in the iconbar bit - u
can scroll around 9if you have too many icons to fit) it also will clip the
icons to the icon area. also u can scroll the icons up and down the bar to a
position you like. a new test iconbar bit to demo this too.


SVN revision: 5726
2001-11-24 05:54:32 +00:00
Carsten Haitzler 84fae7ac6d mah mah mah... fixed soem initial placement probs related to being too keen
on changing borders all the time.. shoudl be more efficent and faster now too


SVN revision: 5722
2001-11-20 07:01:53 +00:00
Carsten Haitzler d90ac55831 consolidate.. consolidate..
SVN revision: 5721
2001-11-18 21:43:50 +00:00
Carsten Haitzler 7e0be252dc centralise all the bg handling in views...
SVN revision: 5720
2001-11-18 21:28:35 +00:00
Carsten Haitzler 63a1f60f6e and make the metada get for view bg go thru the same path.
SVN revision: 5719
2001-11-18 21:09:07 +00:00
Carsten Haitzler c12f765fef and handle delete
SVN revision: 5710
2001-11-17 04:21:48 +00:00
Carsten Haitzler 61e8ed8286 and handle adds
SVN revision: 5709
2001-11-17 04:19:02 +00:00
Carsten Haitzler febd6d0d43 bacgkroudns of views now watch for the background file to change... if it
does.. the background changes - hand for setting your own root bg.. just use
ebony.. save it and:

cp file.bg.db ~/.e.desktop/default/.e_background.bg.db


SVN revision: 5708
2001-11-17 02:45:43 +00:00
cpk c728727b17 * s/mulit/multi/ :)
* slight improvement in the menu handling -- when something was selected,
don't pop up menus when the user just clicks, but only unselect
everything. I think it's pretty irritating when the user just wants to
get rid of the selection and keeps getting menu popups.


SVN revision: 5617
2001-11-03 15:33:21 +00:00
cpk a708bdfd42 * More cleanups. I took out everything related only to icon handling
from the view code, and put it into icons.[ch].

* Added the relative desktop move path from Alan Schmitt.


SVN revision: 5616
2001-11-03 14:55:21 +00:00
cpk 59b09b8121 Dammit. Sorry.
SVN revision: 5615
2001-11-03 11:47:07 +00:00
cpk 381e4bbd54 Oops. This leaks. Drip drip.
SVN revision: 5614
2001-11-03 10:59:17 +00:00
cpk c1299402ad dumdedum ...
SVN revision: 5612
2001-11-03 09:21:51 +00:00
cpk 7d1f797075 Removed some debugging output etc.
SVN revision: 5611
2001-11-03 09:18:50 +00:00
cpk 454d2b917a * replaced printf()s with D()s.
* cleaned up functions in utils in file utils and others, there's a
new file.[ch] for the file-related helpers.
* Added stat info to E_Icon, watch how directories become grayed when
you cannot access them :)


SVN revision: 5610
2001-11-03 09:07:40 +00:00
cpk 02379472ae Alright, I spent some time now reading e17's code. Here's what
I've changed, this is big, so read this carefully :)

* I've added debugging macros for messages and function call
tracing. Usage:

  D("Creating item %i %i %i\n", x, y, z);

Define DEBUG to use the D macro.

  D_ENTER;
  D_RETURN;
  D_RETURN_(x);

These are for call tracing. Use D_RETURN_(x) when returning
something from a function. Define DEBUG_NEST to use this.

* added iconbar header file to Makefile.am
* added proper new()/cleanup() calls for E_Delayed_Action;

* I've completely rewritten the object and observer handling. Bye
bye macros, this was nasty. It'll be hard enough to avoid leaks
with usecounting in C. We now basically have the same system as gtk.
There's a clear separation of observer and object code now.
An E_Object by itself has nothing to do with observing or being
observed, therefore, there are now E_Observers and E_Observees
that are derived from E_Object. IMPORTANT: The cleanup system now
reflects the reference count system, therefore, all ..._free()
calls are now static, because the destructor should never be called explicitly, but implicitly through e_object_unref(). The object handling
now is as follows:

  - The cleanup functions clean up everything that is contained in
a struct, but NOT the struct itself. Instead of the final
free() call, they call the destructor of the base class. The
calls will walk up the hierarchy and clean up what's contained in
every struct, and the final e_object_cleanup() will free the
structure itself. E_Delayed_Action is a good example.

  - The only calls that influence the reference count are
e_object_ref() and e_object_unref(). If you need to do things
before an object gets destroyed, you can query the use count using
e_object_get_usecount() and check if it's equal to 1. So this:

  OBJ_UNREF(b);
  OBJ_IF_FREE(b)
   {
     ecore_window_reparent(e->win, 0, 0, 0);
     e_icccm_release(e->win);
     OBJ_FREE(b);
   }

   now is this:

  if (e_object_get_usecount(E_OBJECT(b)) == 1)
    {
      ecore_window_reparent(e->win, 0, 0, 0);
      e_icccm_release(e->win);
    }

   e_object_unref(E_OBJECT(b));

object.h and observer.h are completely commented, it shouldn't be
too hard to understand. This'll need to be documented in the manual
anyway.

* E_Objects are now used in lots of places where void* were used as
pointers to objects before, especially in the actions code. This is
obviously better, as it will generate compiler warnings when people
want to pass things to functions that expect E_Objects. This could
probably be more restrictive.

* Added typedefs for the function prototypes in E_Action_Impl. Those
fat signatures were just painful to read in the function
declarations/implementations.

* I've also tried to give parameters more useful names. Calling an
object "o" is a lot of fun when you want to grep for it.

* Included is also Graham's latest menu.c patch. Sorry for the
delay, Graham.

* I've added checks to the menu code that make sure that menus
don't pop up when they're empty (which resulted in a little useless
rectangle).

I guess that's it for now. Sorry if I broke anything, but this was
necessary imho.


SVN revision: 5605
2001-11-02 17:07:52 +00:00
cpk f70c75f5c7 I've started to read the code again and added comments here and there.
Also updated the manual.


SVN revision: 5603
2001-11-01 23:54:48 +00:00
Carsten Haitzler 6266018527 aaah..
click to focus actually works now.. wheeee :) as does alt+drag and other
bindings u can add to a window.... :)


SVN revision: 5596
2001-10-30 11:07:12 +00:00
Carsten Haitzler 65a78e8947 iconbar now auto-reload when u twiddle with the files. YAY! :)
SVN revision: 5534
2001-10-20 06:13:12 +00:00