1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532
|
2022-09-11 Corey Berla <corey@berla.me>
* Fix dialogs for permission changes
* Fix misc issues
2022-09-08 Corey Berla <corey@berla.me>
* Port to libnautilus-extension-4 for Nautilus 43 compatibility
* Port to GTK4
* Port from autotools to Meson
* Fix misc issues
2009-10-11 Mișu Moldovan <dumol@gnome.ro>
* configure.in: Added "ro" to ALL_LINGUAS
2009-03-06 Sandeep Shedmake <sshedmak@redhat.com>
* configure.in: Added "mr" to ALL_LINGUAS
2009-02-20 Priit Laes <plaes@plaes.org>
* configure.in: Added "et" to ALL_LINGUAS
2008-12-21 Andre Klapper <a9016009@gmx.de>
* configure.in: Added "de" to ALL_LINGUAS (Thanks, Kenneth!)
2008-12-21 Kenneth Nielsen <k.nielsen81@gmail.com>
* configure.in: Added "da" to ALL_LINGUAS
2008-10-23 Andre Klapper <a9016009@gmx.de>
* configure.in: Added ast to ALL_LINGUAS on behalf of Mikel González.
2008-10-07 Kjartan Maraas <kmaraas@gnome.org>
* configure.in: Added 'nb' to ALL_LINGUAS.
2008-05-17 Yair Hershkovitz <yairhr@gmail.com>
* configure.in: Added 'he' to ALL_LINGUAS.
2008-04-09 Petr Kovar <pknbe@volny.cz>
* configure.in: Added cs to ALL_LINGUAS.
2008-03-14 Andre Klapper <a9016009@gmx.de>
* configure.in: Added missing Swedish (sv) to ALL_LINGUAS.
2008-03-09 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
* configure.in: Added "zh_HK" "zh_TW" to ALL_LINGUAS.
2008-03-03 JP Rosevear <jpr@novell.com>
* configure.in: Check for nautilus extension dir
* src/Makefile.am: install nautilus extension to directory based
on package config file
2008-01-11 Changwoo Ryu <cwryu@debian.org>
* configure.in: Added 'ko' to ALL_LINGUAS.
2007-11-22 Duarte Loreto <happyguy_pt@hotmail.com>
* configure.in: Added Portuguese (pt) to ALL_LINGUAS.
2007-11-16 Ignacio Casal Quinteiro <nacho.resa@gmail.com>
* configure.in: Added 'gl' to ALL_LINGUAS.
2007-10-14 Yannig Marchegay <yannig@marchegay.org>
* configure.in: Added 'oc' to ALL_LINGUAS.
2007-09-22 Sebastien Estienne <sebastien.estienne@gmail.com>
* A patch from Edward Catmur to implements a checkbox and keyfile
entry to set whether guest access is allowed on a particular share
2007-08-13 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
2007-08-11 Inaki Larranaga Murgoitio <dooteo@zundan.com>
* configure.in: Added 'eu' (Basque) to ALL_LINGUAS.
2007-05-21 Jordi Mas <jmas@softcatala.org>
* configure.in: Added Catalan to ALL_LINGUAS
2007-05-16 David Lodge <dave@cirt.net>
* configure.in: Added en_GB to ALL_LINGUAS
2007-04-03 Pema Geyleg <pema.geyleg@gmail.com>
* dz.po: Updated dzongkha translation.
2006-06-14 Federico Mena Quintero <federico@novell.com>
Fix https://bugzilla.novell.com/show_bug.cgi?id=183413:
* src/nautilus-share.c (PropertyPage): Add a "was_writable"
field. We'll use this to know if we need to change the folder's
permissions once share gets modified: we want to be able to
remove write permission as soon as possible if the share gets
modified to be read-only.
(create_property_page): Set page->was_writable.
(NEED_ALWAYS_MASK, NEED_IF_WRITABLE_MASK, NEED_ALL_MASK): New
macros for the sets of permissions that we may need to change in
the usershared folder.
(remove_from_saved_permissions): New function. Removes a subset
of permissions from the ones we had saved previously.
(restore_write_permissions): New helper function.
(restore_saved_permissions): Use remove_from_saved_permissions()
with NEED_ALL_MASK so that we remove all the permissions that we
added previously.
(property_page_commit): If the page is no longer writable, restore
the write permissions that we added.
2006-06-08 Federico Mena Quintero <federico@novell.com>
Fix https://bugzilla.novell.com/show_bug.cgi?id=181811:
* src/shares.c (samba_configuration_supports_guest_ok): New
function. Calls "testparm -s --parameter-name='usershare allow
guests'" to see if Samba is configured to support "guest_ok=y"
when calling "net usershare".
(add_share): Call samba_configuration_supports_guest_ok(), and
then add "guest_ok=y" to the "net usershare" command line if
appropriate.
* src/nautilus-share.c (confirm_sharing_permissions): For
read-only usershares, we need go+rx permissions on the shared
folder. For writable usershares, we also need go+w. Check the
group permissions instead of just the other ones.
(message_confirm_missing_permissions): Check the group permissions
as well as the other permissions.
(save_changed_permissions): Save the mask of needed permissions in
a single key, instead of using three separate keys for r/w/x.
(remove_permissions): Use a mask of needed permissions rather than
individual flags.
(restore_saved_permissions): Likewise. Also, read the octal
string that was saved in save_changed_permissions().
2006-05-03 Federico Mena Quintero <federico@novell.com>
Fix https://bugzilla.novell.com/show_bug.cgi?id=170212 - restore
the permissions of folders when unsharing them if we had to modify
them.
* src/nautilus-share.c (save_changed_permissions): New function;
creates a GKeyFile in
~/.gnome2/nautilus-share-modified-permissions to save a list of
the folders for which we had to add permissions.
(restore_saved_permissions): New function; the counterpart to
restore_saved_permissions(). Restores the permissions of a
directory.
(confirm_sharing_permissions): Call save_changed_permissions()
after chmod() succeeds. Return an enum rather than a boolean.
(property_page_commit): Call restore_saved_permissions() if we are
unsharing a folder, or if we failed to share the folder.
2006-02-21 Federico Mena Quintero <federico@novell.com>
* configure.in: Remove the requirements for d-bus and libdaemon.
Removed the subdirectories we don't need anymore.
* src/Makefile.am: Remove the smbshared entries; we only need the
extension's .so now.
* Makefile.am (SUBDIRS): Removed the dbus directory; we don't
install anything from there anymore.
* src/nautilus-share.h: Removed d-bus includes.
* src/nautilus-share.c (property_page_commit): Oops, fix reversed
return value when the user cancels the operation during the
permissions check.
(message_confirm_missing_permissions): Set the default response to
the "accept" button.
2006-02-21 Federico Mena Quintero <federico@novell.com>
* src/nautilus-share.c (confirm_sharing_permissions): Renamed from
check_sharing_permissions(). Now we let the user cancel the operation.
(message_confirm_missing_permissions): Renamed from
message_missing_permissions(). Now we present a confirmation
dialog instead of an information one.
(property_page_commit): Don't do anything if the user decides he
doesn't want us to change his folder's permissions.
2006-02-20 Federico Mena Quintero <federico@novell.com>
* src/nautilus-share.c (property_page_commit): Check that the
folder we are trying to share has enough "other" permissions.
Fixes https://bugzilla.novell.com/show_bug.cgi?id=149615
(check_sharing_permissions): New function.
* src/shares.c (net_usershare_run): Return an error when our
spawned command exits with a signal; we were returning success in
this case with an empty GKeyFile, which the caller doesn't like.
2006-02-06 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (net_usershare_run): Oops, fix a printf format.
Fixes https://bugzilla.novell.com/show_bug.cgi?id=147065
2006-01-26 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (net_usershare_run): Oops, don't propagate an error
when there wasn't one.
* interfaces/share-dialog.glade.in: Turn on word wrapping in the
label_status widget; make it left-justified, and selectable.
* src/nautilus-share.c (property_page_commit): Return a boolean
success code.
(button_apply_clicked_cb): Don't close the standalone window if we
fail to commit the page. This lets the user see the error message.
2006-01-19 Federico Mena Quintero <federico@ximian.com>
* src/shares.c: Add a bunch of debug logging code, enabled with
#ifdef VERBOSE.
* src/nautilus-share.c (share_this_folder_callback): Set the
page->standalone_window.
(PropertyPage): Add a standalone_window field.
(button_apply_clicked_cb): Destroy the standalone_window if we
have it.
(property_page_commit): Oops, pass a NULL ShareInfo to
shares_modify_share() if we want to remove a share.
2006-01-19 Federico Mena Quintero <federico@ximian.com>
Finish the code for "net usershare add -l". This makes "net
usershare" print back the info for the modified share; we use this
possibly-modified info to synchronize our view of the available
shares, since it is the canonical info, instead of assuming that
what we passed to "net usershare" is the canonical info.
* src/shares.c (replace_shares_from_key_file): New function; takes
a GKeyFile and replaces the corresponding ShareInfo structures in
our hashes.
(refresh_shares): Simply use replace_shares_from_key_file(). Free
the goddamn key_file; we were leaking it.
(add_key_group_to_hashes): Remove old ShareInfo structures from
the hashes if they have the same share name or path as the ones
that come in the key file group.
(add_share): Use replace_shares_from_key_file(), since we use "net
usershare -l" now to get back the modified share info.
* src/nautilus-share.c (property_page_check_sensitivity): If
"share this folder" is enabled, also enable the apply button if
the folder was not initially shared (i.e. enable it not only if
the rest of the property page is dirty).
2006-01-19 Federico Mena Quintero <federico@ximian.com>
Fine-tune the explicit-apply code.
* src/nautilus-share.c (create_property_page): Turn on underlining
in the apply button label, and set its image explicitly.
(nautilus_share_get_file_items): make the context menu item be
"Sharing Options" instead of just "Share".
(create_property_page): Oops, restore the "toggled" callback for
the share/don't whare checkbutton.
(on_checkbutton_share_folder_toggled): Simply call
property_page_set_sensitivity(); remove the instant-apply code.
(left_share_comment_text_entry): Removed unused function.
(modify_share_comment_text_entry): Removed unused function.
(modify_share_name_text_entry): Removed the instant-apply code.
(left_share_name_text_entry): Removed unused function.
(on_checkbutton_share_rw_ro_toggled): Removed unused function.
(create_property_page): Removed the instant-apply code.
(PropertyPage): Add a was_initially_shared field. We use this to
know when to enable/disable the apply button. Add an is_dirty
field to know when the other fields have changed.
(create_property_page): Set page->was_initially_shared
appropriately.
(modify_share_name_text_entry): Turn on page->is_dirty and call
property_page_check_sensitivity().
(modify_share_comment_text_entry): Likewise.
(on_checkbutton_rw_ro_toggled): Likewise; in addition, call
property_page_check_sensitivity().
(property_page_set_controls_sensitivity): Renamed from
property_page_set_sensitivity().
(property_page_check_sensitivity): New function; sets the
sensitivity of *all* the widgets based on the state of the
property page.
(on_checkbutton_share_folder_toggled): Simply use
property_page_check_sensitivity().
2006-01-19 Federico Mena Quintero <federico@ximian.com>
* debug-net-usershare (add_share): Add a want_echo argument.
(toplevel): if the user specifies "add -l", pass want_echo=True to
add_share().
(add_share): Make the sharename lowercase, like "net usershare" does.
(delete_share): Likewise.
* src/nautilus-share.c (create_property_page): Set the label of
the apply button as appropriate: "Create Share" / "Modify Share".
* interfaces/share-dialog.glade.in: Oops, show the Cancel dialog
by default; we'll hide it in the code as appropriate. Fix the
capitalization of all the labels.
2006-01-18 Federico Mena Quintero <federico@ximian.com>
Make the standalone dialog and the property page explicit-apply
instead of instant-apply.
* interfaces/share-dialog.glade.in: Make the bottom separator
invisible. Change the button's label to "Write changes to share";
add a Cancel button for use with the standalone dialog. Add
underlined mnemonics.
* src/shares.c (add_share): Use "net usershare add -l" to have it
print back the canonicalized info for the share.
(add_key_group_to_hashes): Use add_share_info_to_hashes() instead
of adding the ShareInfo by hand.
* src/nautilus-share.c (get_share_info_for_file_info): Do not
assert that the share_info we get back exist; there's a race
condition in that the share could be removed between the time the
caller learns about it and the time we query for it.
(PropertyPage): Added fields for button_cancel and button_apply.
(create_property_page): Load the "button_cancel" and
"button_apply" widgets.
(create_property_page): Do not connect to "toggled" on the check
buttons; this won't be instant-apply. Do not connect to "changed"
on the comment entry.
(on_checkbutton_share_rw_ro_toggled): #if-ed out
(on_checkbutton_share_folder_toggled): #if-ed out
(nautilus_share_get_property_pages): Hide the Cancel button.
(button_callback): Removed.
(share_this_folder_callback): Connect to the Cancel button so that
it destroys the standalone sharing window.
(create_property_page): Connect to button_apply.
(button_apply_clicked_cb): New callback; just commits the property
page.
2006-01-18 Federico Mena Quintero <federico@ximian.com>
* src/nautilus-share.c (NETWORK_SHARE_PREFIX): Ahem, I missed one
slash in "network:///".
(get_share_info_for_file_info): New function. This is intended to
be the master "is this NautilusFileInfo worthy of consideration" function.
(file_get_share_status_file): Simply use
get_share_info_for_file_info() and get_share_status_and_free_share_info().
(nautilus_share_get_property_pages): Use
get_share_info_for_file_info() instead of duplicating the code
that checks for shareability.
(nautilus_share_get_file_items): Likewise.
(file_get_share_status): Removed.
* src/nautilus-share.h: Removed prototype for file_get_share_status().
2006-01-18 Federico Mena Quintero <federico@ximian.com>
* src/nautilus-share.c (file_get_share_status_file): Match the
file's URI against the "network://share-" prefix from gnome-vfs's
network method, and get the info for the corresponding share name.
(get_share_status_share_name): New helper function.
(get_share_status_and_free_share_info): New helper function.
(file_get_share_status): Use get_share_status_and_free_share_info().
2006-01-17 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (refresh_shares): To list the info for all the
shares we need "net usershare info", not "net usershare list".
The latter only lists the share names.
* debug-net-usershare (command): Likewise; use "info" instead of
"list" to print the full info for all the shares.
2006-01-16 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (net_usershare_run): Use different printf
formats depending on whether we got an empty error string from
"net usershare".
* src/shares.c (DEBUG_SHARES): #undef this; the code seems to work.
* src/shares.c (net_usershare_run): Let the ret_key_file be NULL.
In that case, this won't attempt to parse the stdout of "net usershare".
(add_share): Don't expect a key file from net_usershare_run().
(modify_share): Implement in terms of remove_share() and add_share().
(remove_share): Implement in terms of "net usershare delete".
2006-01-13 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (net_usershare_run): Don't use G_SPAWN_FILE_AND_ARGV_ZERO.
(refresh_shares): g_message() if net_usershare_run() fails.
(add_share): Implement the call to net_usershare_run().
(add_share_info_to_hashes): New helper function.
(remove_share_info_from_hashes): New helper function.
2006-01-12 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (shares_get_share_info_for_path): Oops, fix the
GError assertion.
(shares_get_share_info_for_share_name): Likewise.
(add_key_group_to_hashes): Fix the sense of strcmp().
* src/shares.c (DEBUG_SHARES): Add a debugging flag so that we
call a stub program instead of "net usershare".
2006-01-12 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (add_key_group_to_hashes): New helper function to
get the share info out of a key file group.
(refresh_shares): Call net_usershare_run() to get a GKeyFile out
of "net usershare"; extract the share info groups from it.
2006-01-11 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (refresh_shares): Return a GError.
(refresh_if_needed): Likewise.
(shares_get_path_is_shared): Take a GError argument; make the
return value be a success condition.
(shares_get_share_info_for_path): Likewise.
(shares_get_share_name_exists): Likewise.
(shares_get_share_info_for_share_name): Likewise.
(shares_get_share_info_list): Likewise.
(throw_error_on_refresh): New debugging variable.
(shares_set_debug): Add an error_on_refresh argument.
(refresh_shares): Throw an error if throw_error_on_refresh is set.
(net_usershare_run): New function to run "net usershare" and parse
its output into a GKeyFile.
* src/nautilus-share.c (property_page_share_name_is_valid): Pass a
GError to the shares.h functions.
(file_get_share_status): Likewise.
(create_property_page): Likewise. Also, throw an error dialog if
we can't get the sharing info.
2006-01-10 Federico Mena Quintero <federico@ximian.com>
* src/shares.c (refresh_if_needed): New function; refreshes the
share list at a limited rate determined by an update counter and a
timestamp.
(refresh_shares): Took out of the #ifdef block along with its
helper functions.
(shares_get_path_is_shared): Call refresh_if_needed().
(shares_get_share_info_for_path): Likewise.
(shares_get_share_name_exists): Likewise.
(shares_get_share_info_for_share_name): Likewise.
(shares_modify_share): Likewise.
(shares_get_share_info_list): Likewise.
2006-01-09 Federico Mena Quintero <federico@ximian.com>
* src/shares.[ch]: New files with small API that maintains a
list of current shares and talks to Samba's utilities for
modifying user shares.
* src/nautilus-share.h: Removed the prototypes for
nautilsu_share_get_type() and nautilus_share_register_type(); they
are internal to nautilus-share.c now.
* src/nautilus-share.c: Removed the d-bus includes. Removed the
global g_dbus. Made all functions static except for the module
API. Put the unfinished share-editor stuff in an "#if 0".
(nautilus_module_initialize): Remove the d-bus initialization
code. Pass NAUTILUS_SHARE_LOCALEDIR to bindtextdomain().
(nautilus_share_get_file_items): Don't copy the file list.
Instead, ref the fileinfo; release it when the menu item gets
destroyed by using g_object_set_data_full().
(get_fullpath_from_fileinfo): Assert that the fileinfo is not
NULL.
(PropertyPage): New PropertyPage structure, it holds all the
fields for a property page (widgets, xml, etc.).
(create_property_page): Create a PropertyPage and hook it to the
appropriate widgets, so that we can keep track of them easily, and
free their memory as appropriate. Move all the widget fields from
here to that structure.
(free_property_page_cb): New callback; free the XML and other data
when the property page's main widget is destroyed.
(xml): Removed. This should not be global!
(g_sharename): Removed. This should not be global!
(create_property_page): Use g_filename_display_basename() to get
the fallback name from the path; g_path_get_basename() would give
us a string potentially not in UTF-8 encoding.
(create_property_page): Pass the PropertyPage to the callbacks,
instead of special-casing each one for strings or a file info.
Connect to "changed" on the text entries, not "focus-out-event".
(create_property_page): Connect the signal handlers *after*
setting the initial widget states so that they don't interfere
with the settings.
(create_property_page): Don't set the ->active field in toggle
buttons directly! Call gtk_toggle_button_set_active().
(create_property_page): Compute the string length from the entry
with g_utf8_strlen(); not plain strlen().
(commit_property_page): New function; take a PropertyPage and
commit its properties to the shares_*() functions.
(on_checkbutton_share_rw_ro_toggled): Use commit_property_page().
(left_share_name_text_entry): Fix the prototype; this was taking
the wrong event type. Now it gets passed a PropertyPage in the
user_data. Use commit_property_page().
(property_page_set_sensitivity): New helper function.
(on_checkbutton_share_folder_toggled): Use
property_page_set_sensitivity(). Use property_page_commit().
(property_page_set_error): Renamed from set_error(). Take a
PropertyPage rather than a widget. Take an error message; we'll
get this in the GError from the backend.
(property_page_set_warning): Renamed from set_warning(). Take a
PropertyPage rather than a widget.
(property_page_set_normal): Renamed form set_normal(). Take a
PropertyPage rather than a widget.
(validate_fields): New helper function.
(create_property_page): Connect to "changed" on the name entry
instead of "key-release-event".
(property_page_share_name_is_valid): New helper function.
(modify_share_name_text_entry): Use property_page_share_name_is_valid().
(left_share_name_text_entry): Likewise.
(modify_share_name_text_entry): New callback.
(file_get_share_status): Use the shares functions instead of the
d-bus backend.
(file_get_share_status_file): Remove redundant tests.
* src/Makefile.am (libnautilus_share_la_CFLAGS): Don't define GNOMELOCALEDIR.
* configure.in: Add "AM_GLIB_DEFINE_LOCALEDIR(NAUTILUS_SHARE_LOCALEDIR)".
* ChangeLog: Start the ChangeLog.
|