ChangeLog 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781
  1. Thu Dec 24 18:38:45 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
  2. * layout: Adapted for the new option Compute Totals in the
  3. Configuration dialog.
  4. 1998-12-22 Jonathan Blandford <jrb@redhat.com>
  5. * gdialogs.c (file_progress_query_replace_policy): new function.
  6. Currently called every time multiple files are called -- should
  7. only be called if needed.
  8. (file_progress_real_query_replace): Cleaned up some. Still has a
  9. bit of work to do, but in general, much better.
  10. Mon Dec 21 22:33:07 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
  11. * layout: Deleted obsolete widgets from the Virtual FS configuration
  12. dialog.
  13. 1998-12-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
  14. * gscreen.c (panel_icon_list_select_icon): Show the popup menu on
  15. button release here. This is what makes most sense.
  16. (panel_widget_motion): Drags with button 3 now produce a popup
  17. dialog box that asks
  18. 1998-12-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
  19. * gdialogs.c (create_op_win): Remove second spurious packing.
  20. (create_op_win): OP_MOVE uses the same stuff OP_COPY does. Fix
  21. this.
  22. (file_progress_show_target): More compliant to the original
  23. functions.
  24. (file_progress_show_source): More compliant to the original
  25. functions.
  26. * gdesktop.c (create_desktop_dir): Fix mem leak.
  27. Tue Dec 15 10:51:12 1998 Gregory McLean <gregm@comstar.net>
  28. * gdesktop-icon.c : Attach a desktop_icon wmclass to the desktop
  29. icons to allow even more wizardry with the desktop icons, mainly
  30. to exclude them from window lists, don't decorate them, skip
  31. desktops and other boring stuff.
  32. 1998-12-14 Sven Neumann <sven@gimp.org>
  33. * lightened up the dir-pixmaps a little to please your eyes and
  34. tigert ;-)
  35. 1998-12-14 Owen Taylor <otaylor@redhat.com>
  36. * gnome.TODO: Added a number of tree and icon
  37. view todos.
  38. 1998-12-14 Owen Taylor <otaylor@redhat.com>
  39. * gscreen.c (x_create_panel): Keep up with changes
  40. to GtkDockItem.
  41. 1998-12-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
  42. * gwidget.c (x_update_input): Use gtk_entry_get_text here.
  43. 1998-12-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
  44. * gscreen.c (panel_create_icon_display): Set white background.
  45. 1998-12-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
  46. * gdnd.c (perform_action): Fixed a pair of incorrect braces.
  47. Files were not being operated on because of this.
  48. 1998-12-12 Owen Taylor <otaylor@gtk.org>
  49. * gscreen.c (panel_tree_drag_motion): Doubled timeout
  50. for autoexpand - reducing opening unwanted directories.
  51. * gscreen.c (tree_drag_open_directory): Use
  52. gtk_ctree_expand() not gtk_ctree_expand_recursive,
  53. which increases confusion and could be
  54. _vvveeerrrryyyy_ expensive. (/afs ?)
  55. * gscreen.c (panel_tree_drag_leave): Fixed up
  56. signature - "drag_leave" has no x,y.
  57. * gscreen.[ch] (panel_tree_check_auto_expand): When
  58. we've expanded rows during a drag, collapse them
  59. again when the drag leaves that row.
  60. 1998-12-12 Owen Taylor <otaylor@gtk.org>
  61. * gtkdtree.c (gtk_dtree_destroy): Remove timer upon
  62. destruction to be safe. (Should this, and
  63. dtree->timer_id itself be in gscreen.c instead?)
  64. * gscreen.c (panel_tree_drag_leave): Change == to !=
  65. so that timeouts are properly removed.
  66. 1998-12-11 Matt Wilson <msw@redhat.com>
  67. * gscreen.c: The solid lines in the tree are kinda harsh. Replace
  68. them with soothing dotted lines.
  69. 1998-12-11 Matt Wilson <msw@redhat.com>
  70. * dir-open.xpm, dir-close.xpm: Away with the tacky yellow folders -
  71. I like these brown ones from tigert better.
  72. 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  73. * gpopup.c (create_actions): The tests for F_PANEL and F_DICON
  74. were wrong. Fixed them. This does not mean that the popup menus
  75. are right, though.
  76. 1998-12-11 Owen Taylor <otaylor@redhat.com>
  77. * gscreen.c gdesktop.c gdnd.h: enable dragging locale files
  78. into Netscape.
  79. 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  80. * gicon.c (gicon_get_icon_for_file): First try to fetch the inline
  81. icon data (i.e. thumbnails), second try the generic icon filename.
  82. 1998-12-11 Owen Taylor <otaylor@redhat.com>
  83. * gdesktop.c (window_button_press): Ehen cancelling editing
  84. account for clicks on other GMC windows.
  85. 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  86. * gdesktop.c (click_proxy_filter): Doh. We may get DestroyNotify
  87. for other windows than the proxy, so deal with it.
  88. 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  89. * gdesktop.c (click_proxy_button_press): Use a nice arrow cursor
  90. for rubberbanding.
  91. (click_proxy_filter): Keep a firm jaw when the window manager dies
  92. and thus the proxy window is destroyed.
  93. (setup_desktop_click_proxy_window): Moved the proxy window
  94. creation code to this function.
  95. (click_proxy_property_notify): Handle PropertyNotify events from
  96. the root window for when the proxy window changes. Now the window
  97. manager can restart itself as it pleases and GMC will handle it
  98. correctly.
  99. 1998-12-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  100. Wheeeee! Desktop icons can be selected by rubberbanding. You
  101. need Englightenment to do this, as so far it seems to be the only
  102. WM with support for the _WIN_DESKTOP_BUTTON_PROXY property.
  103. * gdesktop.c (click_proxy_filter): New event filter for button
  104. presses and releases on the root window.
  105. (click_proxy_button_press): New function to handle button presses
  106. on the desktop.
  107. (click_proxy_button_release): New function to handle button
  108. releases on the desktop.
  109. (click_proxy_motion): New function to handle rubberbanding motion
  110. on the desktop.
  111. (setup_xdnd_proxy): Flush the server after ungrabbing it.
  112. (find_click_proxy_window): Flush the server after ungrabbing it.
  113. (store_temp_selection): Stores the temporary selection to the
  114. master selection, or viceversa. This is needed for dynamic
  115. updating while the user rubberbands.
  116. (update_drag_selection): New function to update the selection
  117. while the user is rubberbanding on the desktop.
  118. (icon_is_in_area): New function to see if an icon is inside the
  119. rubberbanding area.
  120. * gdesktop-icon.h: Added fields for querying the icon and text
  121. position and size.
  122. * gdesktop-icon.c (desktop_icon_reshape): Set the position and
  123. size fields as computed for layout.
  124. 1998-12-11 Owen Taylor <otaylor@redhat.com>
  125. * gdesktop.c (editing_started): Grab on the window for the
  126. icon, not on the canvas, so we can properly detect
  127. clicks elsewhere.
  128. (icon_button_release_after): When the user stops selecting,
  129. regrab the pointer.
  130. 1998-12-11 Jonathan Blandford <jrb@redhat.com>
  131. * gtkdtree.c (gtk_dtree_do_select_dir): fixed a little bug --
  132. caused a segfault.
  133. * gscreen.c (x_create_panel): More changes. The toolbar is moved
  134. to a gtk_toolbar, and is movable. The entry will be put in it's
  135. own toolbar, too.
  136. (panel_create_cwd): For now, hardcode the usize of the entry
  137. widget. Later on, have it expand (when toolbar supports it)
  138. 1998-12-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
  139. * gcmd.c: #include "../vfs/vfs.h"
  140. * gdesktop.c (setup_icon_dnd_actions): Moved the code that calls
  141. gtk_drag_source_set() for an icon here.
  142. (editing_started): Temporarily disable drags while the icon's text
  143. is being edited.
  144. (editing_stopped): Re-enable DnD from the icon once editing has
  145. stopped.
  146. 1998-12-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
  147. * gcmd.c (gnome_close_panel): When a panel is destroyed, chdir to
  148. root directory, as the process will be holding the inode for the
  149. directory that was selected until an operation is performed in
  150. another panel.
  151. * gicon.c (gicon_get_icon_for_file): Invert the way the testing
  152. for icons is done to handle directories properly.
  153. 1998-12-10 Jonathan Blandford <jrb@redhat.com>
  154. * gscreen.c (x_create_panel): made some small stylistic changes.
  155. Also, removed the hint bar and consolidated the status bar.
  156. Thu Dec 10 21:38:55 1998 Owen Taylor <otaylor@redhat.com>
  157. * gkey.c (delete_select_channel): Fixed list handling
  158. with g_list_remove().
  159. 1998-12-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
  160. * gdesktop.c (dnd_select_icon_pending): Added this flag that
  161. specifies whether a selection is pending for an icon if the user
  162. was holding the Control key down while clicking. We have to delay
  163. selection in this case so that DnD will work correctly, just like
  164. Windows.
  165. (icon_button_press): New function that handles button presses on
  166. icons; it obsoletes the old desktop_icon_info_event().
  167. (icon_button_release): New function that handles button releases
  168. on desktop icons; it will do what is appropriate if there was a
  169. pending icon selection.
  170. (drag_begin): Handle pending selections as appropriate.
  171. (unselect_all): Added an paremeter that specifies which icon to
  172. exclude from unselection.
  173. (editing_started): Unselect all icons but the one for which
  174. editing has started.
  175. (dnd_icon_sources): Changed the MIME-types for internal drops to
  176. "application/x-mc-desktop-icon".
  177. (click_proxy_window): New variable that stores the proxy window
  178. for clicks on the desktop.
  179. (setup_desktop_clicks): New function that sets up clicks on the
  180. root window.
  181. (find_click_proxy_window): New function to find and set up the
  182. window for proxying clicks from the root window.
  183. * image.metadata.in: Added case for `jpg', as there was only a
  184. case for `jpeg'.
  185. 1998-12-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
  186. * gicon.c (gnome_file_entry_color): If we do not have permissions
  187. for this directory, indicate this with a special icon.
  188. * gscreen.c (panel_icon_list_select_icon): Middle button opens a
  189. new panel on a directory.
  190. 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
  191. * gdesktop.c: Moved the old DnD cruft to olddnd.c to keep it there
  192. for reference purposes.
  193. * gmetadata.c: Removed the gmeta_get_icon_for_file() function, as
  194. it is obsoleted by gicon_get_icon_for_file().
  195. * gdesktop.c (desktop_icon_info_new): Made it use
  196. gicon_get_icon_for_file().
  197. * gdesktop-icon.c (set_icon): Now we handle things internally
  198. using an imlib image, not a filename.
  199. (desktop_icon_new): Now takes an imlib image for the icon instead
  200. of a filename.
  201. (desktop_icon_set_icon): Likewise.
  202. 1998-12-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
  203. * gtkdtree.c (gtk_dtree_new): Use imlib's visual and colormap.
  204. * gscreen.c (panel_create_tree_view): Use the colormap and visual
  205. from imlib when creating the DTree,
  206. 1998-12-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
  207. * gdesktop.c (icon_drag_data_received): Doh. Use the correct
  208. pathname when calling gdnd_drop_on_directory().
  209. 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
  210. * gdesktop.c (desktop_icon_info_new): Do not stat the file, as we
  211. do not need that information anymore.
  212. (setup_icon_dnd_source): Moved the DnD-as-source code to here.
  213. (setup_icon_dnd_dest): New function to set up an icon as a DnD
  214. destination.
  215. * gdesktop.c (desktop_icon_info_place): Doh, do not place icons
  216. past the edge of the *whole* screen :-)
  217. (dnd_press_x dnd_press_y): New variables to store the cursor
  218. hotspot for DnD icons. Moved these over from the
  219. desktop_icon_info structure, as it does not make sense to have
  220. this inside every icon.
  221. (button_press): Use dnd_press_x and dnd_press_y.
  222. (drag_begin): Likewise.
  223. (drop_desktop_icons): Use dnd_press_x and dnd_press_y to fix the offsets.
  224. (drag_data_received): Fix the proxy window offsets for all types
  225. of targets.
  226. (drop_desktop_icons): Snap the coordinates as appropriate.
  227. 1998-12-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
  228. * gdesktop.c (drop_desktop_icons): New function to perform a drop
  229. from desktop icons to the desktop. It effectively moves the icons
  230. around.
  231. (desktop_icon_info_place): Do not place the icons past the edge of
  232. the screen.
  233. 1998-12-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
  234. * gdesktop.c (file_entry_from_file): Finished implementing
  235. file_entry_from_file().
  236. (struct desktop_icon_info): Removed the `type' field. We now stat
  237. the file when needed to figure out the file type.
  238. (desktop_icon_info_event): Test whether the file is a directory by
  239. ourselves, and if it is, open a new panel for it.
  240. (drag_data_get): Generate the uri-list for internal desktop icon
  241. drags as well.
  242. * gdesktop.c (drag_data_received): We do not need to call
  243. gtk_drag_finish(), since we are using the GTK_DEST_DEFAULT_DROP
  244. flag for drops on the desktop.
  245. (desktop_icon_info_event): Reload the desktop icons after
  246. executing a command from the popup menu. This kind of sucks, but
  247. will do for now.
  248. (desktop_icon_info_event): Upon receiving a button-1 press, if the
  249. icon was already selected in the first place, delay the
  250. re-selection phase until we get a mouse release event. This lets
  251. us start a multiple-selection drag without having the initial
  252. click clear the selection first.
  253. (desktop_icon_info_event): Open the file or directory when the
  254. desktop icon receives a double click.
  255. * gmain.c (beep): Made it void, since it does not (need to) return
  256. anything.
  257. (xtoolkit_end): Likewise.
  258. 1998-12-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
  259. * gscreen.c (panel_build_selected_file_list): Provide space for
  260. the terminating NULL.
  261. * gmain.c (beep): Return a value.
  262. * gdnd.c (get_action): Typo fix.
  263. 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
  264. * gscreen.c (load_imlib_icons): Make it use the new gicon files.
  265. * gicon.c, gicon.h: New files: they keep an image cache and
  266. provide the right icon to use based on the filename. They use the
  267. GNOME metadata to fecth the "icon-filename" and "icon-inline-png"
  268. keys for per-image icons.
  269. * gdialogs.c (file_mask_dialog): Commented the help messages until
  270. the warnings are figured out.
  271. 1998-12-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
  272. * gdesktop.c (desktop_icon_info_new): Connect the signals for DnD
  273. so that we can drag icons from the desktop.
  274. (drag_begin): New function to set the drag cursor for icons on the desktop.
  275. (button_press): New function that stores the hot spot position for
  276. DnD cursors.
  277. (drag_data_get): New function to fetch the URI-list of selected icons.
  278. * gdialogs.c: Fixed some includes.
  279. * gdesktop.h: Removed the DnD target enum from here, since it is
  280. specific to each submodule.
  281. * gdnd.h: Moved the DnD target enums to here. Added a new
  282. TARGET_MC_DESKTOP_ICON.
  283. * gdesktop.c (get_icon_snap_pos): Fixed icon snapping; the
  284. coordinates not being updated correctly.
  285. * gscreen.c (panel_drag_data_get): Free the uri list; it was being leaked.
  286. 1998-12-04 Jonathan Blandford <jrb@redhat.com>
  287. * gdialogs.c (file_progress_show_count): finished the copy dialog.
  288. 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
  289. * gblist.c (blist_select_row): Warning fixes.
  290. * olddnd.c: Moved the old DND code here for reference purposes.
  291. * gscreen.c: Made the tree a drag source.
  292. 1998-12-04 Jonathan Blandford <jrb@redhat.com>
  293. * gdialogs.c (trim_file_name): better update dialog
  294. 1998-12-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
  295. * gdesktop.c (load_desktop_icons): Added arguments that specify
  296. where to place the newly-created icons. This needs some tweaking still.
  297. (reload_desktop_icons): Now takes arguments for the position of
  298. the new icons.
  299. (drag_data_received): Pass in the drop position to reload_desktop_icons().
  300. * gscreen.c (panel_tree_drag_motion): Added missing variable declaration.
  301. * gdesktop.c (load_desktop_icons): Added an incremental flag that
  302. specifies whether icon creation is unconditional regardless of
  303. whether there is an icon for a file or not.
  304. (reload_desktop_icons): Use the incremental flag in load_desktop_icons().
  305. (drag_data_received): Reload the desktop incrementally, to avoid flicker.
  306. (desktop_icon_info_new): Use mc_lstat(), not mc_stat(). We do
  307. want to read symlinks, even dangling ones, if they exist.
  308. (load_desktop_icons): While we are reading the desktop directory,
  309. first place all the icons that have their metadata icon-position
  310. set, and build a list of the ones that don't. *Then* place
  311. those. This fixes overlapping icons on weird situations.
  312. * directory.xpm: Removed bogus garbage. There was a stale pixmap here.
  313. * gdesktop.c (setup_desktop_dnd): Allow for GDK_ACTION_ASK as well.
  314. * gscreen.c (panel_widget_motion): The action argument to
  315. gtk_drag_begin() is a mask of possible actions, not a single action.
  316. * gdesktop.c (drag_data_received): Only reload the icons if the
  317. drop was successful.
  318. 1998-12-03 Jonathan Blandford <jrb@redhat.com>
  319. * gdialogs.c (create_op_win): starting the op_win dialog stuff
  320. 1998-12-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
  321. * gscreen.c (panel_create_icon_display, panel_create_file_list):
  322. Hook up to drag_begin and drag_end events.
  323. * gscreen.c (panel_tree_drag_motion): Improve interactivity
  324. (x_create_panel): Add a little decorating frame.
  325. (panel_create_icon_display, panel_create_file_list):
  326. Hook up to drag_begin and drag_end events.
  327. (panel_tree_drag_motion): Either queue a scroll on the tree, or
  328. queue an open-directory event.
  329. (panel_tree_scroll): Scroll the tree when the drag pointer is in
  330. one of the boundaries of the tree.
  331. (panel_tree_scrolling_is_desirable): new function to figure out if
  332. it is a good plan to scroll the tree view instead of opening it.
  333. (panel_chdir): Do not sync with the tree when we are in the middle
  334. of a drag and drop operation.
  335. (panel_drag_begin, panel_drag_end): New functions to keep track
  336. of the dragging operations.
  337. 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
  338. * gscreen.c (panel_tree_drag_data_received): Perform drag and drop
  339. operations on the Tree.
  340. 1998-12-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
  341. * gdesktop.c (setup_desktop_dnd): New function to set up drops
  342. to the root window.
  343. (setup_xdnd_proxy): Function by Owen Taylor to set up a DnD proxy
  344. window.
  345. (drag_data_received): Function to handle drops on the root window.
  346. (desktop_destroy): Destroy the DnD setup.
  347. (reload_desktop_icons): New function to reload the desktop.
  348. * gscreen.c (drag_types, drop_types): Removed url-list; only
  349. uri-list should be there.
  350. * gdesktop.h: Removed TARGET_URL_LIST from the DnD enumerations.
  351. * gtkdtree.c (gtk_dtree_do_select_dir): Made static, as it is for
  352. internal use only.
  353. Fixed a little bunch of compiler warnings.
  354. * gscreen.c (x_fill_panel): Use gtk_dtree_select_dir(), not
  355. gtk_ctree_do_select_dir().
  356. * gpopup.c (gpopup_do_popup): Fixed incorrect assertion and
  357. actually create the menu (doh).
  358. (gpopup_do_popup): Do the same magic as in gnome-popup-menu to
  359. fetch the item that was activated in the menu. Keep this code out
  360. of reach of children.
  361. (fill_menu): New function to fill the menu using the
  362. gnome-popup-menu magic for fetching the activated menu item.
  363. Removed ifdef'ed code.
  364. 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
  365. * gscreen.c (tree_drag_open_directory, panel_tree_drag_motion,
  366. panel_tree_drag_leave): Drag and Drop support routines for the
  367. tree to auto-expand the tree when the user stays still on top of a
  368. directory.
  369. * gtkdtree.c (gtk_dtree_load_path): Further speed increase.
  370. 1998-12-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
  371. * glayout.c (file_menu): Use view_cmd and view_simple_cmd in the
  372. menu instead of panel_action_view and
  373. panel_action_view_unfiltered, respectively.
  374. * gpopup.c (create_regexp_actions): Create the menu items using
  375. gnome-app-helper, for visual consistency.
  376. (create_actions): Likewise. Also, fixed S_ISLNK() confusion.
  377. (get_label_text): Extract the label from the GnomeUIInfo item in
  378. an ugly way.
  379. 1998-12-01 Jonathan Blandford <jrb@redhat.com>
  380. * Makefile.in: now handles gdialogs*
  381. * gdialogs.h:
  382. * gdialogs.c:Added new files -- takes the place of ../src/filegui.*
  383. 1998-12-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
  384. * gscreen.c (panel_switch_new_display_mode): Destroy the old
  385. widget. Add the list view to the proper table.
  386. * glayout.c: Remove the exit menu option.
  387. * gtree.c (gtk_dtree_contains): New routine used to avoid
  388. duplicate entries in the tree display.
  389. 1998-11-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
  390. * gscreen.c (panel_icon_list_select_icon): Use gpopup_do_popup().
  391. (panel_file_list_select_row): Use gpopup_do_popup().
  392. Moved the popup menu code to gpopup.c.
  393. 1998-11-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
  394. * gscreen.c (display_mini_info): Use g_strdup_printf() to make it
  395. i18n-ize nicely.
  396. (panel_create_filter): Use _(), not N_().
  397. (x_create_panel): Likewise.
  398. 1998-11-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
  399. * gscreen.c (x_create_panel): Add panel view. Put the views
  400. inside a new table. Add tree view to the left.
  401. (panel_create_icon_display): IconList no longer starts in frozen state.
  402. Update Makefile.
  403. 1998-11-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
  404. * gwidget.c (x_update_input): Use gtk_editable_changed on the entry.
  405. (x_create_listbox): Fix more CList api change.
  406. * gscreen.c (CLIST_FROM_SW): Adapt to new GtkScrolledWindow
  407. inheritance.
  408. 1998-11-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
  409. * Makefile.in (OOBJS): Add filegui.o back until the GTK-specific
  410. filegui is written.
  411. * gdesktop.c (check_window_in_one_panel): Provide better error
  412. messages here for debugging purposes.
  413. Disable stubs for filegui.c until they are actually implemented.
  414. I need to debug stuff.
  415. * gdnd.c (find_panel_owning_window): Use the new
  416. gtk_drag_get_source_widget function to find out reliably if the
  417. drag source happens to be in this application.
  418. * gscreen.c (x_create_panel): Set the usize for the ministatus
  419. label to be (0, -1), this means: do not request any horizontal
  420. space, use any vertical space given.
  421. Put the ministatus inside an hbox, and use
  422. gtk_container_set_resize_mode in this hbox to stop any queue
  423. events from being propagated up in the hierachy of widgets
  424. This kills all of the CList/GnomeIconList/Scrollbar/Toolbar
  425. flickering now.
  426. 1998-11-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
  427. * gtree.c: More work on gtree. It is basically ready to stick
  428. into gmc-window.c/mc I just need to know when you are ready
  429. Federico.
  430. 1998-11-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
  431. * gpopup.c (gpopup_do_popup): Hide the edit/view separator if
  432. those items were disabled, too.
  433. * gdesktop-icon.c (desktop_icon_realize): Added
  434. WIN_STATE_FIXED_POSITION and WIN_STATE_ARRANGE_IGNORE to the
  435. window hints for the desktop icons.
  436. 1998-11-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
  437. * gdesktop.c (desktop_icon_info_event): Run the popup menu for the
  438. icons in the desktop.
  439. * gpopup.[ch]: New files that take care of the popup menus for
  440. files in the desktop and in the panels.
  441. * Makefile.in: Added gpopup.[ch] to the list of sources.
  442. 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
  443. * gdesktop.c (desktop_icon_info_place): Save the icon position
  444. when it is moved.
  445. (desktop_destroy): Removed the save_icons_pos() function and do
  446. not invoke it from desktop_destroy().
  447. 1998-11-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
  448. * gwidget.c (x_list_insert): Make it work with the new CList
  449. policies.
  450. 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
  451. * gdesktop.c: Put in a bunch of stubs for the functions in
  452. filegui.h. These will be removed as the dialogs get
  453. custom-written for Gnome.
  454. * gmetadata.[ch]: Changed the function names to "gmeta_*".
  455. * gscreen.c (CLIST_FROM_SW): Use scrolled_window->child, as
  456. viewport is obsolete.
  457. 1998-11-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
  458. * Makefile.in (OOBJS): Do not link ../src/filegui.o. GMC does not
  459. link right now, but I guess I'll add stubs until we finish with
  460. the dialog boxes.
  461. * gdnd.c: #include <sys/types.h>
  462. * Makefile.in (checklinks): Fix sourcelinks -> maksourcelinks typo.
  463. 1998-11-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
  464. * gmain.c (session_save_state): Use gnome_geometry_string.
  465. 1998-11-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
  466. * gscreen.c (panel_file_list_compute_lines): Quick hack to get mc
  467. to compile with the new CList.
  468. 1998-11-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
  469. * Makefile.in: Removed gtrans.c from the list of sources.
  470. * gdesktop-icon.c: #ifdef cleanups.
  471. * gscreen.c (panel_create_file_list): Doh. Return the scrolled
  472. window, not the clist.
  473. * gdnd.c (get_action): Implement the DnD actions menu.
  474. 1998-11-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
  475. * gdnd.c: New file that handles all the DnD stuff. Mainly used to
  476. clean up gdesktop.c.
  477. * gscreen.c (panel_icon_list_drag_data_received): Use
  478. gdnd_drop_on_directory().
  479. (CLIST_FROM_SW): Added this macro to fetch the clist from the
  480. scrolled window in panel->list.
  481. (panel_create_file_list): Create a scrolled window and put the
  482. clist inside it. This is required per the new clist API.
  483. (panel_configure_file_list): Use the scrolled window's adjustment.
  484. (panel_file_list_size_allocate_hook): Use the scrolled window
  485. instead of the clist.
  486. (panel_file_list_compute_lines): Use the scrolled window instead
  487. of the clist.
  488. (panel_file_list_configure_contents): Use the scrolled window
  489. instead of the clist.
  490. (panel_create_file_list): Do the DnD setup here, not in the
  491. realization callback.
  492. (x_create_panel): Do not realize the panel explicitly.
  493. (panel_create_pixmaps): Create the pixmaps using imlib instead of
  494. Gdk.
  495. 1998-11-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
  496. * gdesktop.c (text_changed): Doh. Set the new filename of the
  497. desktop icon info structure.
  498. 1998-11-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
  499. * gdesktop.c (text_changed): We rename the files when the text
  500. changes.
  501. (save_icons_pos): New function to save the icon position metadata
  502. for all the icons in the desktop.
  503. (desktop_destroy): Save the icon positions when we exit.
  504. 1998-11-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
  505. * gdesktop.c (editing_started):
  506. (editing_stopped): New functions to install and remove
  507. pointer/keyboard grabs while icons are being edited,
  508. respectively.
  509. 1998-11-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
  510. * gdesktop.c (select_icon): Raise the icon when it is selected.
  511. 1998-11-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
  512. * gdesktop.c (select_range): Doh. Fix dii -> ldii typo. Also,
  513. use Windows semantics -- ranges are considered rectangular instead
  514. of linear.
  515. * gdesktop.c: Now desktop icons are stored in the layout_slots
  516. array. We need to know which icons are in which slots.
  517. (unselect_all): Use the layout_slots array.
  518. (desktop_icon_info_place): Append the icon to the list in the
  519. proper slot.
  520. (desktop_icon_info_new): Initialize the position and slot fields
  521. in the desktop icon info structure.
  522. (desktop_icon_info_free): Remove the icon from its slot.
  523. (desktop_destroy): Destroy the layout slots and the icons
  524. properly.
  525. (remove_from_slot): New convenience function to remove an icon
  526. from the slot it is in.
  527. (get_icon_snap_pos): Do a bit nicer snapping by really using the
  528. closest slot.
  529. Added a last_selected_icon variable to keep track of the icon that
  530. was last selected, for shift+click selections.
  531. (select_icon): Finish selection semantics and clean up. Now it is
  532. nice and simple and complete.
  533. (select_range): New function that handles range selections.
  534. 1998-11-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
  535. * gdesktop-icon.h (DesktopIcon): Added a child item for stippling
  536. the icon when it is selected.
  537. * gdesktop-icon.c (desktop_icon_select): Show/hide the stippling
  538. as appropriate.
  539. * gdesktop.c (desktop_icon_info_event): Handler for events on
  540. desktop icons.
  541. (select_icon): New function that handles icon selection based on
  542. mouse clicks and modifier keys.
  543. * gdesktop.c (struct desktop_icon_info): Added a type field to the
  544. structure. It specifies the type of icon (file, directory), and
  545. is used to determine the DnD and menu behavior.
  546. 1998-10-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
  547. * gdesktop.c: We are now using the new desktop icon code. It is
  548. not yet complete, but what is there does work. We have icon
  549. creation, auto-layout and snapping. Next step is drag and drop
  550. and popup menus.
  551. * glayout.c: #ifdef out the stuff that uses the old desktop code.
  552. I will replace it gradually.
  553. * gmain.c: Likewise.
  554. * gscreen.c: Likewise.
  555. 1998-10-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
  556. * gscreen.c (panel_icon_list_button_release): Remove unused
  557. variable.
  558. Provide hand written CList-start drag code
  559. 1998-10-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
  560. * gmetadata.c (meta_get_icon_pos): Renamed from
  561. meta_get_desktop_icon_pos().
  562. (meta_set_icon_pos): New public function to save the icon position
  563. information.
  564. * gdesktop-icon.c (canvas_size_allocated): New function. We reset
  565. the canvas scrolling region here, when the canvas gets size
  566. allocated, to ensure that the canvas has always the correct
  567. scrolling region. We do it here instead of in the reshape()
  568. function to avoid flicker.
  569. 1998-10-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
  570. * gmetadata.[ch]: New files with functions to handle all metadata
  571. issues -- fetching icons, icon positions, etc.
  572. * Makefile.in: Added gmetadata.[ch] to the list of sources.
  573. 1998-10-28 Federico Mena Quintero <federico@nuclecu.unam.mx>
  574. * gdesktop-icon.c (create_window_shape): Use shaped icons only
  575. when the user has selected them.
  576. (desktop_icon_reshape): New public function to recompute the shape
  577. of the icon. This should be used when the global
  578. desktop_use_shaped_icons flag changes.
  579. Added documentation comments to the public functions.
  580. * Makefile.in: Fixed for gdesktop-icon.
  581. * gdesktop-icon.[ch]: Renamed from desktop-icon.[ch], per Miguel's
  582. request.
  583. * desktop-icon.c (reshape): Position the icon text item correctly.
  584. 1998-10-27 Federico Mena Quintero <federico@nuclecu.unam.mx>
  585. * desktop-icon.c (desktop_icon_new): Do now reshape more than
  586. needed by splitting the set_icon and set_text functions apart.
  587. 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
  588. * gdesktop.c (desktop_icon_set_position): Do not lower the
  589. window. The gnome-compliant wm will know what to do with windows
  590. on the Desktop layer.
  591. (post_setup_desktop_icon): Likewise.
  592. * desktop-icon.c (create_window_shape): Fetch the mask of the
  593. image "by hand", as we cannot rely on the canvas item having
  594. created it yet.
  595. * desktop-icon.c (desktop_icon_realize): Doh. We need to
  596. initialize the gnome_win_hints before we set any of the hints.
  597. 1998-10-21 Federico Mena Quintero <federico@nuclecu.unam.mx>
  598. * gdesktop.c (create_desktop_icon): Renamed from
  599. my_create_transparent_text_window. Now uses the DesktopIcon
  600. widget for its work.
  601. (get_desktop_icon_for_dentry): Renamed from
  602. get_transparent_window_for_dentry. Uses the DesktopIcon widget.
  603. (get_desktop_icon_for_di): Renamed from
  604. get_transparent_window_for_di.
  605. (desktop_icon_properties): Do not size_request the icon, since now
  606. we can get its dimensions directly from the DesktopIcon structure.
  607. * desktop-icon.[ch]: New file that takes care of desktop icons.
  608. It provides the spiffy widget that is used for them.
  609. * Makefile.in: Added desktop-icon.[ch] to the list of sources.
  610. MC should use Automake, I think.
  611. 1998-10-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
  612. * gscreen.c (panel_create_icon_display): Small size adjustment.
  613. * glayout.c (create_container): Small size adjustment.
  614. * gmain.c (xtoolkit_create_dialog): Center windows.
  615. 1998-10-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
  616. * gscreen.c (x_select_item): Force a canvas update when an icon
  617. has been selected.
  618. 1998-10-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
  619. * gscreen.c (panel_drag_data_get): New routine to provide data
  620. with the new DnD protocol.
  621. * gmain.c (dialog_key_pressed): If an icon has the focus, then do
  622. not process any of our events.
  623. Only stop the signal if we actually handled the event.
  624. (dialog_key_pressed):
  625. 1998-10-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
  626. * gscreen.c (panel_icon_renamed): Add support for renaming files.
  627. 1998-10-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
  628. * gscreen.c: Use the new icon list.
  629. 1998-09-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
  630. * gscreen.c: Hook to invoke the editor from the context menu.
  631. Fri Sep 18 13:51:16 1998 Pavel Roskin <pavel_roskin@geocities.com>
  632. * Makefile.in: Consequent "make" should not rebuild gmc every time
  633. Mon Aug 31 10:46:32 1998 Owen Taylor <otaylor@redhat.com>
  634. * gscreen.c (display_mini_info): Removed calls to
  635. gtk_clip_label_set() hack, since its cut-n-paste code didn't work
  636. with new GTK's. If excessive resizes are a problem, they can be
  637. solved by adding an adjustment around the label, and calling
  638. gtk_container_set_resize_mode().
  639. 1998-08-20 Raja R Harinath <harinath@cs.umn.edu>
  640. * gdesktop.c: Include "mad.h", for xmalloc.
  641. * gkey.c: Likewise.
  642. * gscreen.c: Likewise.
  643. (panel_create_file_list): Use `g_free', not `free'.
  644. Wed Aug 19 19:45:16 EDT 1998 The Rasterman <raster@redhat.com>
  645. * gdesktop.c - changed dnd setting routine for desktop icon to set
  646. events on child window...
  647. * gtrans.c - chnaged routines to make window with child rawing area
  648. and set shape on parent window
  649. 1998-08-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
  650. * gscreen.c (panel_make_local_copies_and_transfer): Fix.
  651. 1998-07-04 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
  652. * gmain.c (session_management_setup): Replaced
  653. 'gnome_client_new_default' with 'gnome_master_client'.
  654. 1998-06-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
  655. * gwidget.c (x_update_input): The previous hack was not
  656. required, the right fix was to change Gtk.
  657. 1998-06-22 Manish Vachharajani <mvachhar@vger.rutgers.edu>
  658. * gwidget.c: Don't call gtk_entry_scroll_adjust, it is a private member
  659. 1998-06-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
  660. * gdesktop.c (drop_cb): Mhm. Negotiation of the drop type was not
  661. quite like I expected. Anyways, fixed a bug: we need to take
  662. text/plain drops on the launch icons on the desktop.
  663. 1998-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
  664. * gdesktop.c (desktop_setup_icon): Assign the dentry->geometry
  665. from the drop position. New .desktop files are now placed on the
  666. site they were dropped.
  667. (drop_cb): Use proper prototype.
  668. Sun May 31 13:19:59 1998 Norbert Warmuth <k3190@fh-sw.de>
  669. * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a (one
  670. reference wasn't converted, yet).
  671. 1998-05-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
  672. * gwidget.c (x_create_input): Set the entry's visibility if it is
  673. a password field.
  674. 1998-05-26 Marc Ewing <marc@redhat.com>
  675. * Makefile.in: use @LIBVFS@ when referring to libvfs-mc.a
  676. 1998-05-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
  677. * gmain.c (session_save_state): Perform shutdown if `shutdown'
  678. flag is set.
  679. 1998-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
  680. * gwidget.c (entry_release): Enhanced our marked handler for input
  681. lines.
  682. * gdesktop.c (desktop_create_directory_entry): Fix, make a
  683. g_strdup copy of the name. Fixes bug report #78.
  684. (desktop_icon_context_popup): Simplified this routine as we are
  685. using file_popup now anyways.
  686. 1998-05-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
  687. * glayout.c: Move the New window menu entry from ``Window'' to
  688. ``File''.
  689. * gwidget.c (x_unfocus_widget): Fix wartning.
  690. * glayout.c (set_hintbar): Call flush events after setting the
  691. hintbar.
  692. 1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
  693. * gwidget.c (x_create_input): Disable the use of the GNOME entries
  694. for now, as they are very slow. We need to figure out what is
  695. wrong with this.
  696. With this change, dialog boxes close quickly instead of taking
  697. ages to close.
  698. * gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
  699. Share the context menu code in gdesktop.c and gscreen.c. The
  700. desktop pop up menus now include all of the stuff that would have
  701. appeared in the Panel.
  702. * gdesktop.c (desktop_icon_remove): Remove the file associated
  703. with this desktop entry if it is on the ~/desktop directory.
  704. 1998-05-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
  705. * gscreen.c (load_dnd_icons): Remove the code and the icons that
  706. we had here privately. Use new gnome-stock functionality
  707. instead.
  708. 1998-05-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
  709. * gscreen.c (panel_drag_request): All of the drag_request code is
  710. now shared by both the Icon View and the Listing view;
  711. New drag request type: file:ALL. If the user is looking at a
  712. remote site, and the target application does not have VFS support
  713. it should not list url:ALL but file:ALL as the accepted drop
  714. type.
  715. This will make copies of the remote files and pass the files to
  716. the application.
  717. 1998-05-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
  718. * gtrans.c (set_window_text): Pass new justification parameter to
  719. gnome_icon_paint_text().
  720. * gpageprop.c (item_properties): Restore the arrow cursor for the
  721. desktop icon windows.
  722. * gdesktop.h (desktop_icon_t): Removed unused title field.
  723. * gtrans.c (set_window_text): Made it use the new
  724. GnomeIconTextInfo functions.
  725. 1998-05-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
  726. * gscreen.c (panel_create_icon_display): Set some good separator
  727. characters for the file icon list.
  728. 1998-05-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
  729. * gprop.c (perm_owner_new): Forget about history for now.
  730. * gpageprop.c (item_properties), gprop.c: Add executable editing
  731. (command, and terminal). Save the dentry after modification
  732. 1998-05-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
  733. * gprop.c (change_icon): Test for gp, as the combobox emits the
  734. "changed" signal when shutting down. Great.
  735. * gdesktop.c (desktop_reload): Missing mc_closedir
  736. (desktop_setup_icon): Fix memory leak.
  737. (get_desktop_icon): Fix memory leak.
  738. (desktop_create_directory_entry): Set the size of the exec
  739. vector.
  740. (desktop_create_launch_entry): Same.
  741. We now create launch entries instead of trying to support
  742. regular dropped stuff on the desktop, this makes things easier and
  743. more consistent.
  744. 1998-05-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
  745. * gscreen.c (x_select_item): Test for full icon visibility instead
  746. of partial visibility only.
  747. 1998-05-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
  748. * gscreen.c (create_popup_submenu): Use continue, not break on
  749. this loop.
  750. Sat May 16 02:29:51 1998 Tom Tromey <tromey@cygnus.com>
  751. * gdesktop.c (url_dropped): `exec' field of desktop entry now a
  752. vector.
  753. (dentry_execute): Likewise.
  754. (desktop_icon_remove): Likewise.
  755. (get_transparent_window_for_dentry): Likewise.
  756. (desktop_create_directory_entry): Likewise; also initialize
  757. exec_length.
  758. 1998-05-16 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
  759. * gscreen.c (create_popup_submenu): fixed bug which caused it to require
  760. 0 instead of 1 marked files for F_SINGLE file_actions.
  761. * gscreen.c (file_popup): first item in the menu displays "..." when
  762. multiple files are selected.
  763. Thu May 14 23:31:15 1998 Tom Tromey <tromey@cygnus.com>
  764. * gmain.c (session_save_state): Use "+" instead of "%s" in format
  765. specification. Free `argv'.
  766. 1998-05-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
  767. * gtrans.c (create_transparent_text_window): Removed the hack to
  768. lower the window on exposes. Guess what happens when you have two
  769. icons on the same spot.
  770. Thu May 14 02:02:56 1998 Norbert Warmuth <k3190@fh-sw.de>
  771. * Makefile.in (EXTRALIBS): add @LINTL@
  772. 1998-05-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
  773. * gtrans.c (set_window_text): draw pixmaps without transparency
  774. correctly.
  775. 1998-05-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
  776. * gscreen.c (panel_icon_list_realized): Add drag and drop support
  777. to the icon list view;
  778. 1998-05-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
  779. * gscreen.c (panel_fill_panel_icons): New function: Fill up the
  780. icon list.
  781. (x_create_panel): Change in the approach: we create both of the
  782. widget views at creation time and we now carefully show every
  783. component. I attach everything to the table, but not necesarly
  784. show it.
  785. * gblist.c (blist_select_row): New widget derived from GtkClist.
  786. replace select_row and unselect_row with null functions, as the
  787. gmc code takes care of the rest.
  788. 1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
  789. * gdesktop.c (desktop_icon_drag_start): Do not attempt to use
  790. icons if we could not load the images for the icon.
  791. * gwidget.c (x_update_input): Keep the cursor always visible.
  792. * gview.c (view): Use a buttonbar widget.
  793. * gwidget.c (buttonbar_clicked): Provide a trivial implementation
  794. of the buttonbar that only responds to key sequences.
  795. * gmain.c (dialog_panel_callback): Call midnight_callback to get
  796. the main bindings working.
  797. * gdesktop.c (perform_drop_manually): Use p to walk the dropped
  798. data. This is an important bug fix.
  799. * gmain.c (idle_destroy_window), main.c: Session management now
  800. supports not showing a toplevel window (in case all of the windows
  801. were closed).
  802. 1998-04-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
  803. * gtrans.c (make_transparent_window): Put hack back.
  804. * gcache.c (image_cache_load_image): Federico spooted the problem:
  805. I have to duplicate my keys for the hash.
  806. * gmain.c (create_panels): Create one panel per directory
  807. specified. For some strange reason the code hangs if you start up
  808. more than one panel at once. This is not a gmc bug, it appears to
  809. be an Imlib/gtk/gdk interaction. I am for now creating one panel
  810. in the main program execution thread and the rest during the idle
  811. handler.
  812. (session_save_state): Added session management support.
  813. 1998-04-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
  814. * gprop.c (gprop_general_new): Added an simple icon preview to the
  815. icon selector.
  816. 1998-04-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
  817. * gdesktop.c: Finish desktop_icon_remove implementation.
  818. * glayout.c (update_panels): GNOME specific Implementation of the
  819. update_panels routine.
  820. Tue Apr 28 06:52:24 1998 Norbert Warmuth <k3190@fh-sw.de>
  821. * gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
  822. my_system(EXECUTE_AS_SHELL,...)
  823. 1998-04-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
  824. * glayout.c (layout_panel_gone): Removed debugging information.
  825. Renamed "Panel" to "Window" to make it less confusing to users.
  826. Moved the "New window" from the "File" menu to the "Window" menu.
  827. * gmain.c (dialog_panel_callback): Walk the list of panels to
  828. determine to which panel the activated widget belongs.
  829. 1998-04-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
  830. * gwidget.c (x_create_radio): Fix the WRadio widgets.
  831. 1998-04-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
  832. * glayout.c (create_container): Add wmclass.
  833. 1998-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
  834. * gdesktop.c (desktop_reload): Show all of the widgets on a reload
  835. operation.
  836. * gscreen.c (x_panel_update_marks): Do only set the marks if the
  837. widget has been created
  838. * glayout.c (assign_other): Keep track of all of the opened
  839. panels. We were never removing them from the containers list.
  840. This fixes a number of problems.
  841. * gwidget.c (x_dialog_stop): Only call gtk_main_quit if this
  842. dialog did not inlcude the DLG_GNOME_APP flag, as those windows
  843. did not launch a gtk_main event loop.
  844. * gcmd.c: Try various terminal programs in the PATH before giving
  845. up
  846. * glayout.c: Unselect command is unselect_cmd, not select_cmd
  847. * gcmd.c (gnome_quit_cmd): Add quit confirmation.
  848. * gdesktop.c (perform_drop_manually): Check the type for the
  849. source file (directory/file) and perform the proper operation.
  850. Before this we always did a *_file_file operation.
  851. (perform_drop_manually): Use copy_dir_dir correctly
  852. (desktop_setup_default): Use copy_dir_dir correctly
  853. * gwidget.c (x_create_label): Remove debugging labels.
  854. * gscreen.c: Do not show the view/view unfiltered if the
  855. selectioned item is a directory.
  856. * gwidget.c (x_radio_toggle): Never commit non-compilable code.
  857. 1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
  858. * gwidget.c (remove_hotkey, x_create_radio): Radio buttons should
  859. not display the special Hotkey specificator.
  860. * gcmd.c (gnome_close_panel): Implement the close-the-panel
  861. functionality.
  862. * gscreen.c (x_panel_destroy): Implement the gnome mode way of
  863. destroying the panel.
  864. * gview.c (view_status): Add cacheing of the information status,
  865. to avoid excessive flicker. It would be better if GtkLabel did
  866. not flicker though.
  867. (scrollbar_moved): Scroll correctly. We now use
  868. view_move_backward and view_move_forward to adjust the scrollbar
  869. contents. This displays the scrollbar correctly.
  870. * gwidget.c (x_listbox_select_nth): This may be invoked before the
  871. widget has been created, work around this problem.
  872. * gscreen.c (show_dir): Set the title bar for the window to the
  873. current directoy. Reported by both Mike and Elliot.
  874. * layout: Updated to the new hotlist dialog box.
  875. 1998-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
  876. * gtrans.c (create_transparent_text_window): Destroy the cursor
  877. properly.
  878. 1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
  879. * gview.c (x_init_view): Initialize view->sadj.
  880. * gdesktop.c (start_desktop): use destkop_load instead of
  881. desktop_reload.
  882. (desktop_load): This reloads + shows every widget on the
  883. desktop_icons list.
  884. 1998-04-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
  885. * gdesktop.h: Added extern declarations for the
  886. want_transparent_icons and want_transparent_text variables.
  887. * gtrans.c (set_window_text): Now we use the new global variables
  888. want_transparent_icons and want_transparent_text to decide how to
  889. paint the pixmap and mask. The want_transparent_* variables can
  890. thus be configured for the smartness/speed of your X server when
  891. using shaped windows.
  892. Fri Apr 12 02:40:41 1998 Norbert Warmuth <k3190@fh-sw.de>
  893. * gwidget.c (x_create_input): return 1 if the widget has been
  894. initialized manually (there was no return value)
  895. (x_create_buttonbar): to few arguments to sprintf (button number
  896. was missing); return a value.
  897. 1998-04-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
  898. * gscreen.c (x_create_panel): Added back and forward buttons. I
  899. need a "Home" icon too.
  900. * gwidget.c (x_create_input): Make the selection if the input has
  901. not yet been touched.
  902. * gscreen.c (panel_action_open): If opening an item fails, try
  903. panel_action_open_with.
  904. * gview.c: Implement the viewer scrollbar.
  905. 1998-04-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
  906. * gscreen.c (panel_drop_data_available): Reload the panel contents
  907. upon a drop.
  908. * gmain.c (gnome_dlg_send_destroy): Hide the widgets just before
  909. they are going to get destroyed, to avoid the shutdown
  910. flickering.
  911. (x_destroy_dlg_start): New routine/hook invoked when the destroy
  912. has just started
  913. (x_set_idle): Cancel the idle handlers properly.
  914. * gwidget.c (x_create_check): Finish the checkbox implementation.
  915. * gdesktop.c (get_desktop_icon): Fix this routine: it was
  916. cretating a file name when the filename was not set properly.
  917. 1998-04-01 Marc Ewing <marc@redhat.com>
  918. * gscreen.c: Added #include <gdk/gdkprivate.h>
  919. 1998-03-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
  920. * gcache.c: Added an Image cache for all of the imlib-loaded
  921. images to avoid destroying/reloading the images.
  922. * gdesktop.c, gtrans.c: Use the image cache.
  923. 1998-03-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
  924. * gscreen.c (x_create_panel): Show the GnomeApp when we are done
  925. packing all of our information.
  926. * gmain.c (create_panels): do not show any of the windows yet.
  927. 1998-03-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
  928. * gscreen.c (x_fill_panel): Colors are properly displayed now.
  929. Use the clipped labels.
  930. * gcliplabel.c, gcliplabel.h: Derived label that does label
  931. clipping (it does not request the allocation for the whole string,
  932. but settles with whatever is provided in the size_allocation).
  933. 1998-03-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
  934. * gtrans.c (create_transparent_text_window): Set the window's
  935. cursor to the normal top-left arrow.
  936. Mon Mar 23 01:40:35 1998 Norbert Warmuth <k3190@fh-sw.de>
  937. * gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
  938. to KEY_BTAB (the name ncurses uses)
  939. * Makefile.in: Install the icon-files and the layout-file from $srcdir.
  940. 1998-03-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
  941. * gdesktop.c (icon_properties):
  942. * gpageprop.c (item_properties): Modified to accept dentry title
  943. changes as well.
  944. (item_properties): Fixed base and fname confusion in call to
  945. concat_dir_and_file().
  946. * gprop.c (gprop_general_new):
  947. (gprop_general_get_data): Renamed to general from icon. The
  948. general Gprop now lets you enter the title and icon filename for a
  949. dentry.
  950. 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
  951. * gdesktop.c (icon_properties): Whoops, actually save the dentry.
  952. (post_setup_desktop_icon): Moved the icon positioning call outside
  953. of this function so that property-changed icons will not move on
  954. the desktop.
  955. * gdesktop.c (desktop_icon_context_popup): It is not necessary to
  956. set the menu position.
  957. (desktop_icon_context_popup): gtk_signal_connect_object_after to the menu
  958. items with gtk_widget_destroy as a callback so that we can destroy
  959. the menu widget appropriately.
  960. 1998-03-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
  961. * gscreen.c (display_mini_info): Implement mini status.
  962. 1998-03-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
  963. * gdesktop.c (get_transparent_window_for_dentry): New function,
  964. creates the proper transparent icon window for a dentry.
  965. (post_setup_desktop_icon): New function, does post-setup stuff for
  966. a desktop icon (setting it as a drop target, positioning it, etc.).
  967. * gpageprop.c (item_properties): Now the dentry parameter is a
  968. desktop_icon_t instead.
  969. We now return a bitmask that indicates what stuff changed. The
  970. caller can use this information to decide what to update, repaint, etc.
  971. * gdesktop.h: Moved the icon_t and desktop_icon_t structures here.
  972. * gpageprop.c (item_properties): Insert icon control if appropriate.
  973. * gprop.c (gprop_icon_new):
  974. (gprop_icon_get_data): Renamed from gprop_dir_*().
  975. * gscreen.c (panel_action_properties): Re-reads panel only if necessary.
  976. *gpageprop.c (item_properties): now returns TRUE if something got
  977. changed, FALSE otherwise. This should be used to decide whether
  978. to re-read the panel or not.
  979. * gpageprop.c: #include "../vfs/vfs.h".
  980. #include "dialog.h".
  981. * gprop.c (gprop_dir_new):
  982. (gprop_perm_new):
  983. (gprop_general_new): Connect to the destroy signal of the toplevel
  984. widget and destroy the Gprop structure on the callback.
  985. Wed Mar 18 23:09:35 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  986. * gscreen.c (panel_file_list_select_row): Use control/shift click
  987. to add files to the selection.
  988. Wed Mar 18 22:32:53 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  989. * gscreen.c (panel_action_properties): Make Federico's
  990. page-properties code functional.
  991. * gpageprop.c: New file, implements most of the page properties on
  992. top of the gprop.c code.
  993. Wed Mar 18 20:35:45 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  994. * gdesktop.c (desktop_create_launch_entry): Support for the "Drop"
  995. target in mc.ext now.
  996. * Add support for dragging the icons on the desktop.
  997. (desktop_icon_make_draggable): new function.
  998. (drop_from_event): simplify.
  999. (my_create_transparent_text_window): Get the motion notify event.
  1000. (drops_from_event): create a vector based on thge drop event.
  1001. (drop_cb): splitted, call url_drop for regular drops, otherwise it
  1002. is a icon drop.
  1003. (artificial_drag_start): new routine, used now by gscreen.c and
  1004. gdesktop.c
  1005. (drop_on_directory): Check result value of operation.
  1006. (desktop_icon_set_position): sane interface.
  1007. (stop_desktop): Flush all of our state to disk.
  1008. 1998-03-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1009. * gscreen.c: Removed tests for the gprop stuff.
  1010. (file_popup): It is not necessary to show the popup menu.
  1011. * gprop.c (perm_group_new):
  1012. (perm_owner_new): Fill the combo lists with users and groups,
  1013. respectively.
  1014. * gprop.h: New files gprop.[ch]. These create the property pages
  1015. for desktop entries.
  1016. * Makefile.in: Added gprop.[ch] to the rules.
  1017. * glayout.c: Put gnome_about_cmd as a callback for the About menu item.
  1018. Tue Mar 17 22:40:36 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1019. * gdesktop.c (desktop_setup_icon): Lots of changes to accomodate
  1020. dropping icons on the root window.
  1021. (do_symlinks): Implement symlink action.
  1022. (icon_delete, desktop_icon_context_popup): Implement icon context
  1023. menus. only deleting an icon is working right now.
  1024. * gscreen.c: Load the drag and drop icons from the installation
  1025. directory.
  1026. * Makefile.in (install_gmc): Install our icons.
  1027. Tue Mar 17 02:38:37 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1028. * gdesktop.c (desktop_setup_default): Create a default desktop
  1029. entry on the root window for the Home directory if not mc.desktop
  1030. exists -yet-
  1031. Get drops on the root window to work. Joy and hapiness!
  1032. Tue Mar 17 00:43:50 1998 Tom Tromey <tromey@cygnus.com>
  1033. * glayout.c (gnome_panel_about_menu): "About" item now a stock
  1034. menu item.
  1035. 1998-03-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1036. * gscreen.c (filter_item_activate): Make it convert the glob
  1037. pattern to a regexp if appropriate.
  1038. Sat Mar 14 17:13:26 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1039. * gmain.c (gnome_dlg_send_destroy): New signal handler for
  1040. "delete_event". I return TRUE (ie, do not kill this window), and
  1041. manually queue que destruction of this window.
  1042. * gtools.c (query_dialog): Do not allow resizing; do not destroy
  1043. the dialog ourselves, this is properly handled by dlg.c now
  1044. (pack_button): Do not use the defaults: we do not want growing
  1045. buttons;
  1046. Fri Mar 13 16:01:28 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1047. * gwidget.c (buttonbar_clicked, x_create_buttonbar): Button bar
  1048. widget implemented.
  1049. * gtools.c: Implement the non-modal version of the message
  1050. routine.
  1051. * gview.c: Create a GnomeApp widget to contain the viewer.
  1052. * gmain.c (xtoolkit_create_dialog): Add a new mode where the
  1053. container window is a GNOME_APP window.
  1054. 1998-03-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1055. * gscreen.c (x_select_item): Make it use GTK_VISIBILITY_FULL
  1056. instead of a plain boolean value.
  1057. * gwidget.c (x_listbox_select_nth): Likewise.
  1058. * gscreen.c (filter_items): New global variable full of filters.
  1059. Please, someone fill in the regexp parts, as I was too lazy to do
  1060. them :-)
  1061. (panel_create_filter): Now the filter has a very nice button that
  1062. pops up a menu for selecting the filter.
  1063. Thu Mar 12 22:11:23 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1064. * gwidget.c (x_update_input): Use GnomeEntry widgets instead of
  1065. the GtkEntry.
  1066. * gwidget.c (listbox_select): Fix for the listbox selection with
  1067. the mouse.
  1068. (x_create_button): Use stock pixmaps.
  1069. * gcmd.c: Moved all of the _cmd routines from glayout to this
  1070. place.
  1071. (save_panel_types): Provide GNOME implementation.
  1072. * glayout.c: New and improved menu layout. Use stock pixmaps.
  1073. 1998-03-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1074. * gmc-chargrid.c (gmc_char_grid_draw): Someone teach me how to
  1075. subtract. Fixed a stupid offsetting bug.
  1076. (update_region): Added clipping of region bounds.
  1077. * gmc-chargrid.c: Changed the struct attr with pointers mess with
  1078. something saner.
  1079. Added an in_resize flag to avoid calling our internal signal
  1080. handlers recursively.
  1081. (gmc_char_grid_draw): Added proper draw handler for our case; the
  1082. widget's window does not fill its allocation.
  1083. (paint): New wrapper for update_region(); it converts window
  1084. coordinates to row/column character coordinates.
  1085. (gmc_char_grid_expose): Use paint().
  1086. 1998-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1087. * gmc-chargrid.c (update_strip): Doh. Fixed painting of
  1088. background rectangles.
  1089. (gmc_char_grid_expose): Fixed off-by-one errors in area
  1090. calculation. Ripped off the code from gtkterm to do this :-)
  1091. (free_attrs): New internal convenience function.
  1092. Thu Mar 12 00:08:06 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1093. * gview.c (view_percent): Added status display.
  1094. Wed Mar 11 22:35:02 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1095. * gwidget.c (entry_release): Now the WEntrys track the current
  1096. selection.p
  1097. (x_update_input): Repaint the widget after changing the position.
  1098. * gscreen.c (x_fill_panel): Remember the selected item on the
  1099. panel before filling it up, as gtk_clist emits a select_item
  1100. signal when filling it up, which changes the current selection
  1101. (and thus some routines that invoke the reload panel option
  1102. fail).
  1103. (create_popup_submenu): Implement context sensitive menus (regular
  1104. files, and symlinks).
  1105. (panel_realized): Use a different icon when we are dragging a
  1106. group of files.
  1107. (panel_artificial_drag_start): Add Elliot's Artificial drag start
  1108. support.
  1109. 1998-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1110. * gmc-chargrid.c (gmc_char_grid_get_size): New public function.
  1111. (gmc_char_grid_put_text): New public function. It is the same as
  1112. gmc_char_grid_put_str, but can take any arbitrary string plus its
  1113. length.
  1114. (gmc_char_grid_put_char, gmc_char_grid_put_str,
  1115. gmc_char_grid_put_text): These functions now take a background
  1116. pixel parameter --- the GmcCharGrid widget now supports fg/bg attributes.
  1117. * gmc-chargrid.h: Changed colors field to attrs.
  1118. * gmc-chargrid.c: New Character Grid widget for the file viewer.
  1119. This is a very lean and fast widget for displaying a grid of
  1120. monospaced characters. Just like a crippled-down terminal.
  1121. Tue Mar 10 23:46:29 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1122. * gscreen.c (x_adjust_top_file): We no longer adjust the top
  1123. displayed filename.
  1124. (panel_build_selected_file_list): Fix for the transfered data.
  1125. (panel_drop_data_available): Now drop support uses the new
  1126. coords.x and coords.y fields from the DropDataAvailableEvent to
  1127. find out which directory receives the drop.
  1128. * glayout.c: added: configure_box, configure_vfs
  1129. (get_other_type): Return the correct value.
  1130. 1998-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1131. * gscreen.c (panel_file_list_size_allocate_hook): Now we
  1132. connect_after to the size_allocate signal and block the handler.
  1133. Things are still not perfect, though.
  1134. * gtools.c (message): Added return NULL. This needs to be fixed.
  1135. (translate_gdk_keysym_to_curses): FIXME: Replace KEY_BACKTAB by '\t'
  1136. while KEY_BACKTAB is added somewhere else.
  1137. (translate_gdk_keysym_to_curses): return -1 as last resort.
  1138. * glayout.c (get_current_index): Add g_assert_not_reached() for
  1139. fatal case.
  1140. * gmenu.c (menubar_new): Cast g_menubar to unsigned long.
  1141. * gwidget.c (x_create_input): Cast entry to GTK_OBJECT.
  1142. * gkey.c (find_select_closure_callback): Fix = -> == typo.
  1143. Tue Mar 10 00:10:32 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1144. * gscreen.c (panel_drop_data_available): Now drop support uses the
  1145. new coords.x and coords.y fields from the DropDataAvailableEvent
  1146. to find out which directory receives the drop.
  1147. * gwidget.c (x_radio_focus_item): Add support for focusing radio
  1148. buttons.
  1149. Mon Mar 9 15:12:00 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1150. * gtools.c (translate_gdk_keysym_to_curses), dlg.c
  1151. (dlg_key_event): Support for backtab.
  1152. * gwidget.c: highlight properly the focused radio entry.
  1153. * gmain.c (x_init_dlg): After setting up the X widget, set the
  1154. Gtk focus to h->current;
  1155. 1998-03-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1156. * gscreen.c (x_panel_select_item): Set the colors of the row.
  1157. * gmain.c (xtoolkit_init): Changed gnome_init() to new version.
  1158. (xtoolkit_init): Call gnome_init() properly. Also, return 0.
  1159. Sat Mar 7 15:24:49 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1160. * gwidget.c (entry_click): Focus the entry on clicks.
  1161. Fri Mar 6 20:50:19 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1162. * gmain.c (create_panels): New per-port variable, used to flush
  1163. all of the pending X events.
  1164. (x_set_idle): Implement idle functions, now the find command works
  1165. properly.
  1166. * gwidget.c (x_create_radio): Connect to the "toggled" signal to
  1167. keep track of the radio button.
  1168. (listbox_select): callback for the select and double click
  1169. actions.
  1170. (x_update_input): This can be invoked before the
  1171. widget X resources have been allocated. Take care of this.
  1172. (x_create_input): update the cursor position as well.
  1173. (x_list_insert, x_create_listbox, x_list_delete_nth,
  1174. x_listbox_select_nth): implement the Listbox widget.
  1175. * gconf.h: New configuration options:
  1176. PORT_HAS_PANEL_ADJUST_TOP_FILE and
  1177. PORT_HAS_PANEL_RESET_SORT_LABELS
  1178. 1998-03-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1179. * gmain.c (get_color): Make it use GdkColorContext correctly.
  1180. * gscreen.c (panel_create_filter): The filter control is now a
  1181. nice GnomeEntry. It does not work due to gmc trapping key events;
  1182. I'll look into it tomorrow.
  1183. (internal_select_item): Fixed broken behavior. Now uses GtkCList properly.
  1184. default_filters: new structure with pre-defined glob patterns.
  1185. This is actually broken, because it will only work when
  1186. easy_patterns is enabled. I have to figure a way to make it work
  1187. with regexp mode as well.
  1188. Thu Mar 5 23:54:58 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1189. * gdesktop.c (drop_on_panel): New function; Used by the directory
  1190. icons and by regular panels to support drag targets;
  1191. * gscreen.c (panel_drop_data_available): Performs the drop action
  1192. on a panel. It needs fixing, as the DropDataAvailabelEvent does
  1193. not provide any information as to where the drop actually
  1194. happened.
  1195. (fixed_gtk_widget_dnd_drag_set, fixed_gtk_widget_dnd_drop_set):
  1196. Only set the main window of the clist to be the source/target of
  1197. the drag and drop code. The little square at the end did not make
  1198. much sense as a drop/drag spot.
  1199. 1998-03-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1200. * gmain.h: Added prototype for x_filter_changed().
  1201. Added #include "panel.h".
  1202. * gconf.h (PORT_HAS_FILTER_CHANGED): New flag for conditional compilation.
  1203. Wed Mar 4 22:43:00 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1204. * gtools.c (query_dialog): Rewritten to use the MC dialog/widget code.
  1205. * gutil.c (my_system), acconfig.h: By default gnome will not have
  1206. a subshell (at least for now) and will now exec everything
  1207. asyncronously by default.
  1208. * gscreen.c: Exactly what was I thinking when I used the
  1209. g_panel_contents structure will remain a mistery for future
  1210. programming psycologists. It was a huge mistake.
  1211. * gdesktop.c: Use the new icon/text display routine from
  1212. Federico.
  1213. Tue Mar 3 21:03:52 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
  1214. * gmain.c (x_destroy_dlg): Call gtk_grab_remove when destroying
  1215. the dialog.
  1216. * gmain.c (x_focus_widget): Handle special case of toplevels.
  1217. 1998-03-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
  1218. * gscreen.c: Some hackish changes to work around idempotence bugs
  1219. in gtk_clist_select_row().